[Ffmpeg-devel] [RFC] ratecontrol buffer size magic

Baptiste Coudurier baptiste.coudurier
Thu Apr 12 11:07:10 CEST 2007


Hi

Michael Niedermayer wrote:
> Hi
> 
> On Wed, Apr 11, 2007 at 01:47:55PM +0200, Baptiste Coudurier wrote:
>> Hi
>>
>> Michael Niedermayer wrote:
>>> Hi
>>>
>>> On Thu, Apr 05, 2007 at 06:51:00PM +0200, Baptiste Coudurier wrote:
>>>> Hi,
>>>>
>>>> I stumbed accross a weird behaviour of the CBR ratecontrol lately,
>>>> basically doing:
>>>>
>>>>  ffmpeg -i file.mpg -vcodec mpeg2video -minrate 30000k -maxrate 30000k
>>>> -b 30000k -intra -flags +ildct+low_delay -dc 10 -flags2
>>>> +ivlc+non_linear_q -ps 1 -qmin 1 -qmax 12 -top 1 -vglobal 4 -acodec
>>>> pcm_s16be -f mov -bufsize 1200000 -rc_init_occupancy 1200000 cbr.mov
>>>>
>>>> Constraints are so in order to achieve vbv delay as 3600.
>>>> Now ffmpeg will only give me qp as 24. While tweaking I changed some
>>>> magic in ratecontrol.c (see patch attached) and now qp have decent/good
>>>> values.
>>>>
>>>> I dig into svn history and found out that r2601 bumped */2 to */3 to
>>>> improve CBR ratecontrol. Can anyone explain in detail why that magic
>>>> does improve behaviour ?
>>> yes, your vbv buf size is VERY significantly too small it can barely
>>> hold a single frame, increase it by a factor of 100 ...
>>>
>>> i hope theres no spec which mandates such nonsense parameters ...
>>>
>>>
>>>> Can that parameter be user setable ? 
>>> if you make it user settable ...
>> Is something like that ok ?
> 
> yes except that name of the variable and the comment

+
+    /**
+     * Ratecontrol available buffer space coefficient applied when
choosing qp.
+     * - encoding: Set by user.
+     * - decoding: unused
+     */
+    float rc_buffer_space_avail_coeff;

or shorter rc_buffer_space_coeff ? rc_buf_space_coeff for AVOption ?

Is it better ? Do you have a better name ?

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-devel mailing list