diff options
author | hkuang <hkuang@google.com> | 2013-09-16 15:09:58 -0700 |
---|---|---|
committer | Hangyu Kuang <hkuang@google.com> | 2013-09-17 22:05:28 +0000 |
commit | 1184aebb761cbeac9124c37189a80a1a58f04b6b (patch) | |
tree | b1ce6b3d29c43ffd22eb18999c5c3bad26513a48 /armv7a-neon | |
parent | f3bed9137f66ef693bd406e43b17e9a1114f1e14 (diff) | |
download | android_external_libvpx-1184aebb761cbeac9124c37189a80a1a58f04b6b.tar.gz android_external_libvpx-1184aebb761cbeac9124c37189a80a1a58f04b6b.tar.bz2 android_external_libvpx-1184aebb761cbeac9124c37189a80a1a58f04b6b.zip |
Roll latest libvpx into Android.
The latest libvpx has more neon optimizations and a lot of
algorithm optimizations which make the vp9 decode much more faster.
bug:10804666
Change-Id: I75eaacea57ecc7542a780be778f0e9e157978524
(cherry picked from commit 3df0563f1b24dac6c0bd122fc922a48211269061)
Diffstat (limited to 'armv7a-neon')
-rw-r--r-- | armv7a-neon/libvpx_srcs.txt | 14 | ||||
-rw-r--r-- | armv7a-neon/vp9_rtcd.h | 154 | ||||
-rw-r--r-- | armv7a-neon/vpx_config.c | 2 | ||||
-rw-r--r-- | armv7a-neon/vpx_config.h | 1 | ||||
-rw-r--r-- | armv7a-neon/vpx_scale_rtcd.h | 10 |
5 files changed, 101 insertions, 80 deletions
diff --git a/armv7a-neon/libvpx_srcs.txt b/armv7a-neon/libvpx_srcs.txt index 25ca5e0..8f8b655 100644 --- a/armv7a-neon/libvpx_srcs.txt +++ b/armv7a-neon/libvpx_srcs.txt @@ -203,13 +203,25 @@ vp8/vp8_cx_iface.c vp8/vp8cx.mk vp8/vp8_dx_iface.c vp8/vp8dx.mk +vp9/common/arm/neon/vp9_avg_neon.asm.s vp9/common/arm/neon/vp9_convolve8_avg_neon.asm.s vp9/common/arm/neon/vp9_convolve8_neon.asm.s vp9/common/arm/neon/vp9_convolve_neon.c +vp9/common/arm/neon/vp9_copy_neon.asm.s vp9/common/arm/neon/vp9_dc_only_idct_add_neon.asm.s +vp9/common/arm/neon/vp9_idct16x16_neon.c +vp9/common/arm/neon/vp9_idct32x32_neon.c vp9/common/arm/neon/vp9_loopfilter_neon.asm.s vp9/common/arm/neon/vp9_mb_lpf_neon.asm.s +vp9/common/arm/neon/vp9_short_idct16x16_1_add_neon.asm.s +vp9/common/arm/neon/vp9_short_idct16x16_add_neon.asm.s +vp9/common/arm/neon/vp9_short_idct32x32_add_neon.asm.s +vp9/common/arm/neon/vp9_short_idct4x4_1_add_neon.asm.s +vp9/common/arm/neon/vp9_short_idct4x4_add_neon.asm.s +vp9/common/arm/neon/vp9_short_idct8x8_1_add_neon.asm.s vp9/common/arm/neon/vp9_short_idct8x8_add_neon.asm.s +vp9/common/arm/neon/vp9_short_iht4x4_add_neon.asm.s +vp9/common/arm/neon/vp9_short_iht8x8_add_neon.asm.s vp9/common/generic/vp9_systemdependent.c vp9/common/vp9_alloccommon.c vp9/common/vp9_alloccommon.h @@ -257,6 +269,8 @@ vp9/common/vp9_reconintra.h vp9/common/vp9_rtcd.c vp9/common/vp9_rtcd_defs.sh vp9/common/vp9_sadmxn.h +vp9/common/vp9_scale.c +vp9/common/vp9_scale.h vp9/common/vp9_seg_common.c vp9/common/vp9_seg_common.h vp9/common/vp9_subpelvar.h diff --git a/armv7a-neon/vp9_rtcd.h b/armv7a-neon/vp9_rtcd.h index 4ebb497..fdca309 100644 --- a/armv7a-neon/vp9_rtcd.h +++ b/armv7a-neon/vp9_rtcd.h @@ -36,160 +36,160 @@ void vp9_idct_add_c(int16_t *input, uint8_t *dest, int stride, int eob); void vp9_idct_add_32x32_c(int16_t *q, uint8_t *dst, int stride, int eob); #define vp9_idct_add_32x32 vp9_idct_add_32x32_c -void vp9_d27_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); -#define vp9_d27_predictor_4x4 vp9_d27_predictor_4x4_c +void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); +#define vp9_d207_predictor_4x4 vp9_d207_predictor_4x4_c -void vp9_d45_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c -void vp9_d63_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c -void vp9_h_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_h_predictor_4x4 vp9_h_predictor_4x4_c -void vp9_d117_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c -void vp9_d135_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c -void vp9_d153_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c -void vp9_v_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_v_predictor_4x4 vp9_v_predictor_4x4_c -void vp9_tm_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_tm_predictor_4x4 vp9_tm_predictor_4x4_c -void vp9_dc_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_c -void vp9_dc_top_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c -void vp9_dc_left_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c -void vp9_dc_128_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c -void vp9_d27_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); -#define vp9_d27_predictor_8x8 vp9_d27_predictor_8x8_c +void vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); +#define vp9_d207_predictor_8x8 vp9_d207_predictor_8x8_c -void vp9_d45_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c -void vp9_d63_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c -void vp9_h_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_h_predictor_8x8 vp9_h_predictor_8x8_c -void vp9_d117_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c -void vp9_d135_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c -void vp9_d153_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c -void vp9_v_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_v_predictor_8x8 vp9_v_predictor_8x8_c -void vp9_tm_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_tm_predictor_8x8 vp9_tm_predictor_8x8_c -void vp9_dc_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_c -void vp9_dc_top_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c -void vp9_dc_left_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c -void vp9_dc_128_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c -void vp9_d27_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); -#define vp9_d27_predictor_16x16 vp9_d27_predictor_16x16_c +void vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); +#define vp9_d207_predictor_16x16 vp9_d207_predictor_16x16_c -void vp9_d45_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c -void vp9_d63_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c -void vp9_h_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_h_predictor_16x16 vp9_h_predictor_16x16_c -void vp9_d117_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c -void vp9_d135_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c -void vp9_d153_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c -void vp9_v_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_v_predictor_16x16 vp9_v_predictor_16x16_c -void vp9_tm_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_tm_predictor_16x16 vp9_tm_predictor_16x16_c -void vp9_dc_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_c -void vp9_dc_top_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c -void vp9_dc_left_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c -void vp9_dc_128_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c -void vp9_d27_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); -#define vp9_d27_predictor_32x32 vp9_d27_predictor_32x32_c +void vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); +#define vp9_d207_predictor_32x32 vp9_d207_predictor_32x32_c -void vp9_d45_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c -void vp9_d63_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c -void vp9_h_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_h_predictor_32x32 vp9_h_predictor_32x32_c -void vp9_d117_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c -void vp9_d135_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c -void vp9_d153_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c -void vp9_v_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_v_predictor_32x32 vp9_v_predictor_32x32_c -void vp9_tm_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_c -void vp9_dc_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c -void vp9_dc_top_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c -void vp9_dc_left_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c -void vp9_dc_128_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); +void vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); #define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c void vp9_add_constant_residual_8x8_c(const int16_t diff, uint8_t *dest, int stride); @@ -238,10 +238,12 @@ void vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, i #define vp9_blend_b vp9_blend_b_c void vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); -#define vp9_convolve_copy vp9_convolve_copy_c +void vp9_convolve_copy_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); +#define vp9_convolve_copy vp9_convolve_copy_neon void vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); -#define vp9_convolve_avg vp9_convolve_avg_c +void vp9_convolve_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); +#define vp9_convolve_avg vp9_convolve_avg_neon void vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); void vp9_convolve8_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); @@ -268,41 +270,51 @@ void vp9_convolve8_avg_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8 #define vp9_convolve8_avg_vert vp9_convolve8_avg_vert_neon void vp9_short_idct4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); -#define vp9_short_idct4x4_1_add vp9_short_idct4x4_1_add_c +void vp9_short_idct4x4_1_add_neon(int16_t *input, uint8_t *dest, int dest_stride); +#define vp9_short_idct4x4_1_add vp9_short_idct4x4_1_add_neon void vp9_short_idct4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride); -#define vp9_short_idct4x4_add vp9_short_idct4x4_add_c +void vp9_short_idct4x4_add_neon(int16_t *input, uint8_t *dest, int dest_stride); +#define vp9_short_idct4x4_add vp9_short_idct4x4_add_neon void vp9_short_idct8x8_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); -#define vp9_short_idct8x8_1_add vp9_short_idct8x8_1_add_c +void vp9_short_idct8x8_1_add_neon(int16_t *input, uint8_t *dest, int dest_stride); +#define vp9_short_idct8x8_1_add vp9_short_idct8x8_1_add_neon void vp9_short_idct8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride); void vp9_short_idct8x8_add_neon(int16_t *input, uint8_t *dest, int dest_stride); #define vp9_short_idct8x8_add vp9_short_idct8x8_add_neon void vp9_short_idct10_8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride); -#define vp9_short_idct10_8x8_add vp9_short_idct10_8x8_add_c +void vp9_short_idct10_8x8_add_neon(int16_t *input, uint8_t *dest, int dest_stride); +#define vp9_short_idct10_8x8_add vp9_short_idct10_8x8_add_neon void vp9_short_idct16x16_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); -#define vp9_short_idct16x16_1_add vp9_short_idct16x16_1_add_c +void vp9_short_idct16x16_1_add_neon(int16_t *input, uint8_t *dest, int dest_stride); +#define vp9_short_idct16x16_1_add vp9_short_idct16x16_1_add_neon void vp9_short_idct16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride); -#define vp9_short_idct16x16_add vp9_short_idct16x16_add_c +void vp9_short_idct16x16_add_neon(int16_t *input, uint8_t *dest, int dest_stride); +#define vp9_short_idct16x16_add vp9_short_idct16x16_add_neon void vp9_short_idct10_16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride); -#define vp9_short_idct10_16x16_add vp9_short_idct10_16x16_add_c +void vp9_short_idct10_16x16_add_neon(int16_t *input, uint8_t *dest, int dest_stride); +#define vp9_short_idct10_16x16_add vp9_short_idct10_16x16_add_neon void vp9_short_idct32x32_add_c(int16_t *input, uint8_t *dest, int dest_stride); -#define vp9_short_idct32x32_add vp9_short_idct32x32_add_c +void vp9_short_idct32x32_add_neon(int16_t *input, uint8_t *dest, int dest_stride); +#define vp9_short_idct32x32_add vp9_short_idct32x32_add_neon void vp9_short_idct1_32x32_c(int16_t *input, int16_t *output); #define vp9_short_idct1_32x32 vp9_short_idct1_32x32_c void vp9_short_iht4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); -#define vp9_short_iht4x4_add vp9_short_iht4x4_add_c +void vp9_short_iht4x4_add_neon(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); +#define vp9_short_iht4x4_add vp9_short_iht4x4_add_neon void vp9_short_iht8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); -#define vp9_short_iht8x8_add vp9_short_iht8x8_add_c +void vp9_short_iht8x8_add_neon(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); +#define vp9_short_iht8x8_add vp9_short_iht8x8_add_neon void vp9_short_iht16x16_add_c(int16_t *input, uint8_t *output, int pitch, int tx_type); #define vp9_short_iht16x16_add vp9_short_iht16x16_add_c @@ -316,12 +328,6 @@ void vp9_short_iwalsh4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride) void vp9_short_iwalsh4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride); #define vp9_short_iwalsh4x4_add vp9_short_iwalsh4x4_add_c -unsigned int vp9_sad32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, int max_sad); -#define vp9_sad32x3 vp9_sad32x3_c - -unsigned int vp9_sad3x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, int max_sad); -#define vp9_sad3x32 vp9_sad3x32_c - void vp9_rtcd(void); #include "vpx_config.h" diff --git a/armv7a-neon/vpx_config.c b/armv7a-neon/vpx_config.c index 77be6fb..dc64ce3 100644 --- a/armv7a-neon/vpx_config.c +++ b/armv7a-neon/vpx_config.c @@ -5,5 +5,5 @@ /* tree. An additional intellectual property rights grant can be found */ /* in the file PATENTS. All contributing project authors may */ /* be found in the AUTHORS file in the root of the source tree. */ -static const char* const cfg = "--target=armv7-android-gcc --disable-runtime-cpu-detect --sdk-path=/usr/local/google/home/johannkoenig/android-ndk --disable-vp9-encoder --disable-examples --disable-docs --enable-realtime-only"; +static const char* const cfg = "--target=armv7-android-gcc --disable-runtime-cpu-detect --sdk-path=/usr/local/google/home/hkuang/Downloads/android-ndk-r8e --disable-vp9-encoder --disable-examples --disable-docs --enable-realtime-only"; const char *vpx_codec_build_config(void) {return cfg;} diff --git a/armv7a-neon/vpx_config.h b/armv7a-neon/vpx_config.h index d132e4d..452bc91 100644 --- a/armv7a-neon/vpx_config.h +++ b/armv7a-neon/vpx_config.h @@ -59,6 +59,7 @@ #define CONFIG_DC_RECON 0 #define CONFIG_RUNTIME_CPU_DETECT 0 #define CONFIG_POSTPROC 0 +#define CONFIG_VP9_POSTPROC 0 #define CONFIG_MULTITHREAD 1 #define CONFIG_INTERNAL_STATS 0 #define CONFIG_VP8_ENCODER 1 diff --git a/armv7a-neon/vpx_scale_rtcd.h b/armv7a-neon/vpx_scale_rtcd.h index 9972777..8c2ab2f 100644 --- a/armv7a-neon/vpx_scale_rtcd.h +++ b/armv7a-neon/vpx_scale_rtcd.h @@ -34,13 +34,13 @@ void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); void vp8_yv12_extend_frame_borders_neon(struct yv12_buffer_config *ybf); #define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_neon -void vp8_yv12_copy_frame_c(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); -void vp8_yv12_copy_frame_neon(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +void vp8_yv12_copy_frame_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); #define vp8_yv12_copy_frame vp8_yv12_copy_frame_neon -void vp8_yv12_copy_y_c(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); -void vp8_yv12_copy_y_neon(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); -#define vp8_yv12_copy_y vp8_yv12_copy_y_neon +void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +void vpx_yv12_copy_y_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); +#define vpx_yv12_copy_y vpx_yv12_copy_y_neon void vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); #define vp9_extend_frame_borders vp9_extend_frame_borders_c |