summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_mcomp.c
AgeCommit message (Collapse)Author
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
2014-02-28Cleaning up vp9_init_dsmotion_compensation().Dmitry Kovalev
Change-Id: Id5b56c7bc5671859f54ae69693064804d3fadd98
2014-02-25Merge "Changing vp9_full_search_sad{, x3, x8} signatures."Dmitry Kovalev
2014-02-25Merge "Cleaning up vp9_refining_search_sad() function."Dmitry Kovalev
2014-02-18Use fast HEX search in real time modeYunqing Wang
In good quality mode motion search, the best matches are normally found after searching in a large area. In real time mode, to make encoding fast, a center-biased fast HEX search is used, which converges quickly most of the time. A 4-point diamond search is also carried out as the following refining search, which gives more precise results, and maintains good motion search quality. At speed 5, the borg test on rtc set showed an overall PSNR loss of 0.936%. The encoding speed gain is 4% - 5%. Change-Id: I42cd68bb56a09ca1b86293c99d5f7312225ca7ae
2014-02-17Cleaning up vp9_refining_search_sad() function.Dmitry Kovalev
Change-Id: Ife6131d31882177953a22a69d25adc35940429ed
2014-02-17Changing vp9_full_search_sad{, x3, x8} signatures.Dmitry Kovalev
Passing block MV pointer instead of block index into vp9_full_search_sad{, x3, x8} functions. Change-Id: Ica07356633471c2c8f81b583a7aeba85a436bafb
2014-02-14Merge "vp9_mcomp.c visual studio warnings resolved"Jim Bankoski
2014-02-14vp9_mcomp.c visual studio warnings resolvedJim Bankoski
Change-Id: I7546cc8db4decbcd094ad76c64385b97666331b0
2014-02-13Using MV instead of int_mv inside vp9_full_pixel_diamond().Dmitry Kovalev
Change-Id: If33a5a12c4025d9b5ec863dfccea7ee70f800665
2014-02-13Merge "vp9_mcomp.c static analysis issues"Jim Bankoski
2014-02-12Adding consts to mv search function arguments.Dmitry Kovalev
Change-Id: Ie79114bba4f0cea55d9f701e20d2be2017630f3b
2014-02-12vp9_mcomp.c static analysis issuesJim Bankoski
Change-Id: I8c0023e3f03297993431e21158ee3821af75f82d
2014-02-11Cleaning up vp9_full_search_sad_c() function.Dmitry Kovalev
Change-Id: Ief941ff75c5e25f3288326a162b1bd0c0f17a779
2014-02-04Adding is_mv_in() function.Dmitry Kovalev
Change-Id: I9bdb18c5cde386d3caaa2c2846649cfbda609927
2014-02-03Inlinging get_next_chkpts macro in vp9_mcomp.c.Dmitry Kovalev
Change-Id: I38ca35dccfb9051d08b026d75ba2f3a35adb0259
2014-01-31Cleaning up vp9_mcomp.{c, h}.Dmitry Kovalev
Change-Id: Ib71d9ed3f98e9468ad951bdc24c9ab565216eb38
2014-01-31Merge "Cleaning up motion compensation code."Dmitry Kovalev
2014-01-24Inlining IFMVCV macro.Dmitry Kovalev
Change-Id: I5173f996612e410d9cd495df9414d194b1ab18f3
2014-01-23Cleaning up motion compensation code.Dmitry Kovalev
Change-Id: I74cf028e8c732cd0dbc070326152d3085b824a80
2014-01-22Merge "Cleaning up vp9_refining_search_sad() function."Dmitry Kovalev
2014-01-22Merge "Enforce effective motion vector search range"James Zern
2014-01-21Enforce effective motion vector search rangeJingning Han
This commit explicitly enforces the effective motion vector range in the motion search stage. The range needs to be the intersection of UMV border, effective absolute motion vector value range, and the target search area. Change-Id: I1cf7c563e02b1086040dad6c1f4f6be1538635a6
2014-01-21Merge "Replacing macros with inline functions."Dmitry Kovalev
2014-01-17Cleaning up vp9_refining_search_sad() function.Dmitry Kovalev
Change-Id: I660b53da8ebf3049832ce8a10721051c4e0ebb00
2014-01-16Replacing macros with inline functions.Dmitry Kovalev
Change-Id: Ibde8fb45594cd259fc3281d7874de8fc877fd4f2
2014-01-16Cleaning up vp9_refining_search_8p_c() function.Dmitry Kovalev
Change-Id: Icf3b3dd96d7e133a4ad7260cd95288f6217998a6
2014-01-13Making motion search code more compact.Dmitry Kovalev
Change-Id: I04d6a006eaf2676f2d8d1d96b87f69e081969382