summaryrefslogtreecommitdiff
path: root/vp8/common
AgeCommit message (Collapse)Author
2016-02-05vp8: fix build with mingw+pthreadsJames Zern
Change-Id: Icc34a00759c95b7b8ac356cdcc4adae848b61431
2016-01-26vp8: mark intra_prediction_down_copy inlineJames Zern
avoids -Wunused-function warnings when INLINE is set Change-Id: I44d91eaa7efba7bc2427501fb9f63a93f32aaa7f
2016-01-26Fix a clang/win build errorYunqing Wang
Made the definition of THREAD_FUNCTION consistent. Change-Id: I1ac099484e201e359298ed16de0b81ec781075ce
2016-01-20Remove duplicate definitionsYaowu Xu
This fixes the build errors with msvc. Change-Id: Ie2716e4c15a1bacfb00a8d41ec3283d718af88fc
2016-01-08Amend and improve VP8 multithreading implementationYunqing Wang
There are flaws in current implementation of VP8 multithreading encoder and decoder as reported in the following issue: https://code.google.com/p/chromium/issues/detail?id=158922 Although the data race warnings are harmless, and wouldn't cause real problems while encoding and decoding videos, it is better to fix the warnings so that VP8 code could pass the TSan test. To synchronize the thread-shared data access and maintain the speed (i.e. decoding speed), use multiple mutexes based on mb_rows to reduce the number of synchronizations needed, make the reads and writes of the shared data protected, and reduce the number of mb_col writes by nsync times. The decoder speed tests showed < 3% speed loss while using 2 ~ 4 threads. Change-Id: Ie296defffcd86a693188b668270d811964227882
2015-12-03vp8: fix loop filter level clampingJames Zern
the loop filter level is transmitted as 6-bits + sign so needs to be clamped in the delta + absolute case. BUG=https://bugzilla.mozilla.org/show_bug.cgi?id=1224363 Change-Id: Icbdca4fdbf043466429bd5c9d59dbe913bf153bc
2015-10-16vp10: add extended-intra prediction edges experiment.Ronald S. Bultje
This experiment allows using full above/right edges for all transform sizes whenever available (for d45/d63), and adds bottom/left edges for d207. See issue 1043. Change-Id: I5cf7f345e783e8539bb6b6d2c9972fb1d6d0a78b
2015-10-01vp8: align left pixel array by 16 bytes.Ronald S. Bultje
The x86 simd expects this. Identical alignment can be found in vp9 and vp10 also. Fixes crashes on 32bit x86 systems. Change-Id: I229c88d8f696acbef5337c8fa9503528df4e1c40
2015-09-30vp8: change build_intra4x4_predictors() to use vpx_dsp.Ronald S. Bultje
I've added a few new functions (d45e, d63e, he, ve) to cover the filtered h/v 4x4 predictors that are vp8-specific, the "correct" d45 with the correctly filtered bottom-right pixel (as opposed to the unfiltered version in vp9), and the "broken" d63 with weirdly filtered bottom-right pixels (which is correctly filtered in vp9). There may be a minor performance impact on all systems because we have to do an extra copy of the Above pixel array to incorporate the topleft pixel in the same array (thus fitting the vpx_dsp API). In addition, armv6 will have a more serious performance impact b/c I removed the armv6/vp8-specific assembly. I'm not sure anyone cares... Change-Id: I7f9e5ebee11d8e21aca2cd517a69eefc181b2e86
2015-09-30vp8: change build_intra_predictors_mbuv_s to use vpx_dsp.Ronald S. Bultje
Change-Id: I936c2430c3c5b1e0ab5dec0a20110525e925b5e4
2015-09-30vp8: change build_intra_predictors_mby_s to use vpx_dsp.Ronald S. Bultje
Change-Id: I2000820e0c04de2c975d370a0cf7145330289bb2
2015-08-27vp8: use VPX(MIN|MAX) from vpx_dsp_common.hJames Zern
remove MIN/MAX defines in vp8/common/common.h Change-Id: I41520f34af175e05b263ebd12198f4de29a967db
2015-08-26Clean up unused function warnings in vp8 commonJohann
Mark functions in findnearmv.h, invtrans.h and setupintrarecon.h with INLINE. Hide function in postproc.h behind the same #if as it's callers. Change-Id: Ic1e014a943d2aca280f137019218b9d4f1443d61
2015-08-25Mark Scale2Ratio INLINEJohann
WebRTC builds with -Wunused-function do not like all the uses of onyx.h Change-Id: Ic57cb143b48df9c9895f94b5f8f395c260fa7025
2015-08-18Merge "Rename vp8 loopfilter_filters_dspr2.c"Johann Koenig
2015-08-18Rename vp8 loopfilter_filters_dspr2.cJohann
Change-Id: I914b456558edbdee5eefdfba731bc70d3d5f5d53
2015-08-18Rename vp8 loopfilter[_neon.c]Johann
Avoid conflict with vpx_dsp version Change-Id: I041b1532a9276400a5547de8dfed1de43ad4e83d
2015-08-07Replace VP8 SSIM with VP9 derived vpx_dsp SSIM.Alex Converse
Change-Id: Ic61f30af12d1b01c1d5adc4e08bc20e20ad38027
2015-08-05Support build with Visual Studio 14.Ghislain MARY
Change-Id: Id0d7c19857e29b66c652c8cc1ab56b64e4fc0fa3
2015-08-04Merge "Rename vp8 loopfilter_mmx.asm"Johann Koenig
2015-08-03Rename vp8 loopfilter_mmx.asmJohann
Chromium puts all the yasm output in the same directory. Looking at ways to improve this but in the meantime get rid of collisions. Change-Id: I923c5231d14e895ab96521eb89807ede868a0753
2015-08-01mips msa vp8 denoising filter optimizationParag Salasakar
average improvement ~2x-3x Change-Id: I6c17012c731fa4d56e0343f8de0df47b2dde289b
2015-07-31mips msa vp8 temporal filter optimizationParag Salasakar
average improvement ~2x-3x Change-Id: I05593bed583234dc7809aaec6cab82773a29505d
2015-07-31mips msa vp8 block subtract optimizationParag Salasakar
average improvement ~2x-3x Change-Id: I30abf4c92cddcc9e87b7a40d4106076e1ec701c2
2015-07-30mips msa vp8 quantize optimizationParag Salasakar
average improvement ~2x-3x Change-Id: I6fc37191bf9cb5a67e1af9787d0d27659c17bdba
2015-07-30mips msa vp8 fdct optimizationParag Salasakar
average improvement ~2x-4x Change-Id: Id0bc600440f7ef53348f585ebadb1ac6869e9a00
2015-07-29mips msa vp8 post proc optimizationParag Salasakar
average improvement ~2x-4x Change-Id: I93abc15389649c169bb8b69127c0b95407d34692
2015-07-28mips msa vp8 filter by weight optimizationParag Salasakar
average improvement ~3x-5x Change-Id: Ia808ae56b118e0e1b293901447aa5a0f597b405b
2015-07-25mips msa vp8 recon intra optimizationParag Salasakar
average improvement ~3x-5x Change-Id: I73306863e9bf172d5adc06b8dd54e43985d1e063
2015-07-24mips msa vp8 bilinear filter optimizationParag Salasakar
average improvement ~3x-4x Change-Id: I8c0b3d5c86c9eb4f802b87c971864d2cfceeb7cc
2015-07-23mips msa vp8 copy mem optimizationParag Salasakar
average improvement ~2x-4x Change-Id: I3af3ecced96c5b8e0cb811256e5089e28fe013a2
2015-07-13mips msa vp8 sixtap filter optimizationParag Salasakar
average improvement ~3x-5x Change-Id: I5fd88cb088814be443d04be384b9fca99b22adef
2015-07-08mips msa vp8 loop filter optimizationParag Salasakar
average improvement ~2x-4x Change-Id: I20c4f900ef95d99b18f9cf4db592cd352c2212eb
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-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-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-05-26Move variance functions to vpx_dspJohann
subpel functions will be moved in another patch. Change-Id: Idb2e049bad0b9b32ac42cc7731cd6903de2826ce
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