summaryrefslogtreecommitdiff
path: root/vp8/common
AgeCommit message (Collapse)Author
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
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-15Reorganize *_rtcd() calling conventionsJohann
Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2
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-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
2014-12-21Revert "remove vp8 unused uvstride parm in simple loop filter"Jim Bankoski
This reverts commit 392a2c43c77242f05715bdac086f235e6cbbdf2e Failing nexus build tests: http://build.chromium.org/p/client.libvpx/builders/Nexus%207%20Builder/builds/224 Change-Id: I95ae2c894b70cef9c757334fcab7fdeca9003e9c
2014-12-21Merge "remove vp8 unused uvstride parm in simple loop filter"Jim Bankoski
2014-12-16Silence -Werror=unused-parameterJohann
Cast away remaining issues so that new ones don't get lost in the noise. Change-Id: Iacd6999b0686ce80f9835730d68db6382690fa92
2014-12-03Various updates to vp8.Marco
Change-Id: Icc7a816491897107764e4c936288e9000e6319b8
2014-11-06Remove asm offset dependenciesJohann
The obj_int_extract code is no longer worth maintaining. It creates significant issues when adapting for different build systems and no longer offers as significant of a performance benefit due to improvements in intrinsics. Source files will remain until the various third-party builds are updated. The neon fast quantizer has been moved to intrinsics. The armv6 version has been removed because so few remaining targets require it. Compilers and processors have improved significantly since the pack_tokens code was written. The assembly is no longer faster than the C code. pack_tokens were the only optimizations for the armv5te targets so the targets will be removed after the test infrastructure has been updated. BUG=710 Change-Id: Ic785b167cd9f95eeff31c7c76b7b736c07fb30eb
2014-10-31Remove pair quantizationJohann
The intrinsics version of the pair quant is slower than running it individually. Change-Id: I7b4ea8599d4aab04be0a5a0c59b8b29a7fc283f4
2014-10-31vp8 quantization -> intrinsicsJohann
Use intrinsics for neon quantization. Slight loss (<5%) of performance compared to the assembly. Roughly 10x faster on arm64 because that was running C code before. Change-Id: I7cf5242d8f29b7eab5bca6a1c20c89c9fc9ca66d
2014-09-25Clarify GCC version checkJohann
The version check was incorrectly matching some versions of clang which reported as gcc 4.2 Change-Id: I686d3576e71883fe1463206b56ab5e2aa9bb68a8
2014-09-19vp8: Update to the adaptive denoising mode.Marco
Allow for option to apply spatial blur for temporal denoising, under the aggressive denoising mode. Change-Id: I41c5fdc0b6cf32d8f8d1d4236b25fa5aa406e89e
2014-09-17Merge "vp8: common: postproc: fix signed overflow of statement of (X +c) >= ↵Johann
X when '-Werror=strict-overflow' is set."
2014-09-15Merge "vp8/vp9: neon: msvc: move the 'ifdef _MSC_VER' bit to ↵Johann
vpx_ports/mem.h. fix compiling warning."
2014-09-15VP8 encoder for ARMv8 by using NEON intrinsics 1Scott LaVarnway
Add vp8_mse16x16_neon.c - vp8_mse16x16_neon - vp8_get4x4sse_cs_neon Change-Id: I108952f60a9ae50613f0ce3903c2c81df19d99d0 Signed-off-by: James Yu <james.yu@linaro.org>
2014-09-14vp8/vp9: neon: msvc: move the 'ifdef _MSC_VER' bit to vpx_ports/mem.h.Jia Jia
fix compiling warning. Change-Id: If8706a9046436f704c597e4275a6810c76ba7daa
2014-09-14vp8: common: postproc: fix signed overflow of statement of (X +c) >= X when ↵Jia Jia
'-Werror=strict-overflow' is set. Change-Id: I2f78417cc100973c732426f7b6bd10d7304a1a5f
2014-09-09Move vp8_variance_halfpixvar16x16_*_neon definitionsJohann
These functions moved from 'neon_asm' to 'neon' in 9293d267d22def752366c9512be98f2d51fd2c15 Change-Id: I9cb5626c3eec96876a73fb18f2bfc982a5858edb
2014-09-08vp8 encoder: remove vp8_yv12_copy_partial_frame_neonJia Jia
Use generic C implementation instead of neon-specific code Change-Id: Ib322b4ece9cdbd4de76a9eed3d2e9fd1d8542406
2014-09-05vp8 common: change 'HAVE_NEON_ASM' to 'HAVE_NEON' for compiling functions of ↵Jia Jia
NEON intrinsics. Change-Id: I975e5eac16f8b623ff589f0ec072cdaff2183b04
2014-09-04bilinearpredict_neon: fix type conversion warningsJames Zern
make bifilter4_coeff[][] uint8_t, no values exceed this range and they're loaded with vdup_n_u8(). Change-Id: I921983e9edd828d29820e40ac30a7801dbe0fb4f
2014-09-04Merge "arm: Fix building vp8_subpixelvariance_neon.c with MSVC"James Zern
2014-09-04Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 10""Scott LaVarnway
This reverts commit 677fb5123e0ece1d6c30be9d0282e1e1f594a56d Compiles with 4.6. Change-Id: I7f87048911b6bc28a61741d95501fa45ee97b819
2014-09-04arm: Fix building vp8_subpixelvariance_neon.c with MSVCMartin Storsjo
Use the right return values - vget_low_s64 returns int64x1_t, not a normal int64_t. Also make __builtin_prefetch a no-op on MSVC for this file. Change-Id: I4d2fce01d0ba106b98d3d53b137803119c2c2c08