[Mplayer-cvslog] CVS: main/libmpdemux aviheader.c,1.46,1.47
Michael Niedermayer
michael at mplayerhq.hu
Sun Jun 2 23:35:51 CEST 2002
Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var/tmp.root/cvs-serv26262
Modified Files:
aviheader.c
Log Message:
msmpeg4v1 indexing
Index: aviheader.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/aviheader.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- aviheader.c 2 Jun 2002 21:10:41 -0000 1.46
+++ aviheader.c 2 Jun 2002 21:35:49 -0000 1.47
@@ -193,7 +193,13 @@
// IdxFix:
idxfix_videostream=stream_id;
switch(sh_video->bih->biCompression){
- case mmioFOURCC('D', 'I', 'V', '3'):
+ case mmioFOURCC('M', 'P', 'G', '4'):
+ case mmioFOURCC('m', 'p', 'g', '4'):
+ case mmioFOURCC('D', 'I', 'V', '1'):
+ idxfix_divx=3; // we can fix keyframes only for divx coded files!
+ mp_msg(MSGT_HEADER,MSGL_V,"Regenerating keyframe table for M$ mpg4v1 video\n");
+ break;
+ case mmioFOURCC('D', 'I', 'V', '3'):
case mmioFOURCC('d', 'i', 'v', '3'):
case mmioFOURCC('D', 'I', 'V', '4'):
case mmioFOURCC('d', 'i', 'v', '4'):
@@ -336,6 +342,7 @@
if(idxfix_divx)
if(avi_stream_id(id)==idxfix_videostream){
switch(idxfix_divx){
+ case 3: c=stream_read_dword(demuxer->stream)<<5; //skip 32+5 bits for m$mpeg4v1
case 1: if(c&0x40000000) idx->dwFlags=0;break; // divx 3
case 2: if(c==0x1B6) idx->dwFlags=0;break; // divx 4
}
More information about the MPlayer-cvslog
mailing list