summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_rdopt.c
AgeCommit message (Collapse)Author
2014-07-09Remove repetitive code in mcomp.cYunqing Wang
Deleted vp9_find_best_sub_pixel_comp_tree(), and combined it in vp9_find_best_sub_pixel_tree(). Change-Id: Ifb25763c8b19822df5537cc1daa76ce88dc3b056
2014-07-07Merge "Allow lossless skipping in RD mode decision."Alex Converse
2014-07-02Split vp9_rdopt into vp9_rdopt and vp9_rd.Alex Converse
vp9_rdopt is for making rd optimal mode decisions. vp9_rd is for all other rd related routines. Anything used outside of making an rd optimal decision belongs in rd. Change-Id: I772a3073f7588bdf139f551fb9810b6864d8e64b
2014-07-02Fix rd threshold overflow issueYunqing Wang
Moved the threshold adjustment before reference flag checking, which could set the threshold to INT_MAX for disabled reference frame, and cause overflow if the adjustment is done after that. Change-Id: I85e94f8726d5e3ae93f65965aa978721dddc9957
2014-07-01Allow lossless skipping in RD mode decision.Alex Converse
Change-Id: I2fc4ecfc2dd3ff1dd241a68c9ed4c280291b41f2
2014-07-01Elevate NEWMV mode checking threshold in real timeYunqing Wang
The current threshold is knid of low, and in many cases NEWMV mode is checked but not picked as the best mode. This patch added a speed feature to increase NEWMV threshold, so that less partition mode checking goes to check NEWMV. This feature is enabled for speed 6 and 7. Rtc set borg tests showed: 1. Speed 6, overall psnr: -0.088%, ssim: -1.339%; Average speedup on rtc set is 11.1%. 2. Speed 7, overall psnr: -0.505%, ssim: -2.320% Average speedup on rtc set is 12.9%. Change-Id: I953b849eeb6e0d5a1f13eacba30c14204472c5be
2014-06-30Merge "BITSTREAM: Handle transform size and motion vectors more logically ↵Alex Converse
for non-420."
2014-06-29remove unused parms from rd_pick_inter_mode_sb_seg_skipJim Bankoski
Change-Id: I7f989d197444d166133ad91eb23ac1033109f58d
2014-06-25Merge "Add vp9_ prefix to mv_pred and setup_pred_block functions"Jingning Han
2014-06-24Add vp9_ prefix to mv_pred and setup_pred_block functionsJingning Han
Make these two functions accessible by both RD and non-RD coding modes. Change-Id: Iecb39dbf3d65436286ea3c7ffaa9920d0b3aff85
2014-06-20Switch active map implementation to segment based.Alex Converse
Change-Id: Ibb841a1fa4d08d164cf5461246ec290f582b1f80
2014-06-20Fork vp9_rd_pick_inter_mode_sb_seg_skipAlex Converse
Change-Id: I549868725b789f0f4f89828005a65972c20df888
2014-06-19Allow key frame more flexibility in mode searchJingning Han
This commit allows the key frame to search through more prediction modes and more flexible block sizes. No speed change observed. The coding performance for rtc set is improved by 1.7% for speed -5 and 3.0% for speed -6. Change-Id: Ifd1bc28558017851b210b4004f2d80838938bcc5
2014-06-18BITSTREAM: Handle transform size and motion vectors more logically for non-420.Alex Converse
This breaks the profile 1 bitstream. Don't force non420 uv transform size to 1/4 y size. In the 4:2:0 case the chroma corresponding to a luma block is 1/4 its size. In the 4:4:4 case chroma and luma planes are the same size. Disallowing larger transforms can result in a loss of compression efficiency and is inconsistent. For sub-8x8 blocks only average corresponding motion vectors. 4:2:0 and profile 0 behavior remains unchanged. Change-Id: I560ae07183012c6734dd1860ea54ed6f62f3cae8
2014-06-12Adding MV_SPEED_FEATURES struct.Dmitry Kovalev
Moving all motion vector related speed parameters from SPEED_FEATURES to MV_SPEED_FEATURES. Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e
2014-06-12Merge "Moving full_pixel_search() to vp9_mcomp.c."Dmitry Kovalev
2014-06-12Moving full_pixel_search() to vp9_mcomp.c.Dmitry Kovalev
Change-Id: I12389f801ebd3bd2ae3bf31e125433bfb429ee65
2014-06-12Replacing txfm_size with tx_size.Dmitry Kovalev
Change-Id: Ifa6374e9db5919322733b656e0865f5f19ee6f2c
2014-06-11Fix SEG_LVL_SKIP in RD inter mode selection.Alex Converse
* Only use ZEROMV, disalowing the intra modes that were previously tested. * Score rate and distortion as zero. Change-Id: Ifcf99e272095725f11da1dcd26bd0f850683e680
2014-06-10Removing two unused TX_SIZE_SEARCH_METHOD members.Dmitry Kovalev
Change-Id: I33a38bb9f46e7ef509bbbf0cfd7bc3ea5072d022
2014-06-02Merge "Remove Wextra warnings from vp9_sad.c"Deb Mukherjee
2014-06-02Merge "Remove an attempt to handle SEG_LVL_SKIP sub8x8."Alex Converse
2014-06-02Remove Wextra warnings from vp9_sad.cDeb Mukherjee
As a side-effect, the sad unit tests for VP8 and VP9 had to be separated. Fixes a bug in original patch: (https://gerrit.chromium.org/gerrit/#/c/70163/8) that was reverted due to a nightly test failure. Change-Id: Ia2a4e9e278fd3c89d6c3c82fcc6381320ec2a8a6
2014-06-01Merge "Revert "Remove Wextra warnings from vp9_sad.c""Frank Galligan
2014-06-01Revert "Remove Wextra warnings from vp9_sad.c"Frank Galligan
This reverts commit 916550428db803c54c993ff9d3c34b9b0bcebb7c Change-Id: I500822b03f09c64ff6ec5396c68edee9ca3b75cb
2014-05-31Merge "Converting disable_inter_mode_mask to inter_mode_mask."Dmitry Kovalev
2014-05-29Removing unused ref_frame_mask local var.Dmitry Kovalev
Change-Id: Ie11558c076a0161cc9608788e050b1b16e31c490
2014-05-29Converting disable_inter_mode_mask to inter_mode_mask.Dmitry Kovalev
Making this consistent with intra mode masks: you need to specify allowed inter/intra modes to use. Change-Id: Iaecd28bf79047259707d8e7a59a57bb7b856383e
2014-05-29Remove an attempt to handle SEG_LVL_SKIP sub8x8.Alex Converse
SEG_LEVEL_SKIP requires the block size to be at least 8x8. Attempting to use it on smaller partitions causes the decoder to reject the bitstream. Change-Id: Ia7188cdf8ae5ac1df6bd29f3f80dbb0610e1f7b1
2014-05-27Always allow ZEROMV when SEG_LVL_SKIP is on.Alex Converse
Change-Id: I6db1dc82f66438ac48f571d2f1a2ac7c39a97a1a
2014-05-27Fix the all intra modes mask constant.Alex Converse
The new constant expands to 0x3fc00808. Change-Id: Ib5109e4faf035fe0402b59f8a8d2e412628b9276
2014-05-27vp9_rdopt.c: Removed 2 unused parametersYaowu Xu
Change-Id: I935ec0e78570ce3d3585f972350e39043eefa30a
2014-05-27Merge "Remove Wextra warnings from vp9_sad.c"Deb Mukherjee
2014-05-27Merge "Reusing rd_less_than_thresh() function."Dmitry Kovalev
2014-05-22Remove Wextra warnings from vp9_sad.cDeb Mukherjee
As a side-effect, the sad unit tests for VP8 and VP9 had to be separated. Change-Id: I068cc2391eed51e9b140ea6aba78338c5fec8d71
2014-05-22Removing vp9_pragmas.h.Dmitry Kovalev
Change-Id: I9120a87e27e73e496932d11716937e2fad246521
2014-05-21Reusing rd_less_than_thresh() function.Dmitry Kovalev
Change-Id: I29df10fde86128467f5e99fc373ac04f004257e1
2014-05-19Replacing int_mv with MV.Dmitry Kovalev
Change-Id: Icd7eea20e944e3e28e5eb20cdc088866a54d53b4
2014-05-19Removing unused members from PICK_MODE_CONTEXT struct.Dmitry Kovalev
Change-Id: Ieb3bc037a2ae7791323a0f9cec04381ba9b0c795
2014-05-19Merge "Reusing swap_block_ptr() function."Dmitry Kovalev
2014-05-16Moving PC_TREE from MACROBLOCK to VP9_COMP.Dmitry Kovalev
Because PC_TREE is encoder-level data, not MACROBLOCK-level data. Change-Id: I4f620c0781acd3a2744860610117e74948e0b2b5
2014-05-15Merge "vp9_rdopt.c: cleanup -wextra warnings"Yaowu Xu
2014-05-15Merge "Revert "Remove Wextra warnings from vp9_sad.c""Jim Bankoski
2014-05-15vp9_rdopt.c: cleanup -wextra warningsYaowu Xu
Change-Id: I1f87c689cad2224181d40a7d00f5c1064ceefa4b
2014-05-15Reusing swap_block_ptr() function.Dmitry Kovalev
Change-Id: I51ae33fcaaa7330b68493a782ec6ef02539fda71
2014-05-15Revert "Remove Wextra warnings from vp9_sad.c"Jim Bankoski
This reverts commit 7ab9a9587b96db4edce6be916c1f02297a9555ff Nightly test http://build.webmproject.org/jenkins/view/libvpx-nightly-tests/job/libvpx%20unit%20tests%20(valgrind-2)/arch=x86_64-linux-gcc,filter=-*VP8*:*Large.*/276/console Failed This patch did not address all the assembly issues some of the vp8 assembly counts on 5 arguments being passed in to this function: one example : vp8_sad8x16_wmt Please address or split this into vp9 and vp8 patches. Change-Id: I78afcc171649894f887bb8ee3c66de24aaddc7ca
2014-05-14Merge "Remove Wextra warnings from vp9_sad.c"Deb Mukherjee
2014-05-14Silence unused parameter warnings.Paul Wilkins
Remove two unused parameters in the function vp9_refining_search_8p_c(). Change-Id: Ic192734586291cf5400926eeb8e720e69d40835c
2014-05-14Remove Wextra warnings from vp9_sad.cDeb Mukherjee
As a side-effect, the max_sad check is removed from the C-implementation of VP8, for consistency with VP9, and to ensure that the SAD tests common to VP8/VP9 pass. That will make the VP8 C implementation of sad a little slower but given that is rarely used in practice, the impact will be minimal. Change-Id: I7f43089fdea047fbf1862e40c21e4715c30f07ca
2014-05-12Change to use proper typeYaowu Xu
Change-Id: If1afb9f3eaec88079d1d97907870409bce691c2a