diff --git a/build/make/configure.sh b/build/make/configure.sh index cbf000b709d82ebeb78c0f98fbf3cecb8b40cfe5..799a4397bde909fda6f9163cc73a054c161f2e78 100755 --- a/build/make/configure.sh +++ b/build/make/configure.sh @@ -671,10 +671,22 @@ process_common_toolchain() { case ${toolchain} in arm*) # on arm, isa versions are supersets - enabled armv7a && soft_enable armv7 ### DEBUG - enabled armv7 && soft_enable armv6 - enabled armv7 || enabled armv6 && soft_enable armv5te - enabled armv7 || enabled armv6 && soft_enable fast_unaligned + case ${tgt_isa} in + armv7) + soft_enable neon + soft_enable media + soft_enable edsp + soft_enable fast_unaligned + ;; + armv6) + soft_enable media + soft_enable edsp + soft_enable fast_unaligned + ;; + armv5te) + soft_enable edsp + ;; + esac asm_conversion_cmd="cat" @@ -687,10 +699,14 @@ process_common_toolchain() { arch_int=${arch_int%%te} check_add_asflags --defsym ARCHITECTURE=${arch_int} tune_cflags="-mtune=" - if enabled armv7 - then - check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-ftree-vectorize - check_add_asflags -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-march=armv7-a + if [ ${tgt_isa} == "armv7" ]; then + if enabled neon + then + check_add_cflags -mfpu=neon #-ftree-vectorize + check_add_asflags -mfpu=neon + fi + check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfloat-abi=softfp + check_add_asflags -mcpu=cortex-a8 -mfloat-abi=softfp #-march=armv7-a else check_add_cflags -march=${tgt_isa} check_add_asflags -march=${tgt_isa} @@ -708,10 +724,14 @@ process_common_toolchain() { tune_cflags="--cpu=" tune_asflags="--cpu=" if [ -z "${tune_cpu}" ]; then - if enabled armv7 - then - check_add_cflags --cpu=Cortex-A8 --fpu=softvfp+vfpv3 - check_add_asflags --cpu=Cortex-A8 --fpu=softvfp+vfpv3 + if [ ${tgt_isa} == "armv7" ]; then + if enabled neon + then + check_add_cflags --fpu=softvfp+vfpv3 + check_add_asflags --fpu=softvfp+vfpv3 + fi + check_add_cflags --cpu=Cortex-A8 + check_add_asflags --cpu=Cortex-A8 else check_add_cflags --cpu=${tgt_isa##armv} check_add_asflags --cpu=${tgt_isa##armv} @@ -759,8 +779,7 @@ process_common_toolchain() { enable pic soft_enable realtime_only - if enabled armv7 - then + if [ ${tgt_isa} == "armv7" ]; then enable runtime_cpu_detect fi ;; diff --git a/configure b/configure index 6195b2d9f94cc9b42e3c37bbb6c487e89b66806d..7ecd72efa7d88c9b677c381f2dda3faf17700ba9 100755 --- a/configure +++ b/configure @@ -192,9 +192,9 @@ ARCH_LIST=" ppc64 " ARCH_EXT_LIST=" - armv5te - armv6 - armv7 + edsp + media + neon mips32 diff --git a/vp8/common/arm/arm_systemdependent.c b/vp8/common/arm/arm_systemdependent.c index 89a2be8257d4c4276594fcacb5c479f8379a06bd..d16ff2bb26281a63efee8bdb0be5a28bab279d03 100644 --- a/vp8/common/arm/arm_systemdependent.c +++ b/vp8/common/arm/arm_systemdependent.c @@ -26,13 +26,13 @@ void vp8_arch_arm_common_init(VP8_COMMON *ctx) rtcd->flags = flags; /* Override default functions with fastest ones for this CPU. */ -#if HAVE_ARMV5TE +#if HAVE_EDSP if (flags & HAS_EDSP) { } #endif -#if HAVE_ARMV6 +#if HAVE_MEDIA if (flags & HAS_MEDIA) { rtcd->subpix.sixtap16x16 = vp8_sixtap_predict16x16_armv6; @@ -71,7 +71,7 @@ void vp8_arch_arm_common_init(VP8_COMMON *ctx) } #endif -#if HAVE_ARMV7 +#if HAVE_NEON if (flags & HAS_NEON) { rtcd->subpix.sixtap16x16 = vp8_sixtap_predict16x16_neon; diff --git a/vp8/common/arm/dequantize_arm.c b/vp8/common/arm/dequantize_arm.c index 7cf4bf94308b03a5d5e6e705f30fdc8803fb96f0..66a5dce2646f688c3c96f8d2e970fc7f9e704f5d 100644 --- a/vp8/common/arm/dequantize_arm.c +++ b/vp8/common/arm/dequantize_arm.c @@ -13,15 +13,15 @@ #include "vp8/common/dequantize.h" #include "vp8/common/idct.h" -#if HAVE_ARMV7 +#if HAVE_NEON extern void vp8_dequantize_b_loop_neon(short *Q, short *DQC, short *DQ); #endif -#if HAVE_ARMV6 +#if HAVE_MEDIA extern void vp8_dequantize_b_loop_v6(short *Q, short *DQC, short *DQ); #endif -#if HAVE_ARMV7 +#if HAVE_NEON void vp8_dequantize_b_neon(BLOCKD *d, short *DQC) { @@ -32,7 +32,7 @@ void vp8_dequantize_b_neon(BLOCKD *d, short *DQC) } #endif -#if HAVE_ARMV6 +#if HAVE_MEDIA void vp8_dequantize_b_v6(BLOCKD *d, short *DQC) { short *DQ = d->dqcoeff; diff --git a/vp8/common/arm/dequantize_arm.h b/vp8/common/arm/dequantize_arm.h index 0b4d8fe8902fb924054ee72e60dfc86f5bb33e86..e330260bf59528372badde55f91630d065ec08e9 100644 --- a/vp8/common/arm/dequantize_arm.h +++ b/vp8/common/arm/dequantize_arm.h @@ -12,7 +12,7 @@ #ifndef DEQUANTIZE_ARM_H #define DEQUANTIZE_ARM_H -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_dequant_block(vp8_dequantize_b_v6); extern prototype_dequant_idct_add(vp8_dequant_idct_add_v6); extern prototype_dequant_idct_add_y_block(vp8_dequant_idct_add_y_block_v6); @@ -33,7 +33,7 @@ extern prototype_dequant_idct_add_uv_block(vp8_dequant_idct_add_uv_block_v6); #endif #endif -#if HAVE_ARMV7 +#if HAVE_NEON extern prototype_dequant_block(vp8_dequantize_b_neon); extern prototype_dequant_idct_add(vp8_dequant_idct_add_neon); extern prototype_dequant_idct_add_y_block(vp8_dequant_idct_add_y_block_neon); diff --git a/vp8/common/arm/filter_arm.c b/vp8/common/arm/filter_arm.c index 6d95eb8e349db3276dc92cad020d1c259ee2d54a..55c8e7fe328d04754c423760e92b4d2db03255a2 100644 --- a/vp8/common/arm/filter_arm.c +++ b/vp8/common/arm/filter_arm.c @@ -86,7 +86,7 @@ extern void vp8_filter_block2d_second_pass_only_armv6 const short *vp8_filter ); -#if HAVE_ARMV6 +#if HAVE_MEDIA void vp8_sixtap_predict_armv6 ( unsigned char *src_ptr, diff --git a/vp8/common/arm/idct_arm.h b/vp8/common/arm/idct_arm.h index 68c0cad11bfb9483505d643a9e8b22c50e44e2e6..63a5f3ecb5a996e35fb0923ac12418438e05fba2 100644 --- a/vp8/common/arm/idct_arm.h +++ b/vp8/common/arm/idct_arm.h @@ -12,7 +12,7 @@ #ifndef IDCT_ARM_H #define IDCT_ARM_H -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_idct(vp8_short_idct4x4llm_v6_dual); extern prototype_idct_scalar_add(vp8_dc_only_idct_add_v6); extern prototype_second_order(vp8_short_inv_walsh4x4_1_v6); @@ -30,7 +30,7 @@ extern prototype_second_order(vp8_short_inv_walsh4x4_v6); #endif #endif -#if HAVE_ARMV7 +#if HAVE_NEON extern prototype_idct(vp8_short_idct4x4llm_neon); extern prototype_idct_scalar_add(vp8_dc_only_idct_add_neon); extern prototype_second_order(vp8_short_inv_walsh4x4_1_neon); diff --git a/vp8/common/arm/loopfilter_arm.c b/vp8/common/arm/loopfilter_arm.c index c841d455a0c6963ad01fd24c6bee3a4561db1549..4e253e1aa7e32a4ffeea43a90944dc98abd7f3bf 100644 --- a/vp8/common/arm/loopfilter_arm.c +++ b/vp8/common/arm/loopfilter_arm.c @@ -13,14 +13,14 @@ #include "vp8/common/loopfilter.h" #include "vp8/common/onyxc_int.h" -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_loopfilter(vp8_loop_filter_horizontal_edge_armv6); extern prototype_loopfilter(vp8_loop_filter_vertical_edge_armv6); extern prototype_loopfilter(vp8_mbloop_filter_horizontal_edge_armv6); extern prototype_loopfilter(vp8_mbloop_filter_vertical_edge_armv6); #endif -#if HAVE_ARMV7 +#if HAVE_NEON typedef void loopfilter_y_neon(unsigned char *src, int pitch, unsigned char blimit, unsigned char limit, unsigned char thresh); typedef void loopfilter_uv_neon(unsigned char *u, int pitch, @@ -38,8 +38,8 @@ extern loopfilter_uv_neon vp8_mbloop_filter_horizontal_edge_uv_neon; extern loopfilter_uv_neon vp8_mbloop_filter_vertical_edge_uv_neon; #endif -#if HAVE_ARMV6 -/*ARMV6 loopfilter functions*/ +#if HAVE_MEDIA +/* ARMV6/MEDIA loopfilter functions*/ /* Horizontal MB filtering */ void vp8_loop_filter_mbh_armv6(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, int y_stride, int uv_stride, loop_filter_info *lfi) @@ -113,7 +113,7 @@ void vp8_loop_filter_bvs_armv6(unsigned char *y_ptr, int y_stride, } #endif -#if HAVE_ARMV7 +#if HAVE_NEON /* NEON loopfilter functions */ /* Horizontal MB filtering */ void vp8_loop_filter_mbh_neon(unsigned char *y_ptr, unsigned char *u_ptr, unsigned char *v_ptr, diff --git a/vp8/common/arm/loopfilter_arm.h b/vp8/common/arm/loopfilter_arm.h index 390a547b0776143bf7023043bcf38856a52df523..28d454e899cc54dfbe37232949701481005578e6 100644 --- a/vp8/common/arm/loopfilter_arm.h +++ b/vp8/common/arm/loopfilter_arm.h @@ -14,7 +14,7 @@ #include "vpx_config.h" -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_loopfilter_block(vp8_loop_filter_mbv_armv6); extern prototype_loopfilter_block(vp8_loop_filter_bv_armv6); extern prototype_loopfilter_block(vp8_loop_filter_mbh_armv6); @@ -50,9 +50,9 @@ extern prototype_simple_loopfilter(vp8_loop_filter_simple_vertical_edge_armv6); #define vp8_lf_simple_b_h vp8_loop_filter_bhs_armv6 #endif /* !CONFIG_RUNTIME_CPU_DETECT */ -#endif /* HAVE_ARMV6 */ +#endif /* HAVE_MEDIA */ -#if HAVE_ARMV7 +#if HAVE_NEON extern prototype_loopfilter_block(vp8_loop_filter_mbv_neon); extern prototype_loopfilter_block(vp8_loop_filter_bv_neon); extern prototype_loopfilter_block(vp8_loop_filter_mbh_neon); @@ -88,6 +88,6 @@ extern prototype_simple_loopfilter(vp8_loop_filter_bhs_neon); #define vp8_lf_simple_b_h vp8_loop_filter_bhs_neon #endif /* !CONFIG_RUNTIME_CPU_DETECT */ -#endif /* HAVE_ARMV7 */ +#endif /* HAVE_NEON */ #endif /* LOOPFILTER_ARM_H */ diff --git a/vp8/common/arm/neon/save_neon_reg.asm b/vp8/common/arm/neon/save_reg_neon.asm similarity index 100% rename from vp8/common/arm/neon/save_neon_reg.asm rename to vp8/common/arm/neon/save_reg_neon.asm diff --git a/vp8/common/arm/recon_arm.h b/vp8/common/arm/recon_arm.h index f8ef56ac68b635c58c7af5550aba570859d8c8ee..e2baa5b3a8cdcebec75051879706e4a396a3941a 100644 --- a/vp8/common/arm/recon_arm.h +++ b/vp8/common/arm/recon_arm.h @@ -12,7 +12,7 @@ #ifndef RECON_ARM_H #define RECON_ARM_H -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_copy_block(vp8_copy_mem8x8_v6); extern prototype_copy_block(vp8_copy_mem8x4_v6); @@ -34,7 +34,7 @@ extern prototype_intra4x4_predict(vp8_intra4x4_predict_armv6); #endif #endif -#if HAVE_ARMV7 +#if HAVE_NEON extern prototype_copy_block(vp8_copy_mem8x8_neon); extern prototype_copy_block(vp8_copy_mem8x4_neon); diff --git a/vp8/common/arm/reconintra_arm.c b/vp8/common/arm/reconintra_arm.c index cd82baf7cff38982e41108a1e3f9f3630726c76c..c167d9298bcf94a9bf255122f9230866455f2f13 100644 --- a/vp8/common/arm/reconintra_arm.c +++ b/vp8/common/arm/reconintra_arm.c @@ -15,7 +15,7 @@ #include "vpx_mem/vpx_mem.h" #include "vp8/common/recon.h" -#if HAVE_ARMV7 +#if HAVE_NEON extern void vp8_build_intra_predictors_mby_neon_func( unsigned char *y_buffer, unsigned char *ypred_ptr, @@ -35,10 +35,7 @@ void vp8_build_intra_predictors_mby_neon(MACROBLOCKD *x) vp8_build_intra_predictors_mby_neon_func(y_buffer, ypred_ptr, y_stride, mode, Up, Left); } -#endif - -#if HAVE_ARMV7 extern void vp8_build_intra_predictors_mby_s_neon_func( unsigned char *y_buffer, unsigned char *ypred_ptr, diff --git a/vp8/common/arm/subpixel_arm.h b/vp8/common/arm/subpixel_arm.h index 6288538d06fa19b208d54170009157e5a2682f64..dba372e36476ae85561c731e8ae1287543eb572f 100644 --- a/vp8/common/arm/subpixel_arm.h +++ b/vp8/common/arm/subpixel_arm.h @@ -12,7 +12,7 @@ #ifndef SUBPIXEL_ARM_H #define SUBPIXEL_ARM_H -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_subpixel_predict(vp8_sixtap_predict16x16_armv6); extern prototype_subpixel_predict(vp8_sixtap_predict8x8_armv6); extern prototype_subpixel_predict(vp8_sixtap_predict8x4_armv6); @@ -49,7 +49,7 @@ extern prototype_subpixel_predict(vp8_bilinear_predict4x4_armv6); #endif #endif -#if HAVE_ARMV7 +#if HAVE_NEON extern prototype_subpixel_predict(vp8_sixtap_predict16x16_neon); extern prototype_subpixel_predict(vp8_sixtap_predict8x8_neon); extern prototype_subpixel_predict(vp8_sixtap_predict8x4_neon); diff --git a/vp8/common/asm_com_offsets.c b/vp8/common/asm_com_offsets.c index 704a3f07f8de1c957227c1b31cc74a21e231768c..5cf151980607873b0e7c0ac6b13ff6fd7fb7f175 100644 --- a/vp8/common/asm_com_offsets.c +++ b/vp8/common/asm_com_offsets.c @@ -35,7 +35,7 @@ END /* add asserts for any offset that is not supported by assembly code */ /* add asserts for any size that is not supported by assembly code */ -#if HAVE_ARMV6 +#if HAVE_MEDIA /* switch case in vp8_intra4x4_predict_armv6 is based on these enumerated values */ ct_assert(B_DC_PRED, B_DC_PRED == 0); ct_assert(B_TM_PRED, B_TM_PRED == 1); @@ -49,7 +49,7 @@ ct_assert(B_HD_PRED, B_HD_PRED == 8); ct_assert(B_HU_PRED, B_HU_PRED == 9); #endif -#if HAVE_ARMV7 +#if HAVE_NEON /* vp8_yv12_extend_frame_borders_neon makes several assumptions based on this */ ct_assert(VP8BORDERINPIXELS_VAL, VP8BORDERINPIXELS == 32) #endif diff --git a/vp8/decoder/arm/arm_dsystemdependent.c b/vp8/decoder/arm/arm_dsystemdependent.c index bf0a3481a3b09f98c92b29daff9f9bfbc250d00b..aeecacb40e79e6040d96717a88cb1b18e38c278f 100644 --- a/vp8/decoder/arm/arm_dsystemdependent.c +++ b/vp8/decoder/arm/arm_dsystemdependent.c @@ -18,19 +18,19 @@ void vp8_arch_arm_decode_init(VP8D_COMP *pbi) #if CONFIG_RUNTIME_CPU_DETECT int flags = pbi->common.rtcd.flags; -#if HAVE_ARMV5TE +#if HAVE_EDSP if (flags & HAS_EDSP) { } #endif -#if HAVE_ARMV6 +#if HAVE_MEDIA if (flags & HAS_MEDIA) { } #endif -#if HAVE_ARMV7 +#if HAVE_NEON if (flags & HAS_NEON) { } diff --git a/vp8/decoder/onyxd_if.c b/vp8/decoder/onyxd_if.c index 980b9237ed534e778c4dc76ae6968cb0e4a10165..13be34f940cf2607febeb75a09a286dcadf089e9 100644 --- a/vp8/decoder/onyxd_if.c +++ b/vp8/decoder/onyxd_if.c @@ -211,7 +211,7 @@ vpx_codec_err_t vp8dx_set_reference(VP8D_COMP *pbi, VP8_REFFRAME ref_frame_flag, } /*For ARM NEON, d8-d15 are callee-saved registers, and need to be saved by us.*/ -#if HAVE_ARMV7 +#if HAVE_NEON extern void vp8_push_neon(int64_t *store); extern void vp8_pop_neon(int64_t *store); #endif @@ -298,7 +298,7 @@ static int swap_frame_buffers (VP8_COMMON *cm) int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsigned char *source, int64_t time_stamp) { -#if HAVE_ARMV7 +#if HAVE_NEON int64_t dx_store_reg[8]; #endif VP8_COMMON *cm = &pbi->common; @@ -387,7 +387,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi return 0; } -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -400,7 +400,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi if (setjmp(pbi->common.error.jmp)) { -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -429,7 +429,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi if (retcode < 0) { -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -450,7 +450,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi { if (swap_frame_buffers (cm)) { -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -468,7 +468,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi { if (swap_frame_buffers (cm)) { -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -558,7 +558,7 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, unsigned long size, const unsi } #endif -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif diff --git a/vp8/encoder/arm/arm_csystemdependent.c b/vp8/encoder/arm/arm_csystemdependent.c index 918d7d9ae88e885deed7b754cebd0a531691227f..c016bf0083981e04c398a9eec0cac0ecf8b01591 100644 --- a/vp8/encoder/arm/arm_csystemdependent.c +++ b/vp8/encoder/arm/arm_csystemdependent.c @@ -23,13 +23,13 @@ void vp8_arch_arm_encoder_init(VP8_COMP *cpi) #if CONFIG_RUNTIME_CPU_DETECT int flags = cpi->common.rtcd.flags; -#if HAVE_ARMV5TE +#if HAVE_EDSP if (flags & HAS_EDSP) { } #endif -#if HAVE_ARMV6 +#if HAVE_MEDIA if (flags & HAS_MEDIA) { cpi->rtcd.variance.sad16x16 = vp8_sad16x16_armv6; @@ -74,9 +74,9 @@ void vp8_arch_arm_encoder_init(VP8_COMP *cpi) /*cpi->rtcd.quantize.quantb = vp8_regular_quantize_b;*/ cpi->rtcd.quantize.fastquantb = vp8_fast_quantize_b_armv6; } -#endif +#endif /* HAVE_MEDIA */ -#if HAVE_ARMV7 +#if HAVE_NEON if (flags & HAS_NEON) { cpi->rtcd.variance.sad16x16 = vp8_sad16x16_neon; @@ -123,10 +123,10 @@ void vp8_arch_arm_encoder_init(VP8_COMP *cpi) cpi->rtcd.quantize.fastquantb = vp8_fast_quantize_b_neon; cpi->rtcd.quantize.fastquantb_pair = vp8_fast_quantize_b_pair_neon; } -#endif /* HAVE_ARMV7 */ +#endif /* HAVE_NEON */ #endif /* CONFIG_RUNTIME_CPU_DETECT */ -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (flags & HAS_NEON) #endif diff --git a/vp8/encoder/arm/dct_arm.c b/vp8/encoder/arm/dct_arm.c index 2692acb4964410fb2076bb8a6917fa0a7f66dbd3..91e2f6d90f1faf17f59c89cda1e7099c5fef6633 100644 --- a/vp8/encoder/arm/dct_arm.c +++ b/vp8/encoder/arm/dct_arm.c @@ -11,7 +11,7 @@ #include "vpx_config.h" #include "vp8/encoder/dct.h" -#if HAVE_ARMV6 +#if HAVE_MEDIA void vp8_short_fdct8x4_armv6(short *input, short *output, int pitch) { @@ -19,4 +19,4 @@ void vp8_short_fdct8x4_armv6(short *input, short *output, int pitch) vp8_short_fdct4x4_armv6(input + 4, output + 16, pitch); } -#endif /* HAVE_ARMV6 */ +#endif /* HAVE_MEDIA */ diff --git a/vp8/encoder/arm/dct_arm.h b/vp8/encoder/arm/dct_arm.h index db553c4e076233e406a2a6478031c6ed6d64549b..445f8e14ea9a988b37f01e604431c1f183114b32 100644 --- a/vp8/encoder/arm/dct_arm.h +++ b/vp8/encoder/arm/dct_arm.h @@ -12,7 +12,7 @@ #ifndef DCT_ARM_H #define DCT_ARM_H -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_fdct(vp8_short_walsh4x4_armv6); extern prototype_fdct(vp8_short_fdct4x4_armv6); extern prototype_fdct(vp8_short_fdct8x4_armv6); @@ -34,9 +34,9 @@ extern prototype_fdct(vp8_short_fdct8x4_armv6); #define vp8_fdct_fast8x4 vp8_short_fdct8x4_armv6 #endif -#endif /* HAVE_ARMV6 */ +#endif /* HAVE_MEDIA */ -#if HAVE_ARMV7 +#if HAVE_NEON extern prototype_fdct(vp8_short_fdct4x4_neon); extern prototype_fdct(vp8_short_fdct8x4_neon); extern prototype_fdct(vp8_fast_fdct4x4_neon); @@ -60,6 +60,6 @@ extern prototype_fdct(vp8_short_walsh4x4_neon); #define vp8_fdct_walsh_short4x4 vp8_short_walsh4x4_neon #endif -#endif +#endif /* HAVE_NEON */ #endif diff --git a/vp8/encoder/arm/encodemb_arm.h b/vp8/encoder/arm/encodemb_arm.h index bf417fe1d99ac9f4f5bf9484f66bd5036b2ecda2..55ffdb32e4f03be7ba30a43f451c64520441d482 100644 --- a/vp8/encoder/arm/encodemb_arm.h +++ b/vp8/encoder/arm/encodemb_arm.h @@ -12,7 +12,7 @@ #ifndef ENCODEMB_ARM_H #define ENCODEMB_ARM_H -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_subb(vp8_subtract_b_armv6); extern prototype_submby(vp8_subtract_mby_armv6); extern prototype_submbuv(vp8_subtract_mbuv_armv6); @@ -28,9 +28,9 @@ extern prototype_submbuv(vp8_subtract_mbuv_armv6); #define vp8_encodemb_submbuv vp8_subtract_mbuv_armv6 #endif -#endif /* HAVE_ARMV6 */ +#endif /* HAVE_MEDIA */ -#if HAVE_ARMV7 +#if HAVE_NEON //extern prototype_berr(vp8_block_error_c); //extern prototype_mberr(vp8_mbblock_error_c); //extern prototype_mbuverr(vp8_mbuverror_c); @@ -59,6 +59,6 @@ extern prototype_submbuv(vp8_subtract_mbuv_neon); #define vp8_encodemb_submbuv vp8_subtract_mbuv_neon #endif -#endif +#endif /* HAVE_NEON */ #endif diff --git a/vp8/encoder/arm/quantize_arm.c b/vp8/encoder/arm/quantize_arm.c index 5b3a0275fe69b6d56d89ef2713748fddf4137db7..6f3f70a0a6f905e4a6f747f12f8b2417497ea507 100644 --- a/vp8/encoder/arm/quantize_arm.c +++ b/vp8/encoder/arm/quantize_arm.c @@ -16,7 +16,7 @@ #include "vp8/common/entropy.h" -#if HAVE_ARMV7 +#if HAVE_NEON /* vp8_quantize_mbX functions here differs from corresponding ones in * quantize.c only by using quantize_b_pair function pointer instead of @@ -59,4 +59,4 @@ void vp8_quantize_mbuv_neon(MACROBLOCK *x) &x->e_mbd.block[i], &x->e_mbd.block[i+1]); } -#endif /* HAVE_ARMV7 */ +#endif /* HAVE_NEON */ diff --git a/vp8/encoder/arm/quantize_arm.h b/vp8/encoder/arm/quantize_arm.h index 7d2088d2d875b60c2fa374398b38d12e92dbc230..ef6517bd88fc59a6716f324e201a1044636edac6 100644 --- a/vp8/encoder/arm/quantize_arm.h +++ b/vp8/encoder/arm/quantize_arm.h @@ -12,7 +12,7 @@ #ifndef QUANTIZE_ARM_H #define QUANTIZE_ARM_H -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_quantize_block(vp8_fast_quantize_b_armv6); @@ -21,10 +21,10 @@ extern prototype_quantize_block(vp8_fast_quantize_b_armv6); #define vp8_quantize_fastquantb vp8_fast_quantize_b_armv6 #endif -#endif /* HAVE_ARMV6 */ +#endif /* HAVE_MEDIA */ -#if HAVE_ARMV7 +#if HAVE_NEON extern prototype_quantize_block(vp8_fast_quantize_b_neon); extern prototype_quantize_block_pair(vp8_fast_quantize_b_pair_neon); @@ -46,7 +46,7 @@ extern prototype_quantize_block_pair(vp8_fast_quantize_b_pair_neon); #define vp8_quantize_mby vp8_quantize_mby_neon #endif -#endif /* HAVE_ARMV7 */ +#endif /* HAVE_NEON */ #endif diff --git a/vp8/encoder/arm/variance_arm.c b/vp8/encoder/arm/variance_arm.c index 7fc7473ace61aacb3563ab83af742c64f54c82d8..5faa1048ea018bcb94892c294102e799867637c1 100644 --- a/vp8/encoder/arm/variance_arm.c +++ b/vp8/encoder/arm/variance_arm.c @@ -12,7 +12,7 @@ #include "vp8/encoder/variance.h" #include "vp8/common/filter.h" -#if HAVE_ARMV6 +#if HAVE_MEDIA #include "vp8/common/arm/bilinearfilter_arm.h" unsigned int vp8_sub_pixel_variance8x8_armv6 @@ -91,10 +91,10 @@ unsigned int vp8_sub_pixel_variance16x16_armv6 return var; } -#endif /* HAVE_ARMV6 */ +#endif /* HAVE_MEDIA */ -#if HAVE_ARMV7 +#if HAVE_NEON unsigned int vp8_sub_pixel_variance16x16_neon ( diff --git a/vp8/encoder/arm/variance_arm.h b/vp8/encoder/arm/variance_arm.h index f2f761f9ef6195dab1788f2aefbe5d05bea1695c..99eb26b282eb9a0c2f1beeed78be79faa16a4faa 100644 --- a/vp8/encoder/arm/variance_arm.h +++ b/vp8/encoder/arm/variance_arm.h @@ -12,7 +12,7 @@ #ifndef VARIANCE_ARM_H #define VARIANCE_ARM_H -#if HAVE_ARMV6 +#if HAVE_MEDIA extern prototype_sad(vp8_sad16x16_armv6); extern prototype_variance(vp8_variance16x16_armv6); @@ -55,10 +55,10 @@ extern prototype_variance(vp8_mse16x16_armv6); #endif /* !CONFIG_RUNTIME_CPU_DETECT */ -#endif /* HAVE_ARMV6 */ +#endif /* HAVE_MEDIA */ -#if HAVE_ARMV7 +#if HAVE_NEON extern prototype_sad(vp8_sad4x4_neon); extern prototype_sad(vp8_sad8x8_neon); extern prototype_sad(vp8_sad8x16_neon); @@ -148,8 +148,8 @@ extern prototype_get16x16prederror(vp8_get4x4sse_cs_neon); #undef vp8_variance_get4x4sse_cs #define vp8_variance_get4x4sse_cs vp8_get4x4sse_cs_neon -#endif +#endif /* !CONFIG_RUNTIME_CPU_DETECT */ -#endif +#endif /* HAVE_NEON */ #endif diff --git a/vp8/encoder/asm_enc_offsets.c b/vp8/encoder/asm_enc_offsets.c index 2e9ca7232c397b2b5b8d6ae0c6b3281bbfe0cc48..09ee6fbec62eb0f29f8936e9d4493bd99a95d6db 100644 --- a/vp8/encoder/asm_enc_offsets.c +++ b/vp8/encoder/asm_enc_offsets.c @@ -88,7 +88,7 @@ END * change they will have to be adjusted. */ -#if HAVE_ARMV5TE +#if HAVE_EDSP ct_assert(TOKENEXTRA_SZ, sizeof(TOKENEXTRA) == 8) ct_assert(vp8_extra_bit_struct_sz, sizeof(vp8_extra_bit_struct) == 16) #endif diff --git a/vp8/encoder/bitstream.h b/vp8/encoder/bitstream.h index 9007cede0c07123c90761574700a37a9f9713e67..736b9d494392501feffc8b48c52f7ee756d1734a 100644 --- a/vp8/encoder/bitstream.h +++ b/vp8/encoder/bitstream.h @@ -12,7 +12,7 @@ #ifndef __INC_BITSTREAM_H #define __INC_BITSTREAM_H -#if HAVE_ARMV5TE +#if HAVE_EDSP void vp8cx_pack_tokens_armv5(vp8_writer *w, const TOKENEXTRA *p, int xcount, vp8_token *, vp8_extra_bit_struct *, diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index bb2a7963ae7c832f60070a506f129863bbc44740..9dcf71dfcf360ac34f7a2c4afc4de634b9f48741 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -63,7 +63,7 @@ extern unsigned int vp8_get_processor_freq(); extern void print_tree_update_probs(); extern void vp8cx_create_encoder_threads(VP8_COMP *cpi); extern void vp8cx_remove_encoder_threads(VP8_COMP *cpi); -#if HAVE_ARMV7 +#if HAVE_NEON extern void vp8_yv12_copy_frame_func_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); extern void vp8_yv12_copy_src_frame_func_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc); #endif @@ -4556,7 +4556,7 @@ static void Pass2Encode(VP8_COMP *cpi, unsigned long *size, unsigned char *dest, #endif //For ARM NEON, d8-d15 are callee-saved registers, and need to be saved by us. -#if HAVE_ARMV7 +#if HAVE_NEON extern void vp8_push_neon(int64_t *store); extern void vp8_pop_neon(int64_t *store); #endif @@ -4564,14 +4564,14 @@ extern void vp8_pop_neon(int64_t *store); int vp8_receive_raw_frame(VP8_COMP *cpi, unsigned int frame_flags, YV12_BUFFER_CONFIG *sd, int64_t time_stamp, int64_t end_time) { -#if HAVE_ARMV7 +#if HAVE_NEON int64_t store_reg[8]; #endif VP8_COMMON *cm = &cpi->common; struct vpx_usec_timer timer; int res = 0; -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -4588,7 +4588,7 @@ int vp8_receive_raw_frame(VP8_COMP *cpi, unsigned int frame_flags, YV12_BUFFER_C vpx_usec_timer_mark(&timer); cpi->time_receive_data += vpx_usec_timer_elapsed(&timer); -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -4617,7 +4617,7 @@ static int frame_is_reference(const VP8_COMP *cpi) int vp8_get_compressed_data(VP8_COMP *cpi, unsigned int *frame_flags, unsigned long *size, unsigned char *dest, unsigned char *dest_end, int64_t *time_stamp, int64_t *time_end, int flush) { -#if HAVE_ARMV7 +#if HAVE_NEON int64_t store_reg[8]; #endif VP8_COMMON *cm; @@ -4639,7 +4639,7 @@ int vp8_get_compressed_data(VP8_COMP *cpi, unsigned int *frame_flags, unsigned l cpi->common.error.setjmp = 1; -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -4714,7 +4714,7 @@ int vp8_get_compressed_data(VP8_COMP *cpi, unsigned int *frame_flags, unsigned l #endif -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif @@ -5103,7 +5103,7 @@ int vp8_get_compressed_data(VP8_COMP *cpi, unsigned int *frame_flags, unsigned l #endif #endif -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT if (cm->rtcd.flags & HAS_NEON) #endif diff --git a/vp8/vp8_common.mk b/vp8/vp8_common.mk index 0e564320fe9ec25f9682f1ff163b23992bb3e73e..e32fc691764da189d38bdfb49d240c6be04c7e26 100644 --- a/vp8/vp8_common.mk +++ b/vp8/vp8_common.mk @@ -122,48 +122,48 @@ VP8_COMMON_SRCS-$(ARCH_ARM) += common/arm/subpixel_arm.h VP8_COMMON_SRCS-$(ARCH_ARM) += common/arm/dequantize_arm.c VP8_COMMON_SRCS-$(ARCH_ARM) += common/arm/dequantize_arm.h -# common (armv6) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/bilinearfilter_arm.c -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/bilinearfilter_arm.h -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/bilinearfilter_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/copymem8x4_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/copymem8x8_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/copymem16x16_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/dc_only_idct_add_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/iwalsh_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/filter_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/idct_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/loopfilter_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/simpleloopfilter_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/sixtappredict8x4_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/intra4x4_predict_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/dequant_idct_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/dequantize_v6$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV6) += common/arm/armv6/idct_blk_v6.c +# common (media) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/bilinearfilter_arm.c +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/bilinearfilter_arm.h +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/bilinearfilter_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/copymem8x4_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/copymem8x8_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/copymem16x16_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/dc_only_idct_add_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/iwalsh_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/filter_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/idct_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/loopfilter_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/simpleloopfilter_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/sixtappredict8x4_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/intra4x4_predict_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/dequant_idct_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/dequantize_v6$(ASM) +VP8_COMMON_SRCS-$(HAVE_MEDIA) += common/arm/armv6/idct_blk_v6.c # common (neon) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/bilinearpredict4x4_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/bilinearpredict8x4_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/bilinearpredict8x8_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/bilinearpredict16x16_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/copymem8x4_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/copymem8x8_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/copymem16x16_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/dc_only_idct_add_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/iwalsh_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/loopfilter_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/loopfiltersimplehorizontaledge_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/loopfiltersimpleverticaledge_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/mbloopfilter_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/shortidct4x4llm_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/sixtappredict4x4_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/sixtappredict8x4_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/sixtappredict8x8_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/sixtappredict16x16_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/buildintrapredictorsmby_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/save_neon_reg$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/dequant_idct_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/idct_dequant_full_2x_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/idct_dequant_0_2x_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/dequantizeb_neon$(ASM) -VP8_COMMON_SRCS-$(HAVE_ARMV7) += common/arm/neon/idct_blk_neon.c +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/bilinearpredict4x4_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/bilinearpredict8x4_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/bilinearpredict8x8_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/bilinearpredict16x16_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/copymem8x4_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/copymem8x8_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/copymem16x16_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/dc_only_idct_add_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/iwalsh_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/loopfilter_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/loopfiltersimplehorizontaledge_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/loopfiltersimpleverticaledge_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/mbloopfilter_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/shortidct4x4llm_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/sixtappredict4x4_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/sixtappredict8x4_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/sixtappredict8x8_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/sixtappredict16x16_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/buildintrapredictorsmby_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/save_reg_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/dequant_idct_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/idct_dequant_full_2x_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/idct_dequant_0_2x_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/dequantizeb_neon$(ASM) +VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/idct_blk_neon.c diff --git a/vp8/vp8cx_arm.mk b/vp8/vp8cx_arm.mk index f8f054a76e7fef65178066a951cad52f46def86d..7429e16d7556acac27495e974e20358d439add7a 100644 --- a/vp8/vp8cx_arm.mk +++ b/vp8/vp8cx_arm.mk @@ -23,41 +23,41 @@ VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/quantize_arm.h VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/variance_arm.c VP8_CX_SRCS-$(ARCH_ARM) += encoder/arm/variance_arm.h -#File list for armv5te +#File list for edsp # encoder -VP8_CX_SRCS-$(HAVE_ARMV5TE) += encoder/arm/boolhuff_arm.c -VP8_CX_SRCS_REMOVE-$(HAVE_ARMV5TE) += encoder/boolhuff.c -VP8_CX_SRCS-$(HAVE_ARMV5TE) += encoder/arm/armv5te/boolhuff_armv5te$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV5TE) += encoder/arm/armv5te/vp8_packtokens_armv5$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV5TE) += encoder/arm/armv5te/vp8_packtokens_mbrow_armv5$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV5TE) += encoder/arm/armv5te/vp8_packtokens_partitions_armv5$(ASM) +VP8_CX_SRCS-$(HAVE_EDSP) += encoder/arm/boolhuff_arm.c +VP8_CX_SRCS_REMOVE-$(HAVE_EDSP) += encoder/boolhuff.c +VP8_CX_SRCS-$(HAVE_EDSP) += encoder/arm/armv5te/boolhuff_armv5te$(ASM) +VP8_CX_SRCS-$(HAVE_EDSP) += encoder/arm/armv5te/vp8_packtokens_armv5$(ASM) +VP8_CX_SRCS-$(HAVE_EDSP) += encoder/arm/armv5te/vp8_packtokens_mbrow_armv5$(ASM) +VP8_CX_SRCS-$(HAVE_EDSP) += encoder/arm/armv5te/vp8_packtokens_partitions_armv5$(ASM) -#File list for armv6 +#File list for media # encoder -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_subtract_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_short_fdct4x4_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_fast_quantize_b_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_sad16x16_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_variance16x16_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_variance_halfpixvar16x16_h_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_variance_halfpixvar16x16_v_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_variance_halfpixvar16x16_hv_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_mse16x16_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/vp8_variance8x8_armv6$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV6) += encoder/arm/armv6/walsh_v6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_subtract_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_short_fdct4x4_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_fast_quantize_b_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_sad16x16_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_variance16x16_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_variance_halfpixvar16x16_h_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_variance_halfpixvar16x16_v_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_variance_halfpixvar16x16_hv_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_mse16x16_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/vp8_variance8x8_armv6$(ASM) +VP8_CX_SRCS-$(HAVE_MEDIA) += encoder/arm/armv6/walsh_v6$(ASM) #File list for neon # encoder -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/fastquantizeb_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/picklpf_arm.c -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/sad8_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/sad16_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/shortfdct_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/subtract_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/variance_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/vp8_mse16x16_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/vp8_subpixelvariance8x8_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/vp8_subpixelvariance16x16_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/vp8_subpixelvariance16x16s_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/vp8_memcpy_neon$(ASM) -VP8_CX_SRCS-$(HAVE_ARMV7) += encoder/arm/neon/vp8_shortwalsh4x4_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/fastquantizeb_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/picklpf_arm.c +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/sad8_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/sad16_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/shortfdct_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/subtract_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/variance_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp8_mse16x16_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp8_subpixelvariance8x8_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp8_subpixelvariance16x16_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp8_subpixelvariance16x16s_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp8_memcpy_neon$(ASM) +VP8_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp8_shortwalsh4x4_neon$(ASM) diff --git a/vpx_ports/arm_cpudetect.c b/vpx_ports/arm_cpudetect.c index 08496e4d032345323f1a8d7da442cb7e137400fc..ebe428df35f40196cbf18381a573bf3994b8e6cb 100644 --- a/vpx_ports/arm_cpudetect.c +++ b/vpx_ports/arm_cpudetect.c @@ -52,7 +52,7 @@ int arm_cpu_caps(void) * instructions via their assembled hex code. * All of these instructions should be essentially nops. */ -#if defined(HAVE_ARMV5TE) +#if defined(HAVE_EDSP) if (mask & HAS_EDSP) { __try @@ -66,7 +66,7 @@ int arm_cpu_caps(void) /*Ignore exception.*/ } } -#if defined(HAVE_ARMV6) +#if defined(HAVE_MEDIA) if (mask & HAS_MEDIA) __try { @@ -79,7 +79,7 @@ int arm_cpu_caps(void) /*Ignore exception.*/ } } -#if defined(HAVE_ARMV7) +#if defined(HAVE_NEON) if (mask & HAS_NEON) { __try @@ -115,13 +115,13 @@ int arm_cpu_caps(void) mask = arm_cpu_env_mask(); features = android_getCpuFeatures(); -#if defined(HAVE_ARMV5TE) +#if defined(HAVE_EDSP) flags |= HAS_EDSP; #endif -#if defined(HAVE_ARMV6) +#if defined(HAVE_MEDIA) flags |= HAS_MEDIA; #endif -#if defined(HAVE_ARMV7) +#if defined(HAVE_NEON) if (features & ANDROID_CPU_ARM_FEATURE_NEON) flags |= HAS_NEON; #endif @@ -153,17 +153,17 @@ int arm_cpu_caps(void) char buf[512]; while (fgets(buf, 511, fin) != NULL) { -#if defined(HAVE_ARMV5TE) || defined(HAVE_ARMV7) +#if defined(HAVE_EDSP) || defined(HAVE_NEON) if (memcmp(buf, "Features", 8) == 0) { char *p; -#if defined(HAVE_ARMV5TE) +#if defined(HAVE_EDSP) p=strstr(buf, " edsp"); if (p != NULL && (p[5] == ' ' || p[5] == '\n')) { flags |= HAS_EDSP; } -#if defined(HAVE_ARMV7) +#if defined(HAVE_NEON) p = strstr(buf, " neon"); if (p != NULL && (p[5] == ' ' || p[5] == '\n')) { @@ -173,7 +173,7 @@ int arm_cpu_caps(void) #endif } #endif -#if defined(HAVE_ARMV6) +#if defined(HAVE_MEDIA) if (memcmp(buf, "CPU architecture:",17) == 0){ int version; version = atoi(buf+17); @@ -200,13 +200,13 @@ int arm_cpu_caps(void) return flags; } mask = arm_cpu_env_mask(); -#if defined(HAVE_ARMV5TE) +#if defined(HAVE_EDSP) flags |= HAS_EDSP; #endif -#if defined(HAVE_ARMV6) +#if defined(HAVE_MEDIA) flags |= HAS_MEDIA; #endif -#if defined(HAVE_ARMV7) +#if defined(HAVE_NEON) flags |= HAS_NEON; #endif return flags & mask; diff --git a/vpx_scale/arm/scalesystemdependent.c b/vpx_scale/arm/scalesystemdependent.c index a6ba5bd4373af1e94ab45c9a234584da11d9c16e..57b16a1a35f0ac3d95598972b3b56cde44426f6f 100644 --- a/vpx_scale/arm/scalesystemdependent.c +++ b/vpx_scale/arm/scalesystemdependent.c @@ -16,7 +16,7 @@ void vp8_arch_arm_vpx_scale_init() { -#if HAVE_ARMV7 +#if HAVE_NEON #if CONFIG_RUNTIME_CPU_DETECT int flags = arm_cpu_caps(); if (flags & HAS_NEON) diff --git a/vpx_scale/arm/yv12extend_arm.h b/vpx_scale/arm/yv12extend_arm.h index adfca812fc5956b3aa4f2e30c114a48688d4dfc8..897c6728fc096cb55442897a71c1f34a0fc6ccf4 100644 --- a/vpx_scale/arm/yv12extend_arm.h +++ b/vpx_scale/arm/yv12extend_arm.h @@ -15,7 +15,7 @@ #include "vpx_config.h" #include "vpx_scale/yv12config.h" -#if HAVE_ARMV7 +#if HAVE_NEON void vp8_yv12_extend_frame_borders_neon(YV12_BUFFER_CONFIG *ybf); /* Copy Y,U,V buffer data from src to dst, filling border of dst as well. */ diff --git a/vpx_scale/vpx_scale.mk b/vpx_scale/vpx_scale.mk index c8385fe2202f2e837ca49a19e874634d0e6635ab..e0b2ca58711d45e5886f3e01792ca36253b1e7f8 100644 --- a/vpx_scale/vpx_scale.mk +++ b/vpx_scale/vpx_scale.mk @@ -15,10 +15,10 @@ SCALE_SRCS-$(ARCH_ARM) += arm/yv12extend_arm.h SCALE_SRCS-$(ARCH_ARM) += arm/scalesystemdependent.c #neon -SCALE_SRCS-$(HAVE_ARMV7) += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM) -SCALE_SRCS-$(HAVE_ARMV7) += arm/neon/vp8_vpxyv12_copy_y_neon$(ASM) -SCALE_SRCS-$(HAVE_ARMV7) += arm/neon/vp8_vpxyv12_copysrcframe_func_neon$(ASM) -SCALE_SRCS-$(HAVE_ARMV7) += arm/neon/vp8_vpxyv12_extendframeborders_neon$(ASM) -SCALE_SRCS-$(HAVE_ARMV7) += arm/neon/yv12extend_arm.c +SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM) +SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copy_y_neon$(ASM) +SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_copysrcframe_func_neon$(ASM) +SCALE_SRCS-$(HAVE_NEON) += arm/neon/vp8_vpxyv12_extendframeborders_neon$(ASM) +SCALE_SRCS-$(HAVE_NEON) += arm/neon/yv12extend_arm.c SCALE_SRCS-no += $(SCALE_SRCS_REMOVE-yes) diff --git a/vpx_scale/yv12extend.h b/vpx_scale/yv12extend.h index c8bf955409acda4ede074e7e319aa1713a9764a7..72d046bc44ae96df4111b27bcebf9dcaf7562241 100644 --- a/vpx_scale/yv12extend.h +++ b/vpx_scale/yv12extend.h @@ -16,7 +16,7 @@ #include "vpx_scale/yv12config.h" #include "vpx_scale/generic/yv12extend_generic.h" -#if HAVE_ARMV7 +#if HAVE_NEON #include "vpx_scale/arm/yv12extend_arm.h" #endif