summaryrefslogtreecommitdiff
path: root/libavcodec/arm
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2015-07-12 17:03:13 +0200
committerJanne Grunau <janne-libav@jannau.net>2015-07-18 00:28:49 +0200
commit256ef19844892c6cf8e0386e3287bae970ec6320 (patch)
tree7c23cba5809f45cc1fa921f2e8a319c8c76a85ec /libavcodec/arm
parentfc56868399213d3e9be19bdebeb64df233b39a7e (diff)
h264: arm: use intra pred8x8 functions only for chroma_format_idc <= 1
Diffstat (limited to 'libavcodec/arm')
-rw-r--r--libavcodec/arm/h264pred_init_arm.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/libavcodec/arm/h264pred_init_arm.c b/libavcodec/arm/h264pred_init_arm.c
index bbfe63f2aa..a445d4d667 100644
--- a/libavcodec/arm/h264pred_init_arm.c
+++ b/libavcodec/arm/h264pred_init_arm.c
@@ -54,20 +54,22 @@ static av_cold void h264_pred_init_neon(H264PredContext *h, int codec_id,
if (high_depth)
return;
- h->pred8x8[VERT_PRED8x8 ] = ff_pred8x8_vert_neon;
- h->pred8x8[HOR_PRED8x8 ] = ff_pred8x8_hor_neon;
- if (codec_id != AV_CODEC_ID_VP7 && codec_id != AV_CODEC_ID_VP8)
- h->pred8x8[PLANE_PRED8x8] = ff_pred8x8_plane_neon;
- h->pred8x8[DC_128_PRED8x8 ] = ff_pred8x8_128_dc_neon;
- if (codec_id != AV_CODEC_ID_RV40 && codec_id != AV_CODEC_ID_VP7 &&
- codec_id != AV_CODEC_ID_VP8) {
- h->pred8x8[DC_PRED8x8 ] = ff_pred8x8_dc_neon;
- h->pred8x8[LEFT_DC_PRED8x8] = ff_pred8x8_left_dc_neon;
- h->pred8x8[TOP_DC_PRED8x8 ] = ff_pred8x8_top_dc_neon;
- h->pred8x8[ALZHEIMER_DC_L0T_PRED8x8] = ff_pred8x8_l0t_dc_neon;
- h->pred8x8[ALZHEIMER_DC_0LT_PRED8x8] = ff_pred8x8_0lt_dc_neon;
- h->pred8x8[ALZHEIMER_DC_L00_PRED8x8] = ff_pred8x8_l00_dc_neon;
- h->pred8x8[ALZHEIMER_DC_0L0_PRED8x8] = ff_pred8x8_0l0_dc_neon;
+ if (chroma_format_idc <= 1) {
+ h->pred8x8[VERT_PRED8x8 ] = ff_pred8x8_vert_neon;
+ h->pred8x8[HOR_PRED8x8 ] = ff_pred8x8_hor_neon;
+ if (codec_id != AV_CODEC_ID_VP7 && codec_id != AV_CODEC_ID_VP8)
+ h->pred8x8[PLANE_PRED8x8] = ff_pred8x8_plane_neon;
+ h->pred8x8[DC_128_PRED8x8 ] = ff_pred8x8_128_dc_neon;
+ if (codec_id != AV_CODEC_ID_RV40 && codec_id != AV_CODEC_ID_VP7 &&
+ codec_id != AV_CODEC_ID_VP8) {
+ h->pred8x8[DC_PRED8x8 ] = ff_pred8x8_dc_neon;
+ h->pred8x8[LEFT_DC_PRED8x8] = ff_pred8x8_left_dc_neon;
+ h->pred8x8[TOP_DC_PRED8x8 ] = ff_pred8x8_top_dc_neon;
+ h->pred8x8[ALZHEIMER_DC_L0T_PRED8x8] = ff_pred8x8_l0t_dc_neon;
+ h->pred8x8[ALZHEIMER_DC_0LT_PRED8x8] = ff_pred8x8_0lt_dc_neon;
+ h->pred8x8[ALZHEIMER_DC_L00_PRED8x8] = ff_pred8x8_l00_dc_neon;
+ h->pred8x8[ALZHEIMER_DC_0L0_PRED8x8] = ff_pred8x8_0l0_dc_neon;
+ }
}
h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_neon;