[SCM] libav/experimental: fix dequant matrix

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:44:01 UTC 2013


The following commit has been merged in the experimental branch:
commit 7bad42cf591c61f2e6d0c1a84730dc1c782f1ffd
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon May 16 09:29:13 2005 +0000

    fix dequant matrix
    
    Originally committed as revision 4246 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index 30b27d7..4fb4ca2 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -2066,7 +2066,6 @@ static void render_fragments(Vp3DecodeContext *s,
 
     /* set up plane-specific parameters */
     if (plane == 0) {
-        dequantizer = s->intra_y_dequant;
         output_plane = s->current_frame.data[0];
         last_plane = s->last_frame.data[0];
         golden_plane = s->golden_frame.data[0];
@@ -2075,7 +2074,6 @@ static void render_fragments(Vp3DecodeContext *s,
         upper_motion_limit = 7 * s->current_frame.linesize[0];
         lower_motion_limit = height * s->current_frame.linesize[0] + width - 8;
     } else if (plane == 1) {
-        dequantizer = s->intra_c_dequant;
         output_plane = s->current_frame.data[1];
         last_plane = s->last_frame.data[1];
         golden_plane = s->golden_frame.data[1];
@@ -2084,7 +2082,6 @@ static void render_fragments(Vp3DecodeContext *s,
         upper_motion_limit = 7 * s->current_frame.linesize[1];
         lower_motion_limit = height * s->current_frame.linesize[1] + width - 8;
     } else {
-        dequantizer = s->intra_c_dequant;
         output_plane = s->current_frame.data[2];
         last_plane = s->last_frame.data[2];
         golden_plane = s->golden_frame.data[2];
@@ -2172,6 +2169,12 @@ av_log(s->avctx, AV_LOG_ERROR, " help! got beefy vector! (%X, %X)\n", motion_x,
                             motion_source + stride + 1 + d, 
                             stride, 8);
                     }
+                    dequantizer = s->inter_dequant;
+                }else{
+                    if (plane == 0)
+                        dequantizer = s->intra_y_dequant;
+                    else
+                        dequantizer = s->intra_c_dequant;
                 }
 
                 /* dequantize the DCT coefficients */

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list