summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2015-04-16 11:37:41 -0700
committerLajos Molnar <lajos@google.com>2015-04-16 11:54:42 -0700
commit7023f4d0e96b562046608aeb15e755778b3b8713 (patch)
treeb205753dcd0e04ac29faa9965e29d4c17c093f4f
parent7e7f176198dae244193b47574751193de1f431f0 (diff)
downloadandroid_external_libavc-7023f4d0e96b562046608aeb15e755778b3b8713.tar.gz
android_external_libavc-7023f4d0e96b562046608aeb15e755778b3b8713.tar.bz2
android_external_libavc-7023f4d0e96b562046608aeb15e755778b3b8713.zip
fix build for generic builds
Change-Id: I7654a801a2b168b7e0bcbebf680efbf2343b1ece
-rwxr-xr-xdecoder.arm.mk3
-rwxr-xr-xdecoder/arm/ih264d_function_selector.c17
-rwxr-xr-xencoder.arm.mk3
-rwxr-xr-xencoder/arm/ih264e_function_selector.c54
4 files changed, 33 insertions, 44 deletions
diff --git a/decoder.arm.mk b/decoder.arm.mk
index 80093e4..7e14564 100755
--- a/decoder.arm.mk
+++ b/decoder.arm.mk
@@ -32,13 +32,14 @@ libavcd_srcs_asm_arm += common/arm/ih264_padding_neon.s
libavcd_srcs_asm_arm += common/arm/ih264_iquant_itrans_recon_a9.s
libavcd_srcs_asm_arm += common/arm/ih264_iquant_itrans_recon_dc_a9.s
libavcd_srcs_asm_arm += common/arm/ih264_ihadamard_scaling_a9.s
-libavcd_srcs_asm_arm += common/arm/ih264_arm_memory_barrier.s
libavcd_cflags_arm += -DDEFAULT_ARCH=D_ARCH_ARM_A9Q
else
libavcd_cflags_arm += -DDISABLE_NEON -DDEFAULT_ARCH=D_ARCH_ARM_NONEON
endif
+libavcd_srcs_asm_arm += common/arm/ih264_arm_memory_barrier.s
+
LOCAL_SRC_FILES_arm += $(libavcd_srcs_c_arm) $(libavcd_srcs_asm_arm)
LOCAL_C_INCLUDES_arm += $(libavcd_inc_dir_arm)
LOCAL_CFLAGS_arm += $(libavcd_cflags_arm)
diff --git a/decoder/arm/ih264d_function_selector.c b/decoder/arm/ih264d_function_selector.c
index 1aa0c43..925043b 100755
--- a/decoder/arm/ih264d_function_selector.c
+++ b/decoder/arm/ih264d_function_selector.c
@@ -61,24 +61,25 @@ void ih264d_init_function_ptr(dec_struct_t *ps_codec)
ih264d_init_function_ptr_generic(ps_codec);
switch(e_proc_arch)
{
- case ARCH_ARM_NONEON:
- ih264d_init_function_ptr_generic(ps_codec);
+#if defined(ARMV8)
+ case ARCH_ARMV8_GENERIC:
+ default:
+ ih264d_init_function_ptr_av8(ps_codec);
break;
-#ifndef ARMV8
+#elif !defined(DISABLE_NEON)
case ARCH_ARM_A5:
case ARCH_ARM_A7:
case ARCH_ARM_A9:
case ARCH_ARM_A15:
case ARCH_ARM_A9Q:
default:
- ih264d_init_function_ptr_a9q(ps_codec);
+ ih264d_init_function_ptr_a9q(ps_codec);
break;
-#else /* ARMV8 */
- case ARCH_ARMV8_GENERIC:
+#else
default:
- ih264d_init_function_ptr_av8(ps_codec);
+#endif
+ case ARCH_ARM_NONEON:
break;
-#endif /* ARMV8 */
}
}
diff --git a/encoder.arm.mk b/encoder.arm.mk
index 81ed22f..b41c5ea 100755
--- a/encoder.arm.mk
+++ b/encoder.arm.mk
@@ -25,7 +25,6 @@ libavce_srcs_asm_arm += common/arm/ih264_inter_pred_luma_bilinear_a9q.s
libavce_srcs_asm_arm += common/arm/ih264_inter_pred_luma_copy_a9q.s
libavce_srcs_asm_arm += common/arm/ih264_padding_neon.s
libavce_srcs_asm_arm += common/arm/ih264_mem_fns_neon.s
-libavce_srcs_asm_arm += common/arm/ih264_arm_memory_barrier.s
libavce_srcs_asm_arm += encoder/arm/ih264e_evaluate_intra16x16_modes_a9q.s
libavce_srcs_asm_arm += encoder/arm/ih264e_evaluate_intra4x4_modes_a9q.s
@@ -42,6 +41,8 @@ else #No Neon
libavce_cflags_arm += -DDISABLE_NEON -DDEFAULT_ARCH=D_ARCH_ARM_NONEON
endif #Neon check
+libavce_srcs_asm_arm += common/arm/ih264_arm_memory_barrier.s
+
LOCAL_SRC_FILES_arm += $(libavce_srcs_c_arm) $(libavce_srcs_asm_arm)
LOCAL_C_INCLUDES_arm += $(libavce_inc_dir_arm)
LOCAL_CFLAGS_arm += $(libavce_cflags_arm)
diff --git a/encoder/arm/ih264e_function_selector.c b/encoder/arm/ih264e_function_selector.c
index bb181c1..e4f67a0 100755
--- a/encoder/arm/ih264e_function_selector.c
+++ b/encoder/arm/ih264e_function_selector.c
@@ -96,22 +96,33 @@
*
*******************************************************************************
*/
-#ifdef ARMV8
void ih264e_init_function_ptr(void *pv_codec)
{
codec_t *ps_codec = (codec_t *)pv_codec;
ih264e_init_function_ptr_generic(ps_codec);
switch(ps_codec->s_cfg.e_arch)
{
- case ARCH_ARM_NONEON:
- break;
+#if defined(ARMV8)
case ARCH_ARM_A53:
case ARCH_ARM_A57:
case ARCH_ARM_V8_NEON:
+ default:
ih264e_init_function_ptr_neon_av8(ps_codec);
break;
+#elif !defined(DISABLE_NEON)
+ case ARCH_ARM_A9Q:
+ case ARCH_ARM_A9A:
+ case ARCH_ARM_A9:
+ case ARCH_ARM_A7:
+ case ARCH_ARM_A5:
+ case ARCH_ARM_A15:
default:
- ih264e_init_function_ptr_neon_av8(ps_codec);
+ ih264e_init_function_ptr_neon_a9q(ps_codec);
+ break;
+#else
+ default:
+#endif
+ case ARCH_ARM_NONEON:
break;
}
}
@@ -135,36 +146,11 @@ void ih264e_init_function_ptr(void *pv_codec)
*/
IV_ARCH_T ih264e_default_arch(void)
{
+#if defined(ARMV8)
return ARCH_ARM_V8_NEON;
-}
-
-#else
-
-void ih264e_init_function_ptr(void *pv_codec)
-{
- codec_t *ps_codec = (codec_t *)pv_codec;
- ih264e_init_function_ptr_generic(ps_codec);
- switch(ps_codec->s_cfg.e_arch)
- {
- case ARCH_ARM_NONEON:
- break;
- case ARCH_ARM_A9Q:
- case ARCH_ARM_A9A:
- case ARCH_ARM_A9:
- case ARCH_ARM_A7:
- case ARCH_ARM_A5:
- case ARCH_ARM_A15:
- ih264e_init_function_ptr_neon_a9q(ps_codec);
- break;
- default:
- ih264e_init_function_ptr_neon_a9q(ps_codec);
- break;
- }
-}
-
-IV_ARCH_T ih264e_default_arch(void)
-{
+#elif !defined(DISABLE_NEON)
return ARCH_ARM_A9Q;
-}
-
+#else
+ return ARCH_ARM_NONEON;
#endif
+}