Johann [Fri, 2 Aug 2013 18:28:31 +0000 (11:28 -0700)]
Merge "vp9: neon: convolve: replace some insns with simpler equivalents"
Johann [Fri, 2 Aug 2013 18:28:25 +0000 (11:28 -0700)]
Merge "vp9: neon: convolve: simplify branching to C fallbacks"
Johann [Fri, 2 Aug 2013 18:28:04 +0000 (11:28 -0700)]
Merge "vp9: neon: optimise loads in horiz convolve functions"
Johann [Fri, 2 Aug 2013 18:27:52 +0000 (11:27 -0700)]
Merge "vp9: neon: add vp9_mb_lpf_* functions"
Dmitry Kovalev [Fri, 2 Aug 2013 17:48:27 +0000 (10:48 -0700)]
Replacing long block size enum values with shorter ones.
Change-Id: I0e9329490828684a4fd46f540d89114cc68e8407
Yunqing Wang [Fri, 2 Aug 2013 16:58:46 +0000 (09:58 -0700)]
Merge "Comment out 2 unused speed features"
Mans Rullgard [Tue, 30 Jul 2013 17:08:17 +0000 (18:08 +0100)]
vp9: neon: convolve: replace some insns with simpler equivalents
Change-Id: I5d6906772e6e6adf68d7f0fd5b8b5207a64a3a37
Mans Rullgard [Tue, 30 Jul 2013 16:33:52 +0000 (17:33 +0100)]
vp9: neon: convolve: simplify branching to C fallbacks
Change-Id: Ic7cacd02d6dc9243ad8fc85082c5618a9d1e66dc
Mans Rullgard [Tue, 30 Jul 2013 17:11:06 +0000 (18:11 +0100)]
vp9: neon: optimise loads in horiz convolve functions
Loading to single lanes in multiple registers is expensive since
it requires a read and write of each register which saturates
the register file access. Loading to single registers followed
by a separate transpose reduces this pressure.
Change-Id: I4cc35887ddbca80e5e635b50d2b1d158de9668ee
Mans Rullgard [Thu, 4 Jul 2013 18:58:41 +0000 (14:58 -0400)]
vp9: neon: add vp9_mb_lpf_* functions
Change-Id: I13e0880df234f15abc4cc7c57fe84488d5d46a75
Dmitry Kovalev [Fri, 2 Aug 2013 06:17:17 +0000 (23:17 -0700)]
Merge "Cleanup: replacing xd->seg with seg, and xd->lf with lf."
Dmitry Kovalev [Fri, 2 Aug 2013 06:16:56 +0000 (23:16 -0700)]
Merge "Cleanup: reusing clamp_mv function."
Jingning Han [Thu, 1 Aug 2013 22:41:35 +0000 (15:41 -0700)]
Merge "Remove unused vp9_short_idct10_32x32_add"
Dmitry Kovalev [Thu, 1 Aug 2013 21:53:14 +0000 (14:53 -0700)]
Cleanup: replacing xd->seg with seg, and xd->lf with lf.
Change-Id: I73b59d7699a8e7e7acd3bf8041cb6c98ce9ba4bf
Dmitry Kovalev [Thu, 1 Aug 2013 22:07:12 +0000 (15:07 -0700)]
Merge "Cleanup: removing unused function arguments."
Dmitry Kovalev [Thu, 1 Aug 2013 22:06:34 +0000 (15:06 -0700)]
Cleanup: reusing clamp_mv function.
Change-Id: I8715f08a3554bdb557c5f935f1dfbd671f18e766
Dmitry Kovalev [Thu, 1 Aug 2013 21:50:14 +0000 (14:50 -0700)]
Merge "Nice looking motion vector clamping functions."
Deb Mukherjee [Thu, 1 Aug 2013 21:18:43 +0000 (14:18 -0700)]
Merge "Adds a source variance computation function"
Dmitry Kovalev [Thu, 1 Aug 2013 21:15:53 +0000 (14:15 -0700)]
Merge "vp9_get_pred_context_intra_inter cleanup."
Dmitry Kovalev [Wed, 31 Jul 2013 23:59:15 +0000 (16:59 -0700)]
Cleanup: removing unused function arguments.
Change-Id: I27471768980fc631916069f24bc7c482a5c9ca17
Dmitry Kovalev [Wed, 31 Jul 2013 23:11:03 +0000 (16:11 -0700)]
Nice looking motion vector clamping functions.
Removing assign_and_clamp_mv function, making implementation of clamp_mv
and clamp_mv2 more clear and consistent.
Change-Id: Iecd08e1c1bf0379f8314ebe01811f8253f4ade58
Deb Mukherjee [Thu, 1 Aug 2013 19:56:12 +0000 (12:56 -0700)]
Adds a source variance computation function
Adds a function to compute source variance for various
sb_types to be used for pruning mode and partition searches.
[The existing activity measure function is currently specialized
for only 16x16 MBs and needs to be updated].
Change-Id: I22a41e6f1430184201487326fdbebb9b47e6fc24
Jingning Han [Thu, 1 Aug 2013 19:45:16 +0000 (12:45 -0700)]
Remove unused vp9_short_idct10_32x32_add
The inverse 32x32 transform detects all zero entries and skips the
computations accordingly per 8 rows in the first 1-D operation. The
function vp9_short_idct10_32x32_add performs differently and is not
used anywhere, hence removed.
Change-Id: Ic4fad422debbde7b6b6ffed47c69fbd4268a906c
Jingning Han [Thu, 1 Aug 2013 18:53:39 +0000 (11:53 -0700)]
Merge "Optimize 32x32 2D inverse DCT for speed-up"
Yunqing Wang [Thu, 1 Aug 2013 18:03:34 +0000 (11:03 -0700)]
Comment out 2 unused speed features
use_min_partition_size and use_max_partition_size are not used
currently, and could be added back if needed later.
Change-Id: Ib22a9c06b064567a7c1d6d5445567ed77e0d3acc
Dmitry Kovalev [Thu, 1 Aug 2013 17:19:51 +0000 (10:19 -0700)]
Merge "Adding missing const to vp9_extra_bits array."
Dmitry Kovalev [Thu, 1 Aug 2013 01:51:18 +0000 (18:51 -0700)]
Adding missing const to vp9_extra_bits array.
Change-Id: Icd128ab58719e0b9066bdfa66a5d0d427a84d6df
Dmitry Kovalev [Thu, 1 Aug 2013 01:33:04 +0000 (18:33 -0700)]
vp9_get_pred_context_intra_inter cleanup.
Change-Id: I8beeee4c020425175f7d5ec83be86afa7b95da1a
Jingning Han [Wed, 31 Jul 2013 23:50:34 +0000 (16:50 -0700)]
Optimize 32x32 2D inverse DCT for speed-up
This commit exploits the sparsity of quantized coefficient matrix.
It detects each 32x8 array and skip the corresponding inverse
transformation if all entries are zero.
For ped1080p at 8000 kbps, this on average reduces the runtime of
32x32 inverse 2D-DCT SSE2 function from 6256 cycles -> 5200
cycles. It makes the overall encoding process about 2% faster at
speed 0. The speed-up is more pronounceable for the decoding process.
Change-Id: If20056c3566bd117642a76f8884c83e8bc8efbcf
Jingning Han [Thu, 1 Aug 2013 00:02:06 +0000 (17:02 -0700)]
Remove unnecessary arguments in rd_pick_ref_frame
This commit removes redundant arguments passing in the function of
rd_pick_reference_frame. This resolves the clang warnings about
potential use of uninitialized values.
Change-Id: Ic68f949a9f8fcd0a583786b0c75321104ea44739
Dmitry Kovalev [Wed, 31 Jul 2013 22:03:36 +0000 (15:03 -0700)]
vp9_decodemv.c cleanup.
Inlining VP9_NMV_UPDATE_PROB constant, consistent local variable names.
Change-Id: I01692501982568fa535882d6b320e3c692f88abb
Dmitry Kovalev [Wed, 31 Jul 2013 18:58:00 +0000 (11:58 -0700)]
Removing get_mi_{row, col} functions.
Passing mi_row and mi_col parameters to functions explicitly. Removing
unused xd argument from scale_mv function.
Change-Id: Icb4c495ec72d26fb066c14470d3ae0b741fbf18a
Dmitry Kovalev [Wed, 31 Jul 2013 19:03:04 +0000 (12:03 -0700)]
Merge "Removing unused "ishp" arguments."
Dmitry Kovalev [Wed, 31 Jul 2013 19:02:35 +0000 (12:02 -0700)]
Merge "Consistent update for inter_mode probabilities."
Dmitry Kovalev [Wed, 31 Jul 2013 18:27:53 +0000 (11:27 -0700)]
Removing unused "ishp" arguments.
Using different variable names "allow_hp" and "use_hp" instead of "usehp".
Change-Id: I0cd5996ddeb46bd754473b680a993c0aaf8eb879
Jingning Han [Wed, 31 Jul 2013 16:11:37 +0000 (09:11 -0700)]
Merge "Make the use of ref_frame index consistent"
Jingning Han [Tue, 30 Jul 2013 22:47:12 +0000 (15:47 -0700)]
Make the use of ref_frame index consistent
Refactor the frame buffer referencing in choose_partition and make
it consistent with other places. This means to prevent potential
issues when we extend reference frame buffer.
Change-Id: I5ff33ed5f671e1f4cc7049622212769a9b4578d9
Dmitry Kovalev [Wed, 31 Jul 2013 01:06:34 +0000 (18:06 -0700)]
Consistent update for inter_mode probabilities.
Using inter-mode counts instead of inter-mode-tree branch counts inside
FRAME_COUNTS structure.
Change-Id: I60dde13af37d06146d7d15543311c1b5044e9e04
Adrian Grange [Tue, 30 Jul 2013 20:01:14 +0000 (13:01 -0700)]
Merge "Cleanup: remove two stray '+', fix typos."
Adrian Grange [Tue, 30 Jul 2013 19:59:46 +0000 (12:59 -0700)]
Merge "Cleanup typos, remove unnecessary lines, replace switch"
Adrian Grange [Tue, 30 Jul 2013 17:47:46 +0000 (10:47 -0700)]
Cleanup: remove two stray '+', fix typos.
Change-Id: I9c30e3dbedabe4942439a0ee2f691fb9a04cd03b
Adrian Grange [Tue, 30 Jul 2013 17:16:03 +0000 (10:16 -0700)]
Cleanup typos, remove unnecessary lines, replace switch
Removed unnecessary code lines, replaced switch with an if,
fixed spelling errors and formatting.
Change-Id: Ie48aa4604aa0ed48362ca359d792fb21b2ec1dc6
Yaowu Xu [Tue, 30 Jul 2013 16:38:02 +0000 (09:38 -0700)]
Merge "removed duplication"
Yaowu Xu [Tue, 30 Jul 2013 16:09:14 +0000 (09:09 -0700)]
removed duplication
Change-Id: Ica23b66f6664e5a5b168499584f0afffbc54794f
Jingning Han [Tue, 30 Jul 2013 00:06:18 +0000 (17:06 -0700)]
Remove a redundant branching in tokenize_b
The tokenize_b function is only called when output flag is on. Hence
removing the conditional branch on it therein.
Change-Id: Ib709f47f23f39ca05a695faf86fa3377f11f2dd0
Jingning Han [Mon, 29 Jul 2013 23:03:02 +0000 (16:03 -0700)]
Tune tokenization/detokenization flow for speed-up
This commit optimizes the tokenization and detokenization operational
flow for speed-up. It makes the coding process about 0.3% faster at
speed 0.
Change-Id: I28008df7482874e4b5f237f2d418ff82a249dd56
Jingning Han [Mon, 29 Jul 2013 21:54:31 +0000 (14:54 -0700)]
Skip redundant tokenization in rd loop
This commit makes the encoder skip the redundant tokenization process
in the rate-distortion optimization search loop, while updating the
entropy contexts accordingly. It makes the speed 0 encoding process
about 0.5% faster at no performance change.
Change-Id: I34a4155a0b5332afeb45c93a51c7f35a294d685c
Jingning Han [Mon, 29 Jul 2013 22:29:25 +0000 (15:29 -0700)]
Merge "16x16 inverse 2D-DCT with DC only"
John Koleszar [Mon, 29 Jul 2013 22:09:15 +0000 (15:09 -0700)]
Merge "Remove unnecessary 64 byte alignment"
Jingning Han [Mon, 29 Jul 2013 20:55:22 +0000 (13:55 -0700)]
16x16 inverse 2D-DCT with DC only
This commit provides special handle on 16x16 inverse 2D-DCT, where
only DC coefficient is quantized to be non-zero value.
Change-Id: I7bf71be7fa13384fab453dc8742b5b50e77a277c
Dmitry Kovalev [Mon, 29 Jul 2013 21:35:55 +0000 (14:35 -0700)]
Renaming txfm to tx for consistency in some places.
Change-Id: I2a6a646570e2af66315e7c658d00d99f80c4b127
John Koleszar [Mon, 29 Jul 2013 21:02:02 +0000 (14:02 -0700)]
Remove unnecessary 64 byte alignment
Fixes a warning on MSVS 2012 where the alignment of vp9_default_iscan_8x8
didn't match between its declaration and definition.
Change-Id: I1466a15635f4b22594d705d570b7e399bfb6cf21
Dmitry Kovalev [Mon, 29 Jul 2013 20:38:40 +0000 (13:38 -0700)]
Renaming NB_TXFM_MODES constant to TX_MODES.
Change-Id: I10bf06e3a3d5271221ae6a42a36074d01d493039
Dmitry Kovalev [Sat, 27 Jul 2013 00:15:37 +0000 (17:15 -0700)]
Renaming TX_SIZE_MAX_SB to TX_SIZES.
Change-Id: I6aa4191935aa93461a07c41b59fdae1eb5f5f107
Jingning Han [Mon, 29 Jul 2013 18:04:07 +0000 (11:04 -0700)]
Merge "Shortcut 8x8/16x16 inverse 2D-DCT"
Dmitry Kovalev [Sat, 27 Jul 2013 02:05:37 +0000 (19:05 -0700)]
Cleanup: replacing xd->mode_info_context with temp variable.
Change-Id: I5a3e83102784cabb918a5404405fcab99c5bb9b6
Ronald S. Bultje [Wed, 24 Jul 2013 22:13:58 +0000 (15:13 -0700)]
Inverse dimension order in token_cost array.
This allows us to increment the position at the band-level only as
we go from one band to the next; more importantly, that allows us to
use an add instead of multiply instruction, and omit the instruction
altogether if the band doesn't change from one coef to the next, thus
being slightly faster (probably more noticeable on systems where a
multiply is expensive, like arm).
Change-Id: I4343fe35b9f9a47fa00b217bdcbf5f91ff96c381
Dmitry Kovalev [Sat, 27 Jul 2013 00:24:34 +0000 (17:24 -0700)]
Merge "vp9_decodemv.c cleanup."
Ronald S. Bultje [Sat, 27 Jul 2013 00:21:09 +0000 (17:21 -0700)]
Merge "d45 intra prediction SSSE3 optimizations."
Ronald S. Bultje [Sat, 27 Jul 2013 00:20:58 +0000 (17:20 -0700)]
Merge "Save pixels instead of coefficients in intra4x4 RD loop."
Ronald S. Bultje [Sat, 27 Jul 2013 00:20:51 +0000 (17:20 -0700)]
Merge "Add best_rd breakout in intra4x4 RD loop."
Jingning Han [Sat, 27 Jul 2013 00:01:51 +0000 (17:01 -0700)]
Shortcut 8x8/16x16 inverse 2D-DCT
This commit brought back the shortcut implementation of 8x8/16x16
inverse 2D-DCT. When the eob <= 10, it skips the inverse transform
operations on row 4:7/4:15 in the first round. For bus_cif at 1000
kbps, this provides about 2% speed-up at speed 0.
Change-Id: I453e2d72956467d75be4ad8c04b4482ab889d572
Dmitry Kovalev [Fri, 26 Jul 2013 23:49:49 +0000 (16:49 -0700)]
vp9_decodemv.c cleanup.
Renaming:
read_intra_mode_info -> read_intra_frame_mode_info
read_inter_mode_info -> read_inter_frame_mode_info
read_intra_block_part -> read_intra_block_mode_info
read_inter_block_part -> read_inter_block_mode_info
read_ref_frame -> read_ref_frames
read_reference_frame -> read_is_inter_block
Using num_4x4_blocks_{wide, high}_lookup instead of bit shifts.
Change-Id: I83c81573b4ef6f53f2f8d24683895014bebfba61
Jingning Han [Fri, 26 Jul 2013 23:04:14 +0000 (16:04 -0700)]
Merge "Special handle on DC only inverse 8x8 2D-DCT"
Dmitry Kovalev [Fri, 26 Jul 2013 22:47:40 +0000 (15:47 -0700)]
Merge "Making read_inter_mode_info function more clear."
hkuang [Fri, 26 Jul 2013 22:24:28 +0000 (15:24 -0700)]
Merge "Fix some format error and code error in neon code."
Jingning Han [Fri, 26 Jul 2013 21:11:37 +0000 (14:11 -0700)]
Special handle on DC only inverse 8x8 2D-DCT
This commit enables a special handle for the 8x8 inverse 2D-DCT,
where only DC coefficient is quantized to be non-zero. For bus_cif
at 2000 kbps, it provides about 1% speed-up at speed 0.
Change-Id: I2523222359eec26b144cf8fd4c63a4ad63b1b011
hkuang [Fri, 26 Jul 2013 21:10:39 +0000 (14:10 -0700)]
Fix some format error and code error in neon code.
Change-Id: I748dee8938dfb19f417f24eed005f3d216f83a82
Dmitry Kovalev [Fri, 26 Jul 2013 20:59:39 +0000 (13:59 -0700)]
Merge "General cleanups."
Ronald S. Bultje [Wed, 24 Jul 2013 22:11:04 +0000 (15:11 -0700)]
d45 intra prediction SSSE3 optimizations.
Change-Id: Ie48035ff4f93c41f8a9b3023e6444fd10432d8fb
Yaowu Xu [Fri, 26 Jul 2013 19:10:27 +0000 (12:10 -0700)]
Merge "Auto min and max partition size experiment."
Paul Wilkins [Wed, 24 Jul 2013 13:07:37 +0000 (14:07 +0100)]
Auto min and max partition size experiment.
Speed feature experiment to set an upper and lower
partition size limit based on what has been seen
in spatial neighbors.
This seems to gives quite reasonable speed gains in local
(10-15%) and when used with speed 0 the losses are small
(0.25% derf, 0.35% stdhd). However, for now I am only
enabling it on speed 1 as there may be clashes with the existing
temporal partition selection in speed 2.
Using a tighter min / max around the range derived from the
neighbors increases speed further but at the cost of a
bigger quality loss. However, I think this spatial method could
be combined with data from either the last frame or a variance
method (or both) to refine the range of minimum and maximum
partition size. I.e. consider the min and max from spatial and
temporal neighbors and the variance recommendation.
Change-Id: I1b96bf8b84368d6aad0c7aa600fe141b4f07435f
Yunqing Wang [Fri, 26 Jul 2013 02:17:46 +0000 (19:17 -0700)]
Modify static threshold calculation
Used 3 * standard_deviation in internal threshold calculation
instead of fit curve. This actually approached the algorithm
better.
For comparison, similar tests were done:
The overall psnr loss is less than before.
1. derf set:
when static-thresh = 1, psnr loss is 0.329%;
when static-thresh = 500, psnr loss is 0.970%;
2. stdhd set:
when static-thresh = 1, psnr loss is 0.922%;
when static-thresh = 500, psnr loss is 1.307%;
Similar speedup is achieved. For example,
clip bitrate static-thresh psnr time
akiyo(cif) 500 0 48.952 5.077s(50f)
akiyo 500 500 48.866 4.169s(50f)
parkjoy(1080p) 4000 0 30.388 78.20s(30f)
parkjoy 4000 500 30.367 70.85s(30f)
sunflower(1080p) 4000 0 44.402 74.55s(30f)
sunflower 4000 500 44.414 68.69s(30f)
Change-Id: Ic78833642ce1911dbbd1cb6c899a2d7e2dfcc1f3
Dmitry Kovalev [Thu, 25 Jul 2013 22:30:18 +0000 (15:30 -0700)]
Making read_inter_mode_info function more clear.
Now read_inter_mode_info calls read_intra_block_part (renamed from
read_intra_block_modes) or read_inter_block_part (just added).
Change-Id: I541badea6b663e0ae692ec158665efb90ed20c03
Johann [Thu, 25 Jul 2013 22:10:52 +0000 (15:10 -0700)]
Merge "Add const to vp9_accum_mv_refs parameter"
Yunqing Wang [Thu, 25 Jul 2013 21:58:00 +0000 (14:58 -0700)]
Merge "Add encoding option --static-thresh"
Yunqing Wang [Thu, 11 Jul 2013 18:15:00 +0000 (11:15 -0700)]
Add encoding option --static-thresh
This option exists in VP8, and it was rewritten in VP9 to support
skipping on different partition levels. After prediction is done,
we can check if the residuals in the partition block will be all
quantized to 0. If this is true, the skip flag is set, and only
prediction data are needed in reconstruction. Based on DCT's energy
conservation property, the skipping check can be estimated in
spatial domain.
The prediction error is calculated and compared to a threshold.
The threshold is determined by the dequant values, and also
adjusted by partition sizes. To be precise, the DC and AC parts
for Y, U, and V planes are checked to decide skipping or not.
Test showed that
1. derf set:
when static-thresh = 1, psnr loss is 0.666%;
when static-thresh = 500, psnr loss is 1.162%;
2. stdhd set:
when static-thresh = 1, psnr loss is 1.249%;
when static-thresh = 500, psnr loss is 1.668%;
For different clips, encoding speedup range is between several
percentage and 20+% when static-thresh <= 500. For example,
clip bitrate static-thresh psnr time
akiyo(cif) 500 0 48.923 5.635s(50f)
akiyo 500 500 48.863 4.402s(50f)
parkjoy(1080p) 4000 0 30.380 77.54s(30f)
parkjoy 4000 500 30.384 69.59s(30f)
sunflower(1080p) 4000 0 44.461 85.2s(30f)
sunflower 4000 500 44.418 78.1s(30f)
Higher static-thresh values give larger speedup with larger
quality loss.
Change-Id: I857031ceb466ff314ab580ac5ec5d18542203c53
Johann [Thu, 25 Jul 2013 21:24:49 +0000 (14:24 -0700)]
Add const to vp9_accum_mv_refs parameter
Change-Id: I0625d8ffddf590dfecd1bb8b8d6f57ef64b8bf18
Dmitry Kovalev [Thu, 25 Jul 2013 21:13:44 +0000 (14:13 -0700)]
General cleanups.
Removing unused constants, macros, and function declarations. Using
ROUND_POWER_OF_TWO macro, vp9_zero, vp9_copy where possible. Moving
#include from *.h to *.c. Merging for loops for motion vectors.
Change-Id: Ic3bf841764a2bb177128bb3a6d7aa8f68229cd13
Dmitry Kovalev [Thu, 25 Jul 2013 20:57:28 +0000 (13:57 -0700)]
Merge "Adding lookup table for size group."
Dmitry Kovalev [Wed, 24 Jul 2013 00:57:15 +0000 (17:57 -0700)]
Adding lookup table for size group.
Change-Id: Ia6144d77ebed66e0739b62e4d673e26a95aa9550
Adrian Grange [Thu, 25 Jul 2013 19:58:38 +0000 (12:58 -0700)]
Merge "Simplify handling of sub-partition motion vectors"
Adrian Grange [Thu, 25 Jul 2013 19:57:52 +0000 (12:57 -0700)]
Merge "Use local variables rather than structure members"
Dmitry Kovalev [Thu, 25 Jul 2013 19:52:26 +0000 (12:52 -0700)]
Merge "Removing duplicated code for merging two probabilities."
Dmitry Kovalev [Thu, 25 Jul 2013 19:46:31 +0000 (12:46 -0700)]
Merge "Removing vp9_adapt_mode_context function."
Jingning Han [Thu, 25 Jul 2013 19:46:14 +0000 (12:46 -0700)]
Merge "Make coeff_optimize initialized per-plane"
Dmitry Kovalev [Thu, 25 Jul 2013 19:45:23 +0000 (12:45 -0700)]
Merge "Inlining inc_mv_component_count function."
Dmitry Kovalev [Thu, 25 Jul 2013 19:45:03 +0000 (12:45 -0700)]
Merge "Removing duplicated PREDICTION_PROBS constant."
Yaowu Xu [Thu, 25 Jul 2013 19:18:51 +0000 (12:18 -0700)]
Merge "fix a bug where flags are not reset"
Adrian Grange [Thu, 25 Jul 2013 18:19:37 +0000 (11:19 -0700)]
Simplify handling of sub-partition motion vectors
Simplified the code that extracts and uses the motion
vectors for the 4 sub-partitions in rd_pick_partition.
Change-Id: Iaf698ef7ee3aef9edd59015e1ae065dd359b17d9
James Zern [Thu, 25 Jul 2013 18:50:05 +0000 (11:50 -0700)]
Merge "msvs: Generate proper configurations for mixed platforms"
Jingning Han [Tue, 23 Jul 2013 22:53:09 +0000 (15:53 -0700)]
Make coeff_optimize initialized per-plane
This commit makes the initialization of trellis coeff optimization
a per-plane operation, thereby eliminating the redundant steps in
encode_sby and encode_sbuv. It makes the encoder at speed 0 slightly
faster.
Change-Id: Iffe9faca6a109dafc0dd69dc7273cbdec19b17cd
Dmitry Kovalev [Thu, 25 Jul 2013 18:08:21 +0000 (11:08 -0700)]
Removing duplicated PREDICTION_PROBS constant.
Already defined in vp9_seg_common.h.
Change-Id: I5a0e3fa15966b1ebeb77ccd506b55fc231c22342
Dmitry Kovalev [Wed, 24 Jul 2013 17:31:07 +0000 (10:31 -0700)]
Removing vp9_adapt_mode_context function.
Moving code from vp9_adapt_mode_context to vp9_adapt_mode_probs.
Change-Id: I60829c30b28968cd813551ef3a206dfb98d323c9
Yaowu Xu [Thu, 25 Jul 2013 17:28:38 +0000 (10:28 -0700)]
fix a bug where flags are not reset
The feature that uses small partition results as a measure to skip
mode evaluation at larger partition requires the flags to be reset.
The reset was missing in the code path that calls rd_use_partition().
Change-Id: Ia0a3a0aee1a862b6e2333d596808db7c48033d50
Jingning Han [Thu, 25 Jul 2013 15:49:37 +0000 (08:49 -0700)]
Merge "SSE2 inverse 4x4 2D-DCT with DC only"
Scott LaVarnway [Thu, 25 Jul 2013 11:47:56 +0000 (04:47 -0700)]
Merge "pack_inter_mode_mvs cleanup"
Jingning Han [Wed, 24 Jul 2013 22:41:43 +0000 (15:41 -0700)]
SSE2 inverse 4x4 2D-DCT with DC only
Add SSE2 implementation to handle the special case of inverse 2D-DCT
where only DC coefficient is non-zero.
Change-Id: I2c6a59e21e5e77b8cf39a4af5eecf4d5ade32e2f
Jingning Han [Thu, 25 Jul 2013 06:18:24 +0000 (23:18 -0700)]
Merge "Merge vp9_dc_only_idct_add and vp9_short_idct4x4_1"
Dmitry Kovalev [Thu, 25 Jul 2013 00:44:04 +0000 (17:44 -0700)]
Removing duplicated code for merging two probabilities.
Adding common merge_probs and merge_probs2 functions. Changing ints to
usigned ints in some places.
Change-Id: Icf088ffdea7cf5b95284a128916409bdd53506b0