Mercurial > mplayer.hg
comparison libmpdemux/demux_mpg.c @ 22155:bea181ba1df4
when seeking and the codec is VC1 sync to sequence or entry point headers
author | nicodvb |
---|---|
date | Wed, 07 Feb 2007 23:56:08 +0000 |
parents | e2d1bb1d2c6b |
children | cc7967b389a1 |
comparison
equal
deleted
inserted
replaced
22154:1dc228327c55 | 22155:bea181ba1df4 |
---|---|
916 continue; | 916 continue; |
917 } | 917 } |
918 } | 918 } |
919 if(!sh_video) break; | 919 if(!sh_video) break; |
920 i=sync_video_packet(d_video); | 920 i=sync_video_packet(d_video); |
921 if(sh_video->format == mmioFOURCC('W', 'V', 'C', '1')) { | |
922 if(i==0x10E || i==0x10F) //entry point or sequence header | |
923 break; | |
924 } else | |
921 if(sh_video->format == 0x10000004) { //mpeg4 | 925 if(sh_video->format == 0x10000004) { //mpeg4 |
922 if(i==0x1B6) { //vop (frame) startcode | 926 if(i==0x1B6) { //vop (frame) startcode |
923 int pos = videobuf_len; | 927 int pos = videobuf_len; |
924 if(!read_video_packet(d_video)) break; // EOF | 928 if(!read_video_packet(d_video)) break; // EOF |
925 if((videobuffer[pos+4] & 0x3F) == 0) break; //I-frame | 929 if((videobuffer[pos+4] & 0x3F) == 0) break; //I-frame |