[Ffmpeg-devel] ASP/AVC defaults

Robert Swain robert.swain
Wed Dec 7 06:38:07 CET 2005


Hello all,

I am interested in spending some time updating the x264 interface to a
current level. However, along the way it has been noted that some of the
default values for some parameters are unsuitable not only for AVC, but for
ASP as well.

Default value alterations:

gop_size
current = 12 (... in ffmpeg.c which overwrites 50 in utils.c)
proposed = 10 * framerate (for ASP and AVC)

max_b_frames
current = 0
proposed = 2 for XviD and AVC, 1 for libavcodec MPEG-4

mbd
current = 0 (simple)
proposed = 2 (RD), or 0 with mbcmp set to SATD, except for turbo first pass

last_pred
current = 0
proposed = 1 (this should probably be the default for MPEG-1/-2/-4)


AVC specific:
cabac
current = disabled
proposed = enabled

qmin
current = 2
proposed = 2 for ASP, 10 for AVC

qmax
current = 31
proposed = 31 for ASP, 51 for AVC

loopfilter
I think this is disabled by default as the h.263 loopfilter is broken.
However, the x264 interface does not currently pass the value to the x264
library and so the default is taken which means it is enabled. This will
have to be dealt with in some way.

gop_size, max_b_frames and others may require different defaults for other 
codecs such as MPEG-2. I'm not very familiar with libavcodec MPEG-4 and have 
never used libavcodec MPEG-2 so other defaults may be necessary.

It should be apparent that there is the problem of different default value
requirements sharing the same parameters. I could add new parameters for
each codec as necessary (say -asp_qmin and so on) or I could design some new
method for handling defaults dependent on which codec is selected. I don't
know which way is better or if there are other, better methods that I
haven't thought of, but I would appreciate your input to select the most
acceptable method before I begin.

Kind regards,
Rob(ert Swain, hereafter just Rob) 





More information about the ffmpeg-devel mailing list