[MPlayer-users] MPlayer doesn't recognize I-Frames in MPEG-PS

Nico Sabbi nsabbi at email.it
Thu Jul 14 12:38:05 CEST 2005


Yaro Pollak wrote:

>Thank you very much for your (super) fast response Nico, However, I did not
>understand EXACTLY what to do, and I wouldn't want to break something, so
>just a clarification: should I put the break (for mpeg4) right after the
>format check, after if(i==0x1B6) or after the read_video_packet? 
>
just before it

>And
>resync_video_stream should be added regrdless of mpeg type (1/2/4)?
>
>  
>

atm only for mpeg4

>Thank you very much,
>Yaro
>
>
>  
>

something like this could go, but I dn't have the time to test it

while(1){
          int i;
          if(sh_audio && !d_audio->eof && d_video->pts && d_audio->pts){
            float a_pts=d_audio->pts;
            
a_pts+=(ds_tell_pts(d_audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps;
            if(d_video->pts>a_pts){
              skip_audio_frame(sh_audio);  // sync audio
              continue;
            }
          }
        
         if(sh_video->format == 0x10000004)
            break;
          i=sync_video_packet(d_video);
         
           else if(sh_video->format == 0x10000005){     //h264
            if((i & ~0x60) == 0x101 || (i & ~0x60) == 0x102 || (i & 
~0x60) == 0x105) break;
          } else {      //default mpeg1/2
            if(i==0x1B3 || i==0x1B8) break; // found it!
          }
          if(!i || !skip_video_packet(d_video)) break; // EOF?
        }

        if(sh_video->format == 0x10000004)
            resync_video_stream(sh_video);

 
 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 Il mondo dei minerali, gemme, cristalli: riscopri il tuo equilibrio 
* interiore e l’energia spirituale su Erboristeria.com 
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=2377&d=14-7




More information about the MPlayer-users mailing list