[MPlayer-dev-eng] [PATCH] new mpeg muxer

Nico Sabbi nsabbi at tiscali.it
Thu Feb 24 16:01:13 CET 2005


Sorry for this hand-made reply, but I lost the original message.

D Richard Felker III wrote:

>i'm not talking about remuxing but encoding. presumably you have a
>24fps source, and want to make a valid svcd or dvd out of it. you can
>just increase the framerate to 30fps, inserting duplicate frames, but
>that will give horrible choppy 4:2:2:2 pulldown rather than 3:2:3:2.
>
>the "correct" way, as far as i'm concerned, is to encode at 24fps, but
>then modify the output stream to indicate 30fps and to add tff/repeat
>flags to alternating frames so as to emulate 24fps inside a 30fps
>stream, aka "soft telecine". i'm not sure whether this nasty hackery
>belongs in the encoder or in the muxer, though...
>rich
>
>  
>

ok, now I understand. Seems reasonably easy to do. I'll work at it this 
weekend

>obviously you want the compliant gop sizes... ;)
>  
>
not necessarily, especially considering that for vcd the standard 
requires 12
for pal

>i meant other stuff, like presence/absence of b frames, what the
>correct gop sizes are, correct bitrates and vbv buffer sizes, etc...
>
>  
>

so, as far as I know (my knowledge is limited to what can be read online,
because I don't have even a draft of the standard) these are the 
official encoding
parameters:

for all: max gop length: 15 for pal, 18 for ntsc, 2 max b-frames
vcd: vbv 46 KB, bitrate 1150 kb/s cbr
svcd:vbv 92 KB, bitrate: audio+video must not exceed ~2700 kb/s sustained
dvd: vbv 230 KB, bitrate audio+video must not exceed ~9800 kb/s sustained

My experiences: using 25 frames gops in my pal encodes always worked 
correctly for all 3
formats; trying to enforce vbv constraints often lead to buffer underrun 
in the lavc,
that lead to problems in the muxer (pts underrun).
Trying to limit the max bitrate often doesn't work (tops also at 13 Mb/s).
I understand that vbv and maxrate are bound, so maybe I didn't use them 
correctly.


Tonight I will disable frame reordering by default,  and try to fix what 
causes the flashing
when scene change kicks in. What value did you use for sc_threshold?

    Nico




More information about the MPlayer-dev-eng mailing list