[MPlayer-dev-eng] PTS system broken..
Charles Henrich
henrich at sigbus.com
Fri Mar 1 00:15:48 CET 2002
> ok, in your case, v_timer_corr=0.000001
> but why does it cause any skip or drop ?
>
> // check frame duplicate/drop:
>
> if(v_timer_corr>=(float)mux_v->h.dwScale/mux_v->h.dwRate){
> v_timer_corr-=(float)mux_v->h.dwScale/mux_v->h.dwRate;
> ++skip_flag; // skip
> } else
> while(v_timer_corr<=-(float)mux_v->h.dwScale/mux_v->h.dwRate){
> v_timer_corr+=(float)mux_v->h.dwScale/mux_v->h.dwRate;
> --skip_flag; // dup
> }
>
> it won't skip or drop until it reaches one frame time + or -.
I dont have access to my PAL machine right now, but on a NTSC capture machine,
same problem occurs:
DUPLICATE: -0.033334 <= -0.033333 -0.000001
The PAL case would be:
DUPLICATE: -0.040001 <= -0.040000 -0.000001
where that is:
while(v_timer_corr<=-(float)mux_v->h.dwScale/mux_v->h.dwRate){
fprintf(stderr,"\n(DUPLICATE: %f <= %f",
v_timer_corr, -(float)mux_v->h.dwScale/mux_v->h.dwRate);
v_timer_corr+=(float)mux_v->h.dwScale/mux_v->h.dwRate;
fprintf(stderr," %f)\n", v_timer_corr);
--skip_flag; // dup
}
Charles Henrich Eon Entertainment henrich at msu.edu
http://www.sigbus.com:81/~henrich
More information about the MPlayer-dev-eng
mailing list