summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2002-01-18 19:41:04 +0000
committerWim Taymans <wim.taymans@gmail.com>2002-01-18 19:41:04 +0000
commite2e6dd4ba7dceef5d6a64b9fd0035cecb7664a2f (patch)
treed8f261abb46813629b9d94477028fcc7fe4064d7 /gst
parentf34f00f438b35148d063185c3c8940b10768561e (diff)
Fixed two off by one bugs in the delta decoding code.
Original commit message from CVS: Fixed two off by one bugs in the delta decoding code.
Diffstat (limited to 'gst')
-rw-r--r--gst/flx/gstflxdec.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c
index b679fa48..bfa72788 100644
--- a/gst/flx/gstflxdec.c
+++ b/gst/flx/gstflxdec.c
@@ -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--;
}
}