[MPlayer-dev-eng] Variable Framerate

Mike Melanson melanson at pcisys.net
Sun Feb 10 05:56:02 CET 2002


Hi team,
	Does MPlayer have any support for variable framerates? I
still haven't gotten the FILM file framerate exactly right. From what I've
figured out, the FILM files were designed to be played on an
interrupt-driven real-time computer system like, for example, a video game
console (imagine that). A FILM file defines a base timer frequency is Hz
and each frame is tagged with 1) the absolute timestamp of the frame with
respect to the base timer, and 2) the number of timer ticks until the next
frame is to be displayed. I can see how this would be useful in an
interrupt-driven environment (display frame from decode cache, set timer
interrupt to let player know when to display next frame).

	Some files have a base frequency of 30 Hz and a variable number of
ticks between frames, like 1..3. Some files have a base frequency of 600
Hz and a constant number of ticks between frames, like 20 (yielding an
average 30 FPS). I've tried setting the FPS to the base frequency and
keeping an internal counter, then depositing empty packets into the video
decode queue when if not enough timer ticks have elapsed. MPlayer hates
having 600 frames to process each second, even when 570 of them are "no
change" frames.

	To make things even weirder, with those 600 Hz files, I've
experimentally determined that the perfect framerate is 27 FPS, not 30
FPS. Still not sure of a good solution to this problem.

-- 
	-Mike Melanson




More information about the MPlayer-dev-eng mailing list