[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