[x264-devel] commit: Correct misprediction of bitrate in threaded mode ( Gabriel Bouvigne )

BugMaster BugMaster at narod.ru
Wed Sep 17 01:08:15 CEST 2008


On Tue, 16 Sep 2008 14:50:02 -0700, Jason Garrett-Glaser wrote:
> 2008/9/16 BugMaster <BugMaster at narod.ru>:
>> ...

> Your patch has other issues, such as:

> -                    abr_buffer *= X264_MAX( 1, sqrt(i_frame_done/25) );
> +                    abr_buffer *= X264_MAX( 1, sqrt(i_frame_done / rcc->fps) );

> This is a completely nonsensical change, since 25 is not the
> framerate, its simply a magic number; I see no reason to change it to
> the framerate.

> Anyways, Gabriel is the prime maintainer of ratecontrol; talk to him about it.

> Dark Shikari
> _______________________________________________
> x264-devel mailing list
> x264-devel at videolan.org
> http://mailman.videolan.org/listinfo/x264-devel

OK. If this is the magic number and not hard coded fps you may no
change this line. Also you may replace:
-            if( h->fenc->i_frame > 30 )
+            if( h->fenc->i_frame + 1 - h->param.i_threads >= rcc->fps && rcc->expected_bits_sum > 0)
with
-            if( h->fenc->i_frame > 30 )
+            if( h->fenc->i_frame + 1 - h->param.i_threads > 30 && rcc->expected_bits_sum > 0)
or even with
-            if( h->fenc->i_frame > 30 )
+            if( h->fenc->i_frame > 30 && rcc->expected_bits_sum > 0)
if 30 is also not hard coded fps (in which situation my expression mean
to start corrections when we have statistics about one encoded second).

But IMHO in both situations this is hardcoded fps.
Also look here http://mailman.videolan.org/pipermail/x264-devel/2007-October/003654.html
But Loren says the opposite http://mailman.videolan.org/pipermail/x264-devel/2007-October/003662.html



More information about the x264-devel mailing list