summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2013-12-09Merge "Cleaning up vp9_get_pred_context_switchable_interp() functuion."Dmitry Kovalev
2013-12-09Merge "Implenment on demand border extension. In place extend the border ↵hkuang
now. Next commit will totally remove the border."
2013-12-09Cleaning up vp9_get_pred_context_switchable_interp() functuion.Dmitry Kovalev
Change-Id: I67a45a41312ca0efd8fe00ccd8bdc0f97675d09f
2013-12-09Implenment on demand border extension. In place extendhkuang
the border now. Next commit will totally remove the border. Change-Id: Ic1e1ca9cc34f81c688715b3948689b47df63a151
2013-12-09Merge "Full range motion search for regular block sizes"Jingning Han
2013-12-09Merge "Renaming vp9_get_pred_context_tx_size() function."Dmitry Kovalev
2013-12-09Removing max_uv_txsize_lookup lookup table.Dmitry Kovalev
Adding get_uv_tx_size_impl() with tx size selection logic, rewriting get_uv_tx_size(). Change-Id: I3ecb108059a41be227a8c89a0710bd174f508951
2013-12-07Merge "Removing BLOCK_TYPES and adding PLANE_TYPES constant instead."Dmitry Kovalev
2013-12-06Renaming vp9_get_pred_context_tx_size() function.Dmitry Kovalev
Change-Id: Ia6d6f4dfb1fd1ec0f8ba53796b59a802e9d7881d
2013-12-06Merge "Renaming reference mode context calculation function."Dmitry Kovalev
2013-12-06Full range motion search for regular block sizesJingning Han
Add a full range motion search for regular block sizes. This runs exhaustive search within the given reference area. This commit further optimizes the search process by combining 4 points test into one pipeline, which gives 30% speed-up as compared to run each individual point at a time. This full range search serves as a best possible motion search reference. When replacing the diamond search with full range search, the speed 0 runtime of bus CIF at 2000 kbps goes from 153872ms to 623051ms. The compression performance compared to speed 0 setting gains 0.585% for derf set. Change-Id: Ieef1225216b0b86b4ac4872fa7fb9e18bf2eabb3
2013-12-06Merge "Removing duplicated C code from vp9_loopfilter_filters.c file."Dmitry Kovalev
2013-12-06Renaming reference mode context calculation function.Dmitry Kovalev
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
2013-12-06Removing BLOCK_TYPES and adding PLANE_TYPES constant instead.Dmitry Kovalev
Change-Id: Ic3bb862e93aedf6a489a33ea6f7e5097d96855ee
2013-12-06Merge "Moving vp9_tree_probs_from_distribution() to encoder."Dmitry Kovalev
2013-12-06Merge "Renaming constants."Dmitry Kovalev
2013-12-06Merge "vp9_get_pred_context_intra_inter() clean up."Dmitry Kovalev
2013-12-06Merge "Remove redundant calls to vp9_update_mode_info_border"Adrian Grange
2013-12-05Moving vp9_tree_probs_from_distribution() to encoder.Dmitry Kovalev
Writing custom coeff branch count calculation (which is much clearer) in adapt_coef_probs() function. Removing vp9_treecoder.c file. Change-Id: I8880fb7a39996c8bcf6cd0acf9898a8c712ba91f
2013-12-05Renaming PREV_COEF_CONTEXTS to COEFF_CONTEXTS.Dmitry Kovalev
Also adding BAND_COEFF_CONTEXTS macro to simplify for loop logic. Change-Id: I12a78a49cf1addf81e6b3fe2a3736ec2b79bd79e
2013-12-05vp9_get_pred_context_intra_inter() clean up.Dmitry Kovalev
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
2013-12-05Merge "Removing vp9_default_coef_probs.h file."Dmitry Kovalev
2013-12-05Renaming constants.Dmitry Kovalev
NUM_YV12_BUFFERS => FRAME_BUFFERS ALLOWED_REFS_PER_FRAME => REFS_PER_FRAME NUM_REF_FRAMES_LOG2 => REF_FRAMES_LOG2 NUM_REF_FRAMES => REF_FRAMES NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2 NUM_FRAME_CONTEXTS => FRAME_CONTEXTS Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
2013-12-05Removing duplicated C code from vp9_loopfilter_filters.c file.Dmitry Kovalev
Change-Id: I299b621fca1c8ff5d296afde9698cdcccfecaf3f
2013-12-05Remove redundant calls to vp9_update_mode_info_borderAdrian Grange
Removed calls to vp9_update_mode_info_border since they immediately followed code that initialized the entire buffer to 0. Change-Id: Ife06794daa20439a0b607a83a87f88df59afac40
2013-12-05Merge "Cleaning up vp9_get_pred_context_tx_size() function."Dmitry Kovalev
2013-12-04Fix ref count decrement code.Frank Galligan
Buffer 0 would never be decremented, so it could only be used once. Change-Id: I605d99fa2a513eadae6a0e230161729880653282
2013-12-04Cleaning up vp9_get_pred_context_tx_size() function.Dmitry Kovalev
Change-Id: Ia6ef876e3d1e66b2182a9c0bce3fd758691cd381
2013-12-04Moving vp9_token from common to encoder.Dmitry Kovalev
Change-Id: I40a070c353663e82c59e174d7c92eb84f72ed808
2013-12-04Merge "Fix the initial references to frame buffers."Frank Galligan
2013-12-04Removing vp9_default_coef_probs.h file.Dmitry Kovalev
Moving all probability tables from removed file to vp9_entropy.c. Change-Id: I12846f1da778c3016d96b82e53384d4634883430
2013-12-04Merge "Cleaning up vp9_dec_build_inter_predictors_sb function."Dmitry Kovalev
2013-12-04Fix the initial references to frame buffers.Frank Galligan
The old code would start in a mixed state, where all the reference frames were pointing to frame buffer 0, but the reference counts were 0. This is why we needed special code for the first frame. Change-Id: I734961012917654ff8c0c8b317aac00ab75ded1a
2013-12-04Merge "Cleaning up vp9_entropy.h file."Dmitry Kovalev
2013-12-04Compact formatting default_coef_probs_{4x4, 8x8, 16x16, 32x32}.Dmitry Kovalev
Change-Id: If40b930431766d5179b9769509b5e4ca1628e9cc
2013-12-04Merge "Formatting vp9_pareto8_full array."Dmitry Kovalev
2013-12-04Cleaning up vp9_dec_build_inter_predictors_sb function.Dmitry Kovalev
Using get_plane_block_size() instead of manipulation with subsampling values, calculating all required values only once without redundant calls to b_width_log2(). Change-Id: I00303f2a0926f9c4cb17f34591adda60615f8919
2013-12-04Revert "Simplify mask checking in loop filters"Yunqing Wang
Jingning saw bitstream change with this patch. It could be true that (mask_16x16_0 & 1) is 1, but (mask_16x16_1 & 1) is 0 in some edge cases. This reverts commit 8f05e70340533b9922be5b1c97c37e50607fd862. Change-Id: I0a529435ce816a1e14653eb510d5090de276070a
2013-12-04Merge "Moving eob array to the encoder."Dmitry Kovalev
2013-12-04Merge "Improve idct16x16: _256_add_sse2(x1.107)&_10_add_sse2(x1.012)"Yunqing Wang
2013-12-03Formatting vp9_pareto8_full array.Dmitry Kovalev
Change-Id: Ic7f47a8d233daf5e61e82092865837ea4eda4095
2013-12-03Moving eob array to the encoder.Dmitry Kovalev
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
2013-12-03Cleaning up vp9_entropy.h file.Dmitry Kovalev
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
2013-12-03Merge "Removing dummy assignments."Dmitry Kovalev
2013-12-02Improve idct16x16: _256_add_sse2(x1.107)&_10_add_sse2(x1.012)Abo Talib Mahfoodh
The performance gain of idct16x16_10_add_sse2 function is not noticeable. However since both functions use the IDCT16_1D, idct16x16_10_add_sse2 should be modified as well. Tested with: park_joy_420_720p50.y4m Change-Id: I02b957e36fcf997c677d15baf496533895271bff
2013-12-02Merge "improve vp9_idct32x32_34(x1.472)&1024(x1.032)_add_sse2"Yunqing Wang
2013-12-02Merge "Simplify mask checking in loop filters"Yunqing Wang
2013-12-02Merge "Moving token-encoding related stuff from common to encoder."Dmitry Kovalev
2013-11-27Simplify mask checking in loop filtersYunqing Wang
Considering a horizontal edge, if mask_16x16 is 1 for an even- indexed 8x8 block, then mask_16x16 is 1 for next 8x8 block in same row. Similiar to a verticle edge, if mask_16x16 is 1 for an even-rowed 8x8 block, then mask_16x16 is 1 for the 8x8 block right below it in next raw. Based on that, the mask_16x16 checking can be simplified to save cycles. The corresponding 8-pixel vp9_mb_lpf_horizontal_edge code can also be removed. Change-Id: Ic3fe7a5674322239208cbe2731dc3216ce2084f3
2013-11-27Moving reaster_block_offset{,_int16} from vp9_blockd.h to vp9_rdopt.h.Dmitry Kovalev
Change-Id: I5a5888d4639cc6b7eb266be47581dd15ba08c91e