summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2015-07-13Merge "mips msa vp8 loop filter optimization"Parag Salasakar
2015-07-08mips msa vp8 loop filter optimizationParag Salasakar
average improvement ~2x-4x Change-Id: I20c4f900ef95d99b18f9cf4db592cd352c2212eb
2015-07-07Use 'unsigned long' for _BitScanReverse parameterJohann
New clang warnings in chromium reveal an incompatible pointer being passed. Change-Id: I0d893993726ecf899f467c16175bfb8c76329731 https://code.google.com/p/chromium/issues/detail?id=504696
2015-07-07Move sub pixel variance to vpx_dspJohann
Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1
2015-07-07Merge "Unify subtract function used in VP8/9"Jingning Han
2015-07-07Merge "mips msa vp8 idct optimization"Parag Salasakar
2015-07-07Unify subtract function used in VP8/9Jingning Han
This commit replaces the vp8_ prefixed subtract function with the common vpx_subtract_block function. It removes redundant SIMD optimization codes and unit tests. Change-Id: I42e086c32c93c6125e452dcaa6ed04337fe028d9
2015-07-07mips msa vp8 idct optimizationParag Salasakar
average improvement ~2x-5x Change-Id: I19e82f78772993bcd67fcf975fe180232172f86d
2015-07-06Move subtract functions from vp9 to vpx_dspJingning Han
Factor out the subtraction operator as common function. Change-Id: I526e703477c6a290e0e3e3c8898f8bb1ca82779b
2015-06-30loopfiltersimpleverticaledge_neon: quiet uninit var warningsJames Zern
take 2. localize the function parameter to actually remove the warning Change-Id: I23c02061b5e21b0b75bd33c26062d1e531df7b92
2015-06-25loopfiltersimpleverticaledge_neon: quiet uninit var warningsJames Zern
the vector used in vld*_lane_* should be initialized before use Change-Id: Idce95354737915f6fb4e6b5e8980a050e953036d
2015-06-25idct_dequant_0_2x_neon: quiet uninit var warningsJames Zern
the vector used in vld*_lane_* should be initialized before use Change-Id: I6b791088479fec3bc021ca75cc2af5adcc39d954
2015-06-23vp8_subpixelvariance_neon: right size coeff tableJames Zern
only uint8 is required; each use only loads one value as a uint8 quiets a few type conversion warnings Change-Id: I03dc0dc0eb01ac23a6e8673daa2b77c6c57bf1b0
2015-06-18Move vp8 variance filesJohann
There is a naming conflict in the chromium build system. The rest of the variance functions will move to vpx_dsp soon. Change-Id: Iff78da2aafb0d7380eda73e38d7dac72110a1e47
2015-06-05disable vp8_sub_pixel_variance8x8_neonJames Zern
fails unit tests: [ FAILED ] NEON/VP8SubpelVarianceTest.ExtremeRef/0, where GetParam() = (3, 3, 0x14e36d, 0) [ FAILED ] NEON/VP8SubpelVarianceTest.Ref/0, where GetParam() = (3, 3, 0x14e36d, 0) the tests were recently enabled in: eb88b17 Make vp9 subpixel match vp8 the functions likely haven't changed since being converted from assembly Change-Id: I6141717b111b8f735f436c160d74270af53ef722
2015-06-03Remove unused sub pixel mseJohann
Change-Id: I7a5e4e2632c3fa69d2a85a68fa9b418631caf09c
2015-06-02Disable neon bilinear 4x4Johann
Clang adds alignment hints when casting up the loads/stores. Although this should be safe for most paths, it's causing some crashes. Either the source of the misalignment needs to be determined and adjusted or the intrinsics need to be rewritten to avoid using the cast to load the data. BUG=817,892 Change-Id: Ia3aa824d6a4cd97e14325ff49dc730b6f85ec7e8
2015-06-01Adds subsecond frame rates to webmJohnny Klonaris
Numerator was being range checked against the denominator - preventing any frame rate slower than 1 fps. I've tested this on a Mac using using ffmpeg and results are comparable to mp4 and ogg files generated at the same time. Not yet tested on Windows. Johnny Klonaris google@jawknee.com Change-Id: Idb358dbc2e7dc000037880ede4a1b0df248a42c8
2015-05-26Merge "Move variance functions to vpx_dsp"Johann
2015-05-26Move variance functions to vpx_dspJohann
subpel functions will be moved in another patch. Change-Id: Idb2e049bad0b9b32ac42cc7731cd6903de2826ce
2015-05-21Fix to visual studio build error.Marco
Change-Id: Ide080141ebc064584574c861fb324fe64cc572cc
2015-05-20vp8_drop_encodedframe_overshoot: fix to return setting.Marco
Make sure force_maxqp is set to 0 for return 0. Change-Id: Ie7c57842637226e932a390e7080e5ebb99996da3
2015-05-19VP8: For high overshoot, force drop frame and max-out QP.Marco
This allows rate control to react to content of current frame being encoded. Enabling this feature via the setting: screen_content_mode = 2. Change-Id: Ib2c6670551d96f4907495d5b7b76bb8c49e673db
2015-05-14vp8/rdopt.h+onyx_int.h: add some missing prototypesJames Zern
silences missing prototype warnings Change-Id: Icd477e37b502205d0a60e7389e51b1ba17d8888e
2015-05-14vp8: add some missing includesJames Zern
silences missing prototype warnings Change-Id: Ib62e4743532b871e63bc99732875fff20501b8ac
2015-05-14vp8: make some functions staticJames Zern
silences missing prototype warnings Change-Id: I9f24a3214c832c982ca0dc5a032316eba48472ff
2015-05-14vp8/common/variance*: add vp8_rtcd includeJames Zern
silences missing prototype warnings Change-Id: I5ca198b56a5ff0cf5b93c89957526f243c04e9c8
2015-05-14vp8_copy32xn: sync function signatureJames Zern
+ include vp8_rtcd.h in copy_c.c silences missing prototype warnings Change-Id: Iecc279c695b08a26b231dedb41e3b84c551703f3
2015-05-07Merge "Remove only remaining uses of 'fast_unaligned'"Johann
2015-05-07Remove only remaining uses of 'fast_unaligned'Johann
Use memcpy instead of casting. Change-Id: Ieca725cc628883985bde23c7d742af8781c5dbb5
2015-05-07replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNEDJames Zern
this macro was used inconsistently and only differs in behavior from DECLARE_ALIGNED when an alignment attribute is unavailable. this macro is used with calls to assembly, while generic c-code doesn't rely on it, so in a c-only build without an alignment attribute the code will function as expected. Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
2015-05-06Move shared SAD code to vpx_dspJohann
Create a new component, vpx_dsp, for code that can be shared between codecs. Move the SAD code into the component. This reduces the size of vpxenc/dec by 36k on x86_64 builds. Change-Id: I73f837ddaecac6b350bf757af0cfe19c4ab9327a
2015-04-28vpx_mem: remove vpx_memsetJames Zern
vestigial. replace instances with memset() which they already were being defined to. Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
2015-04-28vpx_mem: remove vpx_memcpyJames Zern
vestigial. replace instances with memcpy() which they already were being defined to. Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
2015-04-28vpx_mem: remove vpx_memmoveJames Zern
vestigial. replace instances with memmove() which they already were being defined to. Change-Id: If396d3f9e3cf79c0ee5d7429615ef3d6b2a34afa
2015-04-15Reorganize *_rtcd() calling conventionsJohann
Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2
2015-04-03vp8_regular_quantize_b_sse2: remove dead initJames Zern
Change-Id: Ide5eefadbb3cab38743a69f744a003abb37a6506
2015-04-03vp8cx_pick_filter_level*: remove dead initsJames Zern
Change-Id: I28026b86d03264b9f4e2fc8ac1d3c74aa3954208
2015-04-03vp8_decode_frame: remove dead incrementJames Zern
Change-Id: Ie9a6fac02796d24e6f4a15416d0b4c19010547df
2015-04-03rdopt: remove dead storesJames Zern
Change-Id: Ia8a20c6751cc6d63c60bb00b99c78faca1e61051
2015-04-03find_next_key_frame: remove dead init & storeJames Zern
Change-Id: I8c7f5b9718ef14e4397a263aa9f52a9edcf7d1cd
2015-04-03multiframe_quality_enhance_block: remove dead storesJames Zern
Change-Id: I33ca9cddfdd54c3d8a23c1cb978986a537a20bf2
2015-04-03vp8_print_modes_and_motion_vectors: remove dead storesJames Zern
Change-Id: I438cbf4970fa2220fb73b0b41a29e654836d4e3b
2015-04-02Remove PPC build supportJohann
There are no functional optimizations for AltiVec/PPC Change-Id: I6877a7a9739017fe36fc769be22679c65ea99976
2015-03-26Remove duplicate code from mergeJohann
Change-Id: I5e2a1270001b7e29f3f198d57ea40e1efccef367
2015-03-20vp[89]_cx_iface.c: remove obsolete ABI checksJames Zern
Change-Id: I49a7017e8adc18ff03d748cb328814a8a3e1bcf6
2015-03-19vp8: fix a bug in the internal PSNR calculationYunqing Wang
While CONFIG_INTERNAL_STATS=1, PSNR is calculated while encoding. The aligned width/height were used mistakenly in the calculation. This patch fixed it, and used the orignal image width/height. Change-Id: Iad5334f8693af761b71ebb78f2587db8a3404ecf
2015-03-18Remove last remnants of obj_int_extractJohann
Change-Id: Icc7da6027763b5ed7cbfe70ffe271103ead59fe1
2015-02-12Add missing initializer to VP8 codec interfaceAdrian Grange
Change-Id: Ia164ba03fb732e9c9e520e4aa2d75b7eadff6165
2015-02-03Use correct buffer size in vp8 subpixel varianceJohann
In vp8_sub_pixel_variance8x8_neon the temp2 buffer is only initialized to kHeight8 * kWidth8. However, in the case that xoffset != 0 and yoffset == 0, var_filter_block2d_bil_w8 is called with output_width kHeight8PlusOne. Thanks to cmugurel for diagnosing and yulius for the patch. Change-Id: Ib71ffd96ffad963c92b8b7ca23f303942785b8e0 https://code.google.com/p/webrtc/issues/detail?id=4190