changeset 569:2810e747e545

small fix of DivFix
author arpi_esp
date Sun, 22 Apr 2001 01:29:59 +0000
parents edba7a89de99
children 839b2255c43b
files aviheader.c
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/aviheader.c	Sun Apr 22 01:04:18 2001 +0000
+++ b/aviheader.c	Sun Apr 22 01:29:59 2001 +0000
@@ -121,6 +121,7 @@
   while(1){
     int id,len,skip;
     AVIINDEXENTRY* idx;
+    unsigned char c;
     demuxer->filepos=stream_tell(demuxer->stream);
     if(demuxer->filepos>=avi_header.movi_end) break;
     id=stream_read_dword_le(demuxer->stream);
@@ -140,16 +141,16 @@
     idx->dwFlags=AVIIF_KEYFRAME; // FIXME
     idx->dwChunkOffset=demuxer->filepos;
     idx->dwChunkLength=len;
+    
+    c=stream_read_char(demuxer->stream);
 
     // Fix keyframes for DivX files:
     if(idxfix_divx)
       if(avi_stream_id(id)==idxfix_videostream){
-        unsigned char c=stream_read_char(demuxer->stream);
-//        --skip;
-        if(!(c&0x40)) idx->dwFlags=0;
+        if(c&0x40) idx->dwFlags=0;
       }
     
-    if(verbose>=2) printf("0x%08X  0x%08X %.4s  %X\n",demuxer->filepos,id,&id,idx->dwFlags);
+    if(verbose>=2) printf("%08X %08X %.4s %02X %X\n",demuxer->filepos,id,&id,c,idx->dwFlags);
 #if 0
     { unsigned char tmp[64];
       int i;