[SCM] libav/experimental: - Bug fix on RTYPE (rounding type) not being honoured by H.263+ decoder.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:31:05 UTC 2013


The following commit has been merged in the experimental branch:
commit e7774f11acfe50d6f4db1e8456334746aef80864
Author: Juanjo <pulento at users.sourceforge.net>
Date:   Fri Feb 22 03:35:41 2002 +0000

    - Bug fix on RTYPE (rounding type) not being honoured by H.263+ decoder.
    
    Originally committed as revision 312 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 9e68549..fb6b2e7 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -1447,7 +1447,10 @@ int h263_decode_picture_header(MpegEncContext *s)
         if (s->pict_type != I_TYPE &&
             s->pict_type != P_TYPE)
             return -1;
-        skip_bits(&s->gb, 7);
+        skip_bits(&s->gb, 2);
+        s->no_rounding = get_bits1(&s->gb);
+        //fprintf(stderr, "\nRTYPE: %d", s->no_rounding);
+        skip_bits(&s->gb, 4);
         
         /* Get the picture dimensions */
         if (ufep) {
diff --git a/libavcodec/i386/mpegvideo_mmx.c b/libavcodec/i386/mpegvideo_mmx.c
index 0a4e3d1..017e3d4 100644
--- a/libavcodec/i386/mpegvideo_mmx.c
+++ b/libavcodec/i386/mpegvideo_mmx.c
@@ -95,17 +95,17 @@ static void dct_unquantize_h263_mmx(MpegEncContext *s,
             else
                 block[0] = block[0] * s->c_dc_scale;
         }
-	    for(i=1; i<8; i++) {
-		    level = block[i];
-		    if (level) {
-			    if (level < 0) {
-				    level = level * qmul - qadd;
-			    } else {
-				    level = level * qmul + qadd;
-			    }
-			    block[i] = level;
-		    }
-	    }
+        for(i=1; i<8; i++) {
+    	    level = block[i];
+	        if (level) {
+		        if (level < 0) {
+			        level = level * qmul - qadd;
+		        } else {
+			        level = level * qmul + qadd;
+		        }
+		        block[i] = level;
+            }
+        }
         nCoeffs=64;
     } else {
         i = 0;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list