Fixed two off by one bugs in the delta decoding code.
authorWim Taymans <wim.taymans@gmail.com>
Fri, 18 Jan 2002 19:41:04 +0000 (19:41 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 18 Jan 2002 19:41:04 +0000 (19:41 +0000)
Original commit message from CVS:
Fixed two off by one bugs in the delta decoding code.

gst/flx/gstflxdec.c

index b679fa4..bfa7278 100644 (file)
@@ -340,8 +340,6 @@ flx_decode_delta_fli(GstFlxDec *flxdec, guchar *data, guchar *dest)
     /* packet count */
     packets = *data++;
 
-    dest = start_p + (flxdec->hdr.width * (start_l - lines));
-
     while(packets--) {
       /* skip count */
       dest += *data++;
@@ -363,6 +361,8 @@ flx_decode_delta_fli(GstFlxDec *flxdec, guchar *data, guchar *dest)
           *dest++ = *data++;
       }
     }
+    start_p += flxdec->hdr.width;
+    dest = start_p;
   }                  
 }
 
@@ -386,7 +386,7 @@ flx_decode_delta_flc(GstFlxDec *flxdec, guchar *data, guchar *dest)
   start_p    = dest;
   start_l    = lines;
 
-  while(lines--) {
+  while (lines) {
     dest = start_p + (flxdec->hdr.width * (start_l - lines));
 
     /* process opcode(s) */
@@ -428,6 +428,7 @@ flx_decode_delta_flc(GstFlxDec *flxdec, guchar *data, guchar *dest)
         }
       }
     }
+    lines--;
   }
 }