- 07 Jan, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ic5bf5682ccdb8d2fbad6bba0d7db19a4f47b62a1
-
- 06 Jan, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I007d66a1cb1b44751dcceafbaa64649ed9a34562
-
- 03 Jan, 2014 3 commits
-
-
Dmitry Kovalev authored
Adding RefBuffer to simplify reference buffer management. The struct has a pointer to image data and scale factors relative to the current frame. Change-Id: If38eb1491ff687cc11428aee339f3e052e2c5d9e
-
Dmitry Kovalev authored
Change-Id: Ifd432fa3741ba47102d298e0b348eb00f5a9ce53
-
Dmitry Kovalev authored
Change-Id: If04b57828847cee09a79c94e1098d1aa4990ea0d
-
- 27 Dec, 2013 1 commit
-
-
Jingning Han authored
This commit takes a preliminary attempt to refine the motion search control. It detects the SAD associated with mv predictor per reference frame, and based on which to determine whether the encoder wants to reduce the motion search range (if the predicted mv provides fairly small SAD), or to skip the current reference frame (if there exists another ref frame that gives much smaller SAD cost). This feature is turned on in the settings of speed 1 and above. In speed 1, compression performance changed derf -0.018% yt -0.043% hd -0.045% stdhd -0.281% speed-up pedestrian_area_1080p at 4000 kbps 100 frames 199651ms -> 188846ms (5.5% speed-up) blue_sky_1080p at 6000 kbps 443531ms -> 415239ms (6.3% speed-up) In speed 2, compression performance changed derf -0.026% yt -0.090% hd -0.055% stdhd -0.210% speed-up pedstrian 113949ms -> 108855ms (4.5% speed-up) blue_sky 271057ms -> 257322ms (5% speed-up) Change-Id: I1b74ea28278c94fea329d971d706d573983d810d
-
- 20 Dec, 2013 3 commits
-
-
Jingning Han authored
Buffer the SSE of prediction residuals in the rate-distortion optimization loop of a given block. This information would be used for later encoding control. Change-Id: If4e63f3462490513c48be9407d3327c8dd438367
-
Dmitry Kovalev authored
Moving all code from that files to vp9_mvref_common.{h, c}. Change-Id: Ibc4afcb8cea6847166ff411130e93611ebe63b20
-
Dmitry Kovalev authored
Moving back to scale_factors struct. We don't need anymore x_offset_q4 and y_offset_q4 because both values are calculated locally inside vp9_scale_mv function. Change-Id: I78a2122ba253c428a14558bda0e78ece738d2b5b
-
- 19 Dec, 2013 1 commit
-
-
Dmitry Kovalev authored
Before mv scaling it is required to calculate x_offset_q4/y_offset_q4 by calling set_scaled_offsets(). Now offset configuration can not be missed because it happens just before scale_mv(). Change-Id: I7dd1a85b85811a6cc67c46c9b01e6ccbbb06ce3a
-
- 18 Dec, 2013 1 commit
-
-
Jingning Han authored
This commit reworks the prediction filter rate-distortion cost update process consistent for all block sizes. Change-Id: I5874349ab38df380240f96c2d4ef924072bab68d
-
- 17 Dec, 2013 1 commit
-
-
Deb Mukherjee authored
Various cleanups and refactoring. Removes feedback of active worst qaulity and uses last_q instead to make the interface cleaner. Active worst quality is now decided only once for a frame being coded in the beginning based on last_q and other stats. Also, adds other cleaups on last_q to store also the last_q for altref frames, and reduces the altref interval a little. The output does change a little. derfraw300: +0.224% (global psnr) stdhdraw250: +0.442% (global psnr) Change-Id: Ie634cdc032697044c472dd0fe79c109b3e7f9767
-
- 16 Dec, 2013 2 commits
-
-
Jingning Han authored
Properly handle the rd_filter_cache update, when early termination or skip prediction filter type check is triggered. Change-Id: Ie7b9a75fed3358f45ffd15817f2b36670c14eb2d
-
hkuang authored
Change-Id: Id677df4d3dbbed6fdf7319ca6464f19cf32c8176
-
- 14 Dec, 2013 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I068345f722a7116e3119927295ad23a28d3066a0
-
- 13 Dec, 2013 4 commits
-
-
Dmitry Kovalev authored
Change-Id: I8b81a3e4b4fa530a654c28d9c136afa0c1d379fd
-
Jingning Han authored
Change-Id: I44513b9db6d42e2c52723e1a429f06a93d300c8b
-
James Zern authored
string literal to int within an assert Change-Id: I0c889256b67a078e6e2a79577f0b7ae084243258
-
Jingning Han authored
This commit enables an adaptive prediction filter type selection for sub8x8 block sizes. In speed 1, it re-uses the filter type of collocated 8x8 block if it is tested in the rate-distortion optimization loop, for the sub8x8 blocks. Otherwise, it runs the normal test over all the three filter types. In speed 2, it re-uses the 8x8 block's prediction filter type, if available. Otherwise, force it to be EIGHTTAP. Compression and speed performance wise: speed 1 derf -0.266% yt -0.138% bus at 2000 kbps: 33766ms -> 30451ms (10% speed-up) football at 600 kbps: 48173ms -> 43786ms (9% speed-up) speed 2 derf -0.026% yt +0.134% bus at 2000 kbps: 18973ms -> 17698ms (6% speed-up) football at 600 kbps: 26748ms -> 25096ms (6% speed-up) Change-Id: I77e097533b969fd3472147225fa79fc98095d342
-
- 11 Dec, 2013 3 commits
-
-
Jingning Han authored
This function sets the motion search range limit. Rename it to be more informative. Change-Id: I2e8e01073dcb99c9bea9c9acd0a61d672d615444
-
Jingning Han authored
This commit constrains the maximal motion search range for sub8x8 blocks to be [-1023, 1023], in the unit of full pixel. Change-Id: I955b60649364ab410f2453cafd46a496f2fcb43e
-
Dmitry Kovalev authored
Replacing if-else with switch statement, reordering function arguments. Change-Id: I4825d2ef311ba8999b6d4ceb0eef003587a13434
-
- 10 Dec, 2013 1 commit
-
-
Dmitry Kovalev authored
Renames: vp9_get_pred_context_mbskip => vp9_get_skip_context vp9_get_pred_prob_mbskip => vp9_get_skip_prob Change-Id: I2af499848ef73f3f5cd8cdb27852d0bcdfe31d09
-
- 09 Dec, 2013 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I83ffed2b1878a35ac35f07f9ee74309adc9c7b11
-
Dmitry Kovalev authored
Adding get_uv_tx_size_impl() with tx size selection logic, rewriting get_uv_tx_size(). Change-Id: I3ecb108059a41be227a8c89a0710bd174f508951
-
- 07 Dec, 2013 1 commit
-
-
Alex Converse authored
Change-Id: I0953a3b28758811f9d6a85787850e77592bd7670
-
- 06 Dec, 2013 5 commits
-
-
Dmitry Kovalev authored
Change-Id: I8ab9bbe2595ed1743f35223b6a6ce6d023b9a20e
-
Dmitry Kovalev authored
Renames: vp9_get_pred_context_comp_inter_inter => vp9_get_reference_mode_context vp9_get_pred_prob_comp_inter_inter => vp9_get_reference_mode_prob Change-Id: I3bbb69481e6b0c848028667c9269f567f293d3bd
-
Dmitry Kovalev authored
Change-Id: Ic3bb862e93aedf6a489a33ea6f7e5097d96855ee
-
Dmitry Kovalev authored
Also adding BAND_COEFF_CONTEXTS macro to simplify for loop logic. Change-Id: I12a78a49cf1addf81e6b3fe2a3736ec2b79bd79e
-
Dmitry Kovalev authored
Renaming: vp9_get_pred_context_intra_inter => vp9_get_intra_inter_context vp9_get_pred_prob_intra_inter => vp9_get_intra_inter_prob Change-Id: I2c1affea2e84f4e616137c6df82adb11c7845781
-
- 05 Dec, 2013 1 commit
-
-
Jingning Han authored
Both single frame and compound inter motion search run with luma component only. Hence removing the block size mapping therein. Change-Id: I217488e702432ae9fa0e95bf6f516ebb36b5c79b
-
- 04 Dec, 2013 2 commits
-
-
Dmitry Kovalev authored
In the decoder we don't need to save eobs, we can pass eob as an argument. That's why removing eob arrays from VP9Decompressor and TileWorkerData, and moving eob pointer from macroblockd_plane to macroblock_plane. Change-Id: I8eb919acc837acfb3abdd8319af63d1bbca8217a
-
Dmitry Kovalev authored
Renaming constants for consistency: DCT_VAL_CATEGORY1 => CATEGORY1_TOKEN DCT_VAL_CATEGORY2 => CATEGORY2_TOKEN DCT_VAL_CATEGORY3 => CATEGORY3_TOKEN DCT_VAL_CATEGORY4 => CATEGORY4_TOKEN DCT_VAL_CATEGORY5 => CATEGORY5_TOKEN DCT_VAL_CATEGORY6 => CATEGORY6_TOKEN DCT_EOB_TOKEN => EOB_TOKEN DCT_EOB_MODEL_TOKEN => EOB_MODEL_TOKEN MAX_ENTROPY_TOKENS => ENTROPY_TOKENS Moving constants: INTER_MODE_CONTEXTS from vp9_entropy.h to vp9_blockd.h. EOSB_TOKEN from vp9_entropy.h to vp9_tokenize.h Change-Id: I5fcbf081318e1d365792b6d290a930c6cb0f3fc2
-
- 03 Dec, 2013 2 commits
-
-
Alex Converse authored
Its last remaining caller can be passed its results directly without any additional work. Also, it's not non-4:2:0 safe. Change-Id: Ia5089ba5f7f66c7617270483c619c9271aefd868
-
Jingning Han authored
This commit fixes the use of uv_intra_estimate by properly restoring the mode_info struct required by rd_pick_intra_sbuv_mode. Change-Id: I6a156d79533c4e2e60dfd3b8c5bb0a42a8eca280
-
- 27 Nov, 2013 3 commits
-
-
Dmitry Kovalev authored
Change-Id: I5a5888d4639cc6b7eb266be47581dd15ba08c91e
-
Dmitry Kovalev authored
We only need qcoeff buffers in the encoder. Reducing TileWorkerData struct and VP9Decompressor struct sizes by 24K. Change-Id: Id148868461f7ffa3d3dd634b371503ae9c57e207
-
Yaowu Xu authored
Change-Id: Iae16644faeed920e69cd5d1db71e2e1e4bda241c
-
- 26 Nov, 2013 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I248ccb1532e2cd95314d0b95108f2c2e71cf084f
-