avcodec/idctdsp: Clear idct/idct_add for studio profile
authorMichael Niedermayer <michael@niedermayer.cc>
Mon, 28 May 2018 20:29:57 +0000 (22:29 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 15 Jun 2018 20:31:13 +0000 (22:31 +0200)
This does not leave them "as before" which may be a value from a previous profile

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 8c50d0cccfe4c9f25a8494f76da55dcdc2275058)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/idctdsp.c

index 954066a..846ed0b 100644 (file)
@@ -258,9 +258,11 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx)
         if (avctx->bits_per_raw_sample == 10 || avctx->bits_per_raw_sample == 9) {
             /* 10-bit MPEG-4 Simple Studio Profile requires a higher precision IDCT
                However, it only uses idct_put */
-            if (c->mpeg4_studio_profile)
+            if (c->mpeg4_studio_profile) {
                 c->idct_put              = ff_simple_idct_put_int32_10bit;
-            else {
+                c->idct_add              = NULL;
+                c->idct                  = NULL;
+            } else {
                 c->idct_put              = ff_simple_idct_put_int16_10bit;
                 c->idct_add              = ff_simple_idct_add_int16_10bit;
                 c->idct                  = ff_simple_idct_int16_10bit;