[MPlayer-dev-eng] [RFC] experimental framer for mpeg12video

Nico Sabbi nsabbi at tiscali.it
Sat May 7 20:47:21 CEST 2005


Hi,
this patch is a _very_experimental_ first implementation of a framer for 
mpeg12video.
It's implemented as a special linked, slave demuxer, called explicitly 
and not auto-probed,
that works transparently wrt to the rest of mplayer.

It's intended to parse demux_data pushed to demuxer->video by other 
demuxers (atm only demux_ts)
and to push in the final/linked demuxer->video (the one that mplayer and 
mencoder see)
demux_packets containing single and complete video frames with correct 
timestamp on each of them.

The problems:
- atm there's some bad hack around, but it's only preliminary code 
intended to be reviewed and improved,
not applied, to it's not a serious issue
- mplayer seems not to like bframes with timestamps going backwards, so 
it applies a lot of a/v correction
leading soon to desync
- there's some minor and unfixed bug that may show with telecined content
- seeking is not implemented yet
- imo, this framer should take care to sync(), in this case discard 
packets until it finds the first sequence_header,
removing the same code from video.c 
(video_read_frame()/video_read_properties()).

In order to try the patch, you need to play an mpeg-ts file containing 
mpeg1/2 video adding the option -useframer.

Framers for certain audio formats(mpa/ac3/aac) audio are possible (and 
easier) to write.

Comments (I know there are certain parts that suck), improvements and 
advices are welcome.

    Nico


-------------- next part --------------
A non-text attachment was scrubbed...
Name: framer.diff
Type: text/x-patch
Size: 12918 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20050507/fc1a15cc/attachment.bin>


More information about the MPlayer-dev-eng mailing list