avcodec/arm/idctdsp_init_arm*: Only select non bitexact IDCTs by default when bitexac...
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 27 Jul 2014 12:16:07 +0000 (14:16 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 27 Jul 2014 12:21:36 +0000 (14:21 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/arm/idctdsp_init_arm.c
libavcodec/arm/idctdsp_init_armv6.c

index 31d9428..578697e 100644 (file)
@@ -71,7 +71,7 @@ av_cold void ff_idctdsp_init_arm(IDCTDSPContext *c, AVCodecContext *avctx,
     ff_add_pixels_clamped = c->add_pixels_clamped;
 
     if (!avctx->lowres && !high_bit_depth) {
-        if (avctx->idct_algo == FF_IDCT_AUTO ||
+        if ((avctx->idct_algo == FF_IDCT_AUTO && !(avctx->flags & CODEC_FLAG_BITEXACT)) ||
             avctx->idct_algo == FF_IDCT_ARM) {
             c->idct_put  = j_rev_dct_arm_put;
             c->idct_add  = j_rev_dct_arm_add;
index 5105082..648f1fd 100644 (file)
@@ -33,7 +33,7 @@ av_cold void ff_idctdsp_init_armv6(IDCTDSPContext *c, AVCodecContext *avctx,
                                    unsigned high_bit_depth)
 {
     if (!avctx->lowres && !high_bit_depth) {
-        if (avctx->idct_algo == FF_IDCT_AUTO ||
+        if ((avctx->idct_algo == FF_IDCT_AUTO && !(avctx->flags & CODEC_FLAG_BITEXACT)) ||
             avctx->idct_algo == FF_IDCT_SIMPLEARMV6) {
             c->idct_put  = ff_simple_idct_put_armv6;
             c->idct_add  = ff_simple_idct_add_armv6;