Hi team, Okay, so I'm trying to incorporate proper PTS support in my demuxers, starting with the FILM demuxer. A film file has a base frequency clock, such as 30Hz or 600Hz. Each video frame is stamped with a time based on that clock, e.g.: 20, 40, 60, 80, all in the 600Hz case. Here's what I'm doing: 1) set up the fps and frametime variables: sh_video->fps = stream_read_dword(demuxer->stream); sh_video->frametime = 1.0 / sh_video->fps; 2) when I load a video frame into a demuxer packet, each packet has a PTS calculated by: dp->pts = (film_chunk.syncinfo1 & 0x7FFFFFFF) / sh_video->fps; 3) when I print the dp->pts variable, I get sane values: 0.133333: 0.1 A-V: -0.077 ct: -0.000 4/ 4 0% 0% 0.0% 3 0 0% 0.166667: 0.1 A-V: -0.105 ct: -0.001 5/ 5 0% 0% 0.0% 4 0 0% 0.200000: 0.2 A-V: -0.136 ct: -0.001 6/ 6 0% 0% 0.0% 5 0 0% 0.233333: 0.2 A-V: -0.167 ct: -0.001 7/ 7 0% 0% 0.0% 6 0 0% 0.266667: 0.2 A-V: -0.197 ct: -0.001 8/ 8 0% 0% 0.0% 7 0 0% 0.300000: 0.3 A-V: -0.228 ct: -0.001 9/ 9 0% 0% 0.0% 8 0 0% 0.333333: 0.3 A-V: -0.259 ct: -0.002 10/ 10 0% 0% 0.0% 9 0 0% and so on. And this is what MPlayer reports for time info: [V] filefmt:14 fourcc:0x64697663 size:296x136 fps:600.00 ftime:=0.0017 So all the data looks right to me. However, MPlayer is still trying to play the video at 600 fps. What am I missing here? Thanks... -- -Mike Melanson
participants (2)
-
Arpi -
Mike Melanson