[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec h263.c, 1.292, 1.293 svq3.c, 1.28, 1.29
Michael Niedermayer CVS
michael
Sat Dec 17 12:31:58 CET 2005
- Previous message: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec msmpeg4data.h,1.12,1.13
- Next message: [Ffmpeg-cvslog] CVS: ffmpeg/libavformat ogg.c, 1.26, 1.27 rm.c, 1.50, 1.51 sierravmd.c, 1.10, 1.11 westwood.c, 1.8, 1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/ffmpeg/ffmpeg/libavcodec
In directory mail:/var2/tmp/cvs-serv10142/libavcodec
Modified Files:
h263.c svq3.c
Log Message:
bitstream related fixes from [PATCH] from DivX, Part 9: bitstream crashes by (Steve Lhomme | slhomme divxcorp com)
Index: h263.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/h263.c,v
retrieving revision 1.292
retrieving revision 1.293
diff -u -d -r1.292 -r1.293
--- h263.c 12 Dec 2005 01:56:45 -0000 1.292
+++ h263.c 17 Dec 2005 11:31:56 -0000 1.293
@@ -5744,10 +5744,10 @@
char buf[256];
int i;
int e;
- int ver, build, ver2, ver3;
+ int ver = 0, build = 0, ver2 = 0, ver3 = 0;
char last;
- for(i=0; i<255; i++){
+ for(i=0; i<255 && gb->index < gb->size_in_bits; i++){
if(show_bits(gb, 23) == 0) break;
buf[i]= get_bits(gb, 8);
}
@@ -5769,7 +5769,8 @@
e=sscanf(buf, "FFmpeg v%d.%d.%d / libavcodec build: %d", &ver, &ver2, &ver3, &build);
if(e!=4){
e=sscanf(buf, "Lavc%d.%d.%d", &ver, &ver2, &ver3)+1;
- build= (ver<<16) + (ver2<<8) + ver3;
+ if (e>1)
+ build= (ver<<16) + (ver2<<8) + ver3;
}
if(e!=4){
if(strcmp(buf, "ffmpeg")==0){
@@ -6013,9 +6014,6 @@
startcode = 0xff;
for(;;) {
- v = get_bits(gb, 8);
- startcode = ((startcode << 8) | v) & 0xffffffff;
-
if(get_bits_count(gb) >= gb->size_in_bits){
if(gb->size_in_bits==8 && (s->divx_version || s->xvid_build)){
av_log(s->avctx, AV_LOG_ERROR, "frame skip %d\n", gb->size_in_bits);
@@ -6024,6 +6022,10 @@
return -1; //end of stream
}
+ /* use the bits after the test */
+ v = get_bits(gb, 8);
+ startcode = ((startcode << 8) | v) & 0xffffffff;
+
if((startcode&0xFFFFFF00) != 0x100)
continue; //no startcode
Index: svq3.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/svq3.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- svq3.c 14 Jul 2005 21:39:35 -0000 1.28
+++ svq3.c 17 Dec 2005 11:31:56 -0000 1.29
@@ -829,7 +829,7 @@
GetBitContext gb;
size = BE_32(&extradata[4]);
- init_get_bits (&gb, extradata + 8, size);
+ init_get_bits (&gb, extradata + 8, size*8);
/* 'frame size code' and optional 'width, height' */
if (get_bits (&gb, 3) == 7) {
- Previous message: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec msmpeg4data.h,1.12,1.13
- Next message: [Ffmpeg-cvslog] CVS: ffmpeg/libavformat ogg.c, 1.26, 1.27 rm.c, 1.50, 1.51 sierravmd.c, 1.10, 1.11 westwood.c, 1.8, 1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the ffmpeg-cvslog
mailing list