[MEncoder-users] DVD compliant MPEG2 encoding

Rich Felker dalias at aerifal.cx
Fri Sep 9 05:01:27 CEST 2005


On Fri, Sep 09, 2005 at 01:14:18AM +0300, Lauri Myllari wrote:
> 1) me_range
> 
> The player I use for testing is a Pioneer DV-545 and it's apparently
> quite strict about standard compliance. After adding "me_range=127" to
> lavcopts the player stopped skipping/crashing on scenes with fast
> motion.
> 
> I'm not sure what the correct value for me_range is. Mailing list
> archives suggest 128 and 256 (IIRC). To quote from the doom9.org thread:
> 
> "For Main level, ISO 13818-2, table 7-8 and E-8:
> horizontal range: -1024 : 1023.5 (f_code = 8)
> vertical range: -128 : 127.5 (f_code = 5)"

The correct value to use is 128. lavc knows it's 1 unit less for
positive values. Unfortunately there's no way to set horizontal
separately, so some quality is sacrificed, but it's not too bad.

> Should this be noted in the encoding-guide.txt section about DVD
> constraints?

Yes.

> 2) telecine
> 
> 3:2 pulldown was still causing stutter on NTSC playback. It seems
> -mpegopts flag "telecine" doesn't work 100%. MPlayer recognizes this
> pulldown and switches to 24000/1001fps, but the Pioneer was skipping
> all the time.

Hmm, this is unfortunate. I wonder why it doesn't work..??

> I think some timecode manipulation might be needed in addition to
> setting rff/tff flags in mpeg muxer.

Oh, yes that's very likely... it doesn't do it now? Have you looked at
the source or are you just guessing?

> 3) rate control
> 
> This is a bit harder to describe. Sometimes it works, sometimes not.
> I've had trouble with high peaks (sometimes over 15000k according to
> mplex, with vrc_buf_size=1835 and vrc_maxrate=9000) and low average
> bitrates.

Hmm, odd.. This should not happen; I wonder why it does.

> Lower bitrates (~2000-3000kbps) seem to be accurate without any
> B-frames. Adding max_bframes=2 leads to undersized encode.
> 
> Setting a higher bitrate (~4000kbps or more) gives undersized encodes
> too.

If the result is undersized after 2 passes, that means there was no
way to use more bits within the quantization restraints. Set
vqmin/lmin to 1 if you insist on using more bits..

Rich




More information about the MEncoder-users mailing list