[FFmpeg-devel] [PATCH] libx264: support for BUILD >= 63

Robert Swain robert.swain
Wed Sep 17 17:40:54 CEST 2008


2008/9/17 Daniel G. Taylor <dan at programmer-art.org>:
> On Wed, 2008-09-17 at 09:44 -0500, Dion Galbreath wrote:
>> The only worry I have is that when you use the latest x264 the bitrate
>> might as well not even be there since it's not really used.. it will
>> give you whatever it feels like. I have since been using  version 803
>> which works great however these new changes now effectively kill that
>> from working, and your forced to go back to new builds of x264 which the
>> bitrate once again becomes a useless property...   any chance that that
>> part of ffmpeg can be fixed, I'm guessing that at the time v803 was
>> around ffmpeg was coded to use those properties but since 804 to now
>> that property had changed? I never looked much into it, it's just hard
>> to appreciate a fix in ffmpeg that degrades such a major encoding
>> function as bitrate.....
>
> I've noticed that qmax now defaults to around 31, which means you cannot
> achieve low bitrates that degrade quality beyond q=31. You can fix this
> by passing -qmax 51, which should allow any bitrate regardless of how
> bad the quality will be.
>
> I've had a quick look through the code to find where the lower qmax
> value could be set but haven't had any luck. Anybody know anything about
> this?

This is an issue of reusing variables for all codecs. Prior to h.264,
I think all quantiser ranges were 1-31. The qmax variable was
naturally reused but its default value remains as 31 despite having
its maximum possible value increased to 51.

Regardless, there are a number of other poor defaults in FFmpeg that
make using simple command lines for x264 and obtaining a good quality
output not possible. However, we do have the possibility of using
presets in FFmpeg now.

Presets:
http://rob.opendot.cl/index.php/2008/07/23/lc-aac-and-sbr-amr-nb-floating-point-presets/
(Note: rc_eq has been removed from the public x264 API and no longer
needs to be specified at all. Manually specify -threads 0 for
automatic choice of the number of threads x264 should use.)

To do things manually:
http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/

There are other pages on there that may be of interest too.

Rob




More information about the ffmpeg-devel mailing list