summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_mcomp.c
AgeCommit message (Collapse)Author
2014-07-11Remove an unused parameter in vp9_init_search_range()Yaowu Xu
Change-Id: I3d9130e726a1299fd258f6dfe93315e2d12f76da
2014-07-10Refactor vp9_diamond_search_sad functionYunqing Wang
Currently, vp9_diamond_search_sadx4() is only called when sse3 is enabled, which is improper since sse2 optimization of sdx4df functions are available. Changed to always use vp9_diamond_search_sadx4(). Change-Id: I4b95d6b7a3c6c645783c373f0ba8d645ece24717
2014-07-09Refactor refining_search_sad codeYunqing Wang
There are sse2 optimization of sdx4df functions. Instead of calling vp9_refining_search_sadx4 only when sse3 is enabled, call it always. Change-Id: I24f93818f7d4209d1425039e0eb099ff9ff08fe9
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-07Cleanup motion search speed features.Alex Converse
* Replace max_step_search_steps with constant MAX_MVSEARCH_STEPS * Fold (reduce_first_step_size + speed > 5) into reduce_first_step_size replacing uses of reduce_first_step_size that don't add the speed check with zero. Change-Id: Iae46395dbf3eaca138bf4d18b838a9e364b5a198
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-12Moving full_pixel_search() to vp9_mcomp.c.Dmitry Kovalev
Change-Id: I12389f801ebd3bd2ae3bf31e125433bfb429ee65
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-01Revert "Remove Wextra warnings from vp9_sad.c"Frank Galligan
This reverts commit 916550428db803c54c993ff9d3c34b9b0bcebb7c Change-Id: I500822b03f09c64ff6ec5396c68edee9ca3b75cb
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-15Merge "Revert "Remove Wextra warnings from vp9_sad.c""Jim Bankoski
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-15Merge "Silence unused parameter warnings."Paul Wilkins
2014-05-14Merge "Remove Wextra warnings from vp9_sad.c"Deb Mukherjee
2014-05-14Silence unused parameter warnings.Paul Wilkins
The various motion search functions share a common function prototype. In the case of vp9_full_range_search() two of the parameters are not needed. Change-Id: I0e190af54a3b3f276409f20e8ec55912f9b0b798
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-07Merge "Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range()."Dmitry Kovalev
2014-05-01Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range().Dmitry Kovalev
Change-Id: I961d50d6fafdd37ef7f23f0a871d28e28d2084ca
2014-04-30Cleaning up vp9_full_range_search_c() function.Dmitry Kovalev
Change-Id: Ifc9114aeacd493cfa04d4cb3d071bf1de80e0568
2014-04-29Merge "Adding search_site_config struct."Dmitry Kovalev
2014-04-29Adding search_site_config struct.Dmitry Kovalev
Change-Id: I2ad333553e673dbabcdc0f0366aea311e90849bf
2014-04-25Cleaning up vp9_full_search_sadx8() function.Dmitry Kovalev
Change-Id: I61f977a7d0b177881bd5c1a7179fa5f8f089e9a6
2014-04-25Merge "Cleaning up vp9_full_search_sadx3()."Dmitry Kovalev
2014-04-22Renaming "onyx" to "encoder".Dmitry Kovalev
Actual renames: vp9_onyx_if.c -> vp9_encoder.c vp9_onyx_int.h -> vp9_encoder.h Change-Id: I80532a80b118d0060518e6c6a0d640e3f411783c
2014-04-14Cleaning up vp9_full_search_sadx3().Dmitry Kovalev
Change-Id: Ia63fee65c827fd33080119184e6cf3167421807c
2014-04-11Removing redundant mvsadcost local variables.Dmitry Kovalev
Change-Id: I19a197b9525172579f253702c77fa76af88f6565
2014-04-11Merge "Removing offset argument of mvcomp macros."Dmitry Kovalev
2014-04-11Removing unused cost arguments from mcomp functions.Dmitry Kovalev
Change-Id: Id81a76d18be6b2de69f81bb563d74c3bb356d434
2014-04-10Removing offset argument of mvcomp macros.Dmitry Kovalev
Change-Id: I8bb72b790a0783720833f27b7cf41055bee6becd
2014-04-10Fixing invalid ref buffer in vp9_diamond_search_sad_c().Dmitry Kovalev
Problem has been introduced recently with the cleanup patch I0816ec12ec0a6f21d0f25f10c214b5fd327afc6c Change-Id: Iaacb956a6039eb5826b82618dc03be32053fb892
2014-04-07Cleaning up vp9_diamond_search_sad_c() function.Dmitry Kovalev
Change-Id: I0816ec12ec0a6f21d0f25f10c214b5fd327afc6c
2014-04-02Cleaning up vp9_refining_search_sadx4() function.Dmitry Kovalev
Change-Id: I47a7148bf746f61d0c4947f9b22624a8c071359f
2014-04-02Merge "Cleaning up vp9_pattern_search() function."Dmitry Kovalev
2014-03-26Cleaning up vp9_get_mvpred_{av_,}var() functions.Dmitry Kovalev
Change-Id: I0df8c2a6d9863f92ee406010f2daeb5e40627649
2014-03-25Cleaning up vp9_pattern_search() function.Dmitry Kovalev
Change-Id: I8da5e13b23a3d6b73c82bbe443c82dd87fd689f3
2014-03-24Merge "Adding get_buf_from_mv() function."Dmitry Kovalev
2014-03-24vp9_variance.h header static version converted to globalJim Bankoski
Change-Id: I8d02cdb5e7fef02b8c95413dfd239fa51a8c7777
2014-03-21Adding get_buf_from_mv() function.Dmitry Kovalev
Change-Id: I21aff45546778b8393e2edf2d810448dec1f4cdb
2014-03-17Cleaning up vp9_mcomp.c.Dmitry Kovalev
Change-Id: I24a3f0f215d04fb8888c303642dd5663cc593317
2014-03-17Merge "Cleaning up vp9_diamond_search_sad_c & vp9_diamond_search_sadx4."Dmitry Kovalev
2014-03-12Preliminary code for variance based paritioningDeb Mukherjee
Brings back most of Jim's previous patch for choosing partitioning based on variance while making it compatible with the current state of the code. Also adds a nonrd_use_partition() function to recursively encode for any arbitrary sb_type decisions within a 64x64 block; and includes some refactoring. Currently, when the VAR_BASED_PARTITIONING mode is turned on for speed 7, there is a 10+% speed-up observed. Experiments/improvements with this new partitioning method will be conducted subsequently. Change-Id: Ie6f43bfbde30583e941f450bf07c3b48828c9571
2014-03-10Merge "Support for a fast diamond search"Deb Mukherjee
2014-03-07Support for a fast diamond searchDeb Mukherjee
Adds a fast diamond search which is about 5% faster than FAST_HEX with only a 0.1% drop in psnr when turned on for both speeds 5 and 7. This search is turned on for speed 7. Change-Id: I497630aa88a5148926086bb3038e7975e5f4eb98
2014-03-06Cleaning up vp9_get_mvpred_var().Dmitry Kovalev
Change-Id: Ic535f0a1c2501c1af143237af3b2b51b4b4980f4
2014-03-06Cleaning up vp9_diamond_search_sad_c & vp9_diamond_search_sadx4.Dmitry Kovalev
Change-Id: I4639cdc29d17ef13cabb774b455295454f1d02ae
2014-03-06Fixes static analysis issuesDeb Mukherjee
Removes some unused variables and assignments Change-Id: I228f43d658ce50237d65ce8dc8ab2ccf0a0b21ca
2014-03-05Cleaning up vp9_refining_search_sadx4().Dmitry Kovalev
Change-Id: I3ed0a95645a66be069ce92a1fad8083a87d01001
2014-03-03Merge "Cleaning up vp9_init_dsmotion_compensation()."Dmitry Kovalev
2014-03-03Refactoring motion search libsDeb Mukherjee
The core motion estimation fucntions all return sad now consistently. The only exception is vp9_full_pixel_diamond(), however the core diamond and refining search routines called from vp9_full_pixel_diamond() also return SAD. If variance of pred error + mv cost is desired it must be calculated explicitly outside these functions. For very fast encoding, hopefully this will eliminate some redundant computations. Also suggests reimplementing FAST_HEX with the vp9_pattern_search framework. It is not exactly the same as the existing FAST_HEX, but performance is slightly better and speed is very similar. Enables removing a lot of duplicate code. Change-Id: I152736393438c25bdf7e96b37cbb8ce330f4f94a