summaryrefslogtreecommitdiff
path: root/vp9/common/arm
AgeCommit message (Collapse)Author
2015-08-04Replace vp9_ prefix with vpx_ prefix in vpx_dsp function namesJingning Han
This commit clears the function naming convention in vpx_dsp. It replaces vp9_ prefix of global functions with vpx_ prefix. It also removes the vp9_ prefix from static functions. Change-Id: I6394359a63b71a51dda01342eec6a3cc08dfeedf
2015-07-31Factor inverse transform functions into vpx_dspJingning Han
This commit moves the module inverse transform functions from vp9 to vpx_dsp folder. The hybrid transform wrapper functions stay in the vp9 folder, since it involves codec-specific data structures. Change-Id: Ib066367c953d3d024c73ba65157bbd70a95c9ef8
2015-07-31Code refactor on InterpKernelZoe Liu
It in essence refactors the code for both the interpolation filtering and the convolution. This change includes the moving of all the files as well as the changing of the code from vp9_ prefix to vpx_ prefix accordingly, for underneath architectures: (1) x86; (2) arm/neon; and (3) mips/msa. The work on mips/drsp2 will be done in a separate change list. Change-Id: Ic3ce7fb7f81210db7628b373c73553db68793c46
2015-07-28Merge "Move intra prediction functions from vp9/common/ to vpx_dsp/"Hui Su
2015-07-27Move intra prediction functions from vp9/common/ to vpx_dsp/hui su
Change-Id: I64edc26cf4aab050c83f2d393df6250628ad43b8
2015-07-27Use common coefficient definition in neon idct implementationsJingning Han
Replace the duplicate coefficient definition in neon implementations of inverse transform with those from vpx_dsp/txfm_common.h Change-Id: I4cd9bd9569ab1793dfdbb6f16d80bcb581599f0d
2015-07-27Replace vp9_idct.h for precise dependencyJingning Han
This commit replaces vp9_idct.h with txfm_common.h in many SIMD implementation files for precise file dependency. Change-Id: If73dd726bb16537e7494f28538b0a169810f9756
2015-07-16Migrate loop filter functions from vp9/ to vpx_dsp/Jingning Han
The various tap loop filter operations are common functions across codec. This commit moves them along with SIMD optimizations to vpx_dsp folder. Change-Id: Ia5fa0b2e5289cdb98467502a549c380b9c60e92c
2015-06-22vp9_reconintra_neon: add d45 16x16James Zern
~90% faster over 20M pixels Change-Id: I92d80f66e91e0a870a672cfb5dd29bf1a17cb11a
2015-06-19vp9_reconintra_neon: add d45 8x8James Zern
based on ssse3 implementation ~91% faster over 20M pixels Change-Id: I6d743a53352c2d6de0efe7899d7996e8b0f7fa29
2015-06-18vp9_reconintra_neon: add d45 4x4James Zern
based on webp's LD4() ~59% faster over 20M pixels Change-Id: I371eaed9ce8f470451046997e130b0ba1a2f7a9c
2015-06-18vp9_reconintra_neon: add d135 4x4James Zern
based on webp's RD4() ~50% faster over 20M pixels Change-Id: Ifcb7bf7f7fc8eabf79d9e3b219ce1be67abc524a
2015-06-18vp9_reconintra_neon: add DC 4x4 predictorsJames Zern
~85-89% faster over 20M pixels Change-Id: I3812e8adfffe5255034da88dfe6546e12f4d10ee
2015-06-15vp9_reconintra_neon: add DC 32x32 predictorsJames Zern
~84-85% faster over 20M pixels Change-Id: Ia67a7f4a342bf7b0a9280e05c25d81a774d90469
2015-06-03vp9_reconintra_neon_asm/tm4x4: simplify left loadJames Zern
use vld1.8 {d0[]}, [r0] rather than ldrb+vdup; mildly faster Change-Id: Ia5ffc736bcb0f5497b7d9e55a93bf5a5f5f6928c
2015-06-01Merge changes from topic 'vp9-intra-pred'James Zern
* changes: vp9_reconintra_neon/tm: improve above_left load vp9_reconintra_neon: cosmetics: normalize fn params
2015-05-29vp9_reconintra_neon/tm: improve above_left loadJames Zern
use vld1?_dup_u8 over vdup?_n_u8, reduces general register use; mildly faster Change-Id: Ie0e4e550849a207b34b378541196b553c9f12011
2015-05-29vp9_reconintra_neon: cosmetics: normalize fn paramsJames Zern
s/y_stride/stride/ Change-Id: Ie98c3fe241dc240b653849eda356a8862bdd52f4
2015-05-29vp9_reconintra_neon_asm/tm: simplify above_left loadJames Zern
use vld1.8 {d0[]}, [r0] rather than ldrb+vdup; mildly faster Change-Id: I5c24d49a90c2855c94395184774b289da8e9d5a7
2015-05-29vp9_reconintra_neon: add DC 16x16 predictorsJames Zern
85-89% faster over 20M pixels Change-Id: I9b320ed6b9e67f27df738b84c8b43b65a93c50c2
2015-05-29vp9_reconintra_neon: add DC 8x8 predictorsJames Zern
~90% faster over 20M pixels Change-Id: Iab791510cc57c8332c2f9a5da0ed50702e5f5763
2015-05-22vp9_reconintra_neon: cosmetics: reindentJames Zern
Change-Id: Ie15e301e8f55cf928f42a03e53a8bb8b66d0e5d5
2015-05-22vp9_reconintra_neon: cosmetics: drop unneeded returnsJames Zern
Change-Id: Ib070c79bdbb9c1f4e25af693d7056ec9f964c789
2015-05-13Relocate memory operations for common codeJohann
With the sad functions, and hopefully the variance functions soon, moving to the vpx_dsp location, place the defines used in the reference C code in a common location. Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
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-04-21Rename neon convolve avg fileJohann
Some build systems use just the basename for object files. Change-Id: I333e1107ee866f3906cc46476ef8d04c6200a8a0
2015-01-06Disable vp9 _8_ loopfiltersJohann
Investigating https://code.google.com/p/chromium/issues/detail?id=443839 Change-Id: Ibb7485d835c5aa5e1d40f31715596ba8d208eedb
2015-01-06Rearrange loopfilter functionsJohann
Separate functions and rename files. This will make it easier to disable some functions later to help work around a compiler issue in chromium. Change-Id: I7f30e109f77c4cd22e2eda7bd006672f090c1dc5
2014-12-16VP9 common for ARMv8 by using NEON intrinsics 15James Yu
Re-write - vp9_lpf_horizontal_4_dual_neon in vp9_loopfilter_16_neon.c Change-Id: Ie14f63d352f9564ad01db3939a61d91cf6d21a31 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-16Merge "Use defines for inline and __builtin_prefetch"Johann
2014-12-16Use defines for inline and __builtin_prefetchJohann
These were established for compatibility. Make sure to use them. Most frequently they manifest as issues on Visual Studio builds. Change-Id: I39d764d2eb341b999d7a6132cb44b2acfc511160
2014-12-16VP9 common for ARMv8 by using NEON intrinsics 16James Yu
Add vp9_reconintra_neon.c - vp9_v_predictor_4x4_neon - vp9_v_predictor_8x8_neon - vp9_v_predictor_16x16_neon - vp9_v_predictor_32x32_neon - vp9_h_predictor_4x4_neon - vp9_h_predictor_8x8_neon - vp9_h_predictor_16x16_neon - vp9_h_predictor_32x32_neon - vp9_tm_predictor_4x4_neon - vp9_tm_predictor_8x8_neon - vp9_tm_predictor_16x16_neon - vp9_tm_predictor_32x32_neon Change-Id: Ib5d54a4766a1b5127169045659974f33aa98376d Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-16VP9 common for ARMv8 by using NEON intrinsics 19James Yu
Delete vp9_dc_only_idct_add_neon.c The function was merged with vp9_short_idct4x4_1_add (later vp9_idct4x4_1_add) in d2de1ca and should have been deleted then. Change-Id: Ie58ba3dd9dc7330a8f1238dd7dd71c9ed4639b94 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-15VP9 common for ARMv8 by using NEON intrinsics 06James Yu
Add vp9_iht8x8_add_neon.c - vp9_iht8x8_64_add_neon The assembly did not previously implement tx_type 0 BUG=716 Change-Id: Icfc99dd24f3d59047f9184a7d0c761ba7e3de934 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-15VP9 common for ARMv8 by using NEON intrinsics 05James Yu
Add vp9_iht4x4_add_neon.c - vp9_iht4x4_16_add_neon The assembly did not previously implement tx_type 0 BUG=715 Change-Id: I60034d1568de034edba45c5cdd13f3d87dbc73b6 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 18James Yu
Add vp9_idct32x32_add_neon.c - vp9_idct32x32_1024_add_neon Change-Id: Ic598b772c28bd3487a8ead7a4598a66b25f9b00f Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 14James Yu
Add vp9_idct16x16_add_neon.c - vp9_idct16x16_256_add_neon_pass1 - vp9_idct16x16_256_add_neon_pass2 - vp9_idct16x16_10_add_neon_pass1 - vp9_idct16x16_10_add_neon_pass2 Change-Id: I54d25b54a36f4371760f54e4036693aaea40a5de Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 13James Yu
Add vp9_idct8x8_add_neon.c - vp9_idct8x8_64_add_neon - vp9_idct8x8_10_add_neon Change-Id: I6ee7b4496765aa36ed52990f2ef73e9f24459610 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 12James Yu
Add vp9_idct4x4_add_neon.c - vp9_idct4x4_16_add_neon Change-Id: I011a96b10f1992dbd52246019ce05bae7ca8ea4f Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 11James Yu
Add vp9_idct16x16_1_add_neon.c - vp9_idct16x16_1_add_neon Change-Id: I7c6524024ad4cb4e66aa38f1c887e733503c39df Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 10James Yu
Add vp9_idct32x32_1_add_neon.c - vp9_idct32x32_1_add_neon Change-Id: If9ffe9a857228f5c67f61dc2b428b40965816eda Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 09James Yu
Add vp9_idct8x8_1_add_neon.c - vp9_idct8x8_1_add_neon Change-Id: I9d23e01fa96013febbf64db6c76c6c955f14e3ff Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 08James Yu
Add vp9_idct4x4_1_add_neon.c - vp9_idct4x4_1_add_neon Change-Id: Ieab9af107dbd07a4f9503bc945890c90faccb8ac Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09VP9 common for ARMv8 by using NEON intrinsics 07James Yu
Add vp9_convolve8_neon.c - vp9_convolve8_horiz_neon - vp9_convolve8_vert_neon Change-Id: I0bdd99ff72d275223fe211ac7243c25a5a60cf87 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09VP9 common for ARMv8 by using NEON intrinsics 04James Yu
Add vp9_convolve8_avg_neon.c - vp9_convolve8_avg_horiz_neon - vp9_convolve8_avg_vert_neon Change-Id: I617971e37b02186fec5aca181f4f9622050ea2df Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09VP9 common for ARMv8 by using NEON intrinsics 03James Yu
Add vp9_copy_neon.c - vp9_convolve_copy_neon Change-Id: I291fc5423d06240876411bbceab03eae5ef585be Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09VP9 common for ARMv8 by using NEON intrinsics 02Scott LaVarnway
Add vp9_avg_neon.c - vp9_convolve_avg_neon Change-Id: Id2c9d5bcfa37cff1a16417aba1656ff07bdf10fd Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-09VP9 common for ARMv8 by using NEON intrinsics 01James Yu
Add vp9_loopfilter_neon.c - vp9_lpf_horizontal_4_neon - vp9_lpf_vertical_4_neon - vp9_lpf_horizontal_8_neon - vp9_lpf_vertical_8_neon Change-Id: I97a0d7b399a431c21ee77396be3d5f5a1f7ebccb Signed-off-by: James Yu <james.yu@linaro.org>
2014-10-22Fix Neon convolve profilingFrank Galligan
When profiling, gprof can't distinguish between matching labels in different files. Change-Id: I56770df212ed314a0d8568071fa8157624ef1e8f
2014-06-20Merge "Include type defines"Johann