[x264-devel] May I have some resources about RC module in x264

L.Guo leaveye.guo at gmail.com
Fri Mar 16 03:17:58 CET 2007


Hi all:

  I am in trouble with reading and understanding RC module in x264.
  I also tried to asked Loren, Mans and Michael for some docs or papers, who's emails
mentioned in file AUTHORS. And there is no response.

  May I have some kind of docs to make me clear about RC module in x264 ?

  I append that email after this one. Thanks for your reading this.

  Regards.
------------------				 
L.Guo
2007-03-16

-------------------------------------------------------------
Sender:L.Guo
Send date:2007-03-12 16:41:00
Receiver:lorenm; mru; michaelni
Copy to:
Subject:I need your help, about RC module in x264 code.

Hi Loren, Mans and Michael:

    I need to thank you all for your work. The x264 is a useful and excellent
project. Thanks.

    I am a embed video programmer in China, and referencing x264 project. My x264
version is 628 from svn://svn.videolan.org/x264/trunk.

    I found something I can not understand in ratecontrol.c, could you send me some
documents or papers about ratecontrol theory in x264 ?

    One of my questions is this code in function rate_estimate_qscale() :

1262    double abr_buffer = 2 * rcc->rate_tolerance * rcc->bitrate;
        /* 1pass ABR */
        /* RC method is not CRF */
1320    wanted_bits = i_frame_done * rcc->bitrate / rcc->fps;
1321    if( wanted_bits > 0 )
1322    {
1323        abr_buffer *= X264_MAX( 1, sqrt(i_frame_done/25) );
1324        overflow = x264_clip3f( 1.0 + (total_bits - wanted_bits) / abr_buffer,
                                    .5, 2 );
1325        q *= overflow;
1326    }

    In my mind, i_frame_done div 25 means a time of just coded frames. Which
multiplies abr_buffer's init value, a balance value of bitrate tolerance, should
means a reference buffer size. If so, why here uses the sqrt() ?

    Regards
--------------
L.Guo
2007-03-12


More information about the x264-devel mailing list