summaryrefslogtreecommitdiff
path: root/vp9/common/arm
AgeCommit message (Collapse)Author
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
2014-06-20Don't return value for void functionsJohann
Clears "warning: 'return' with a value, in function returning void" Change-Id: I93972610d67e243ec772a1021d2fdfcfc689c8c2
2014-06-20Include type definesJohann
Clears error: unknown type name 'uint8_t' Change-Id: I9b6eff66a5c69bc24aeaeb5ade29255a164ef0e2
2014-05-08Change eob threshold for partial inverse 8x8 2D-DCT to 12Jingning Han
The scanning order has the first 12 coefficients of the 8x8 2D-DCT sitting in the top left 4x4 block. Hence the partial inverse 8x8 2D-DCT allows to handle cases with eob below 12. The overall runtime of the inverse 8x8 2D-DCT unit is reduced from 166 cycles (using SSE2) to 150 cycles (using SSSE3). Change-Id: I4514f9748042809ac84df4c14382c00f313f1cd2
2014-02-28Merge "Fix a bug in neon that has not save and restore q4-q7 registers."hkuang
2014-02-27Fix a bug in neon that has not save and restore q4-q7 registers.hkuang
Change-Id: Ie21b5ae89100389b80f919710839084f935a8545
2014-02-14Replace vqshrun by vqmovun if shift #0 bitJames Yu
Change-Id: Ifabb8c7ec0c327fea9d6739cab10addb060ff435 Signed-off-by: James Yu <james.yu@linaro.org>
2014-02-14Merge "Remove redundant arm neon instructions."Johann
2014-02-14Merge "minor spelling cleanup in comments"Yaowu Xu
2014-02-12Fix neon wide loopfilter for filter8 only branchFrank Galligan
The current code removed the check to only perform the filter8. Change-Id: Ie54e19a77745042a5660eab986d9ef1c42e82410
2014-02-12minor spelling cleanup in commentsAndrew Russell
Change-Id: Ia91c6c406273345b08505097ffe1af3896980f06
2014-02-11Remove redundant arm neon instructions.James Yu
Change-Id: I1fabad59747eb5f68c64275a36c3a1d94daf32a3 Signed-off-by: James Yu <james.yu@linaro.org>
2014-02-05arm: Consistently use braces around doubleword arguments to vldMartin Storsjo
This isn't strictly necessary, but makes the file more consistent with the other arm assembly source files. Change-Id: I245c9677d89e0ab3f31991e473764858af35b180
2014-02-05arm: Use {} around quadword arguments to vldMartin Storsjo
This fixes building for iOS. Change-Id: Ice082648c02a3faf93891f7ddc122875e2bdc9cb
2014-01-31Removing "_short" suffix from arm transform file names.Dmitry Kovalev
Change-Id: Iefe118f61a335e88821a21a9f50fb919212c1507
2014-01-27Add vp9_tm_predictor_32x32 neon implementationhkuang
which is 7.8 times faster than C. Change-Id: I858ef4ec09202a07d445da8db702783d6d9d7321
2014-01-27Fix the vp9_tm_predictor_8x8_neon.hkuang
Change-Id: I832cf83871044bfee7b7e57dbd31bae05cbd53e9
2014-01-24Merge "Optimize vp9_tm_predictor_8x8_neon function"Frank Galligan
2014-01-24Optimize vp9_tm_predictor_8x8_neon functionFrank Galligan
Change-Id: Ia12aae491202098ff66366145aa0c3da38dc97e5
2014-01-24Add vp9_tm_predictor_16x16 neon implementationhkuang
which is 3.5 times faster than C. Change-Id: I24439ba7a2971829c11620f34848facf2c916678
2014-01-22Add tm_predictor_8x8 neon implementation.hkuang
Change-Id: I76c2720546b737cb63018a8ab6a3ff62a291786d
2014-01-16Merge "Add vp9_tm_predictor_4x4 neon implementation"hkuang
2014-01-15Add vp9_tm_predictor_4x4 neon implementationhkuang
Change-Id: I10c423bde7ea5a3bac9f14f35c73b6bc31c8f3e3
2014-01-08Merge "Add initial intra frame neon optimization. 1~2% gain."hkuang
2014-01-08Add initial intra frame neon optimization. 1~2% gain.hkuang
More intra optimizations will be added. Change-Id: I33ae8d93f6002bf7b64cc2669602d9e6bfa5a6e8
2013-12-17rename loop filter functionsJim Bankoski
This renames all the loop filter functions so that they no longer refer to mb Change-Id: I8a58a8c7fd253d835cb619bde13913e896ece90b
2013-11-26Fix 16 wide neon horz loopfilter.Frank Galligan
Multiply by 3 was on 8bit vectors when it should have been on 16bit vectors. Change-Id: I248c1429b3134dfd171dfab0ebb109fd2437e1fc