[x264-devel] x264 rate control

Jason Garrett-Glaser jason at x264.com
Wed Jan 30 11:21:19 CET 2013


On Wed, Jan 30, 2013 at 2:00 AM, eloise vidal <eloise.vidal at gmail.com> wrote:
> Thank you for this quick response,
>
> I don't indicate the number of thread, but I checked the value of the
> parameter "i_thread_frames", it is automatically set to 24.
>
> So I made two tests (x264 --input-res 1920x1080 --fps 25 --bitrate 8000
> --vbv-maxrate 8000 ...) :
>
> 1. I increase the buffer size (initially 3M=9~10frames) to 8M (25 frames)
> vbv_bufsize = 3M --> achieved bitrate =  6125.30
> vbv_bufsize = 8M --> achieved bitrate =  6904.92.
>
> 2. I decrease the number of thread (initially 24) to 8, with bufsize 3M :
> i_thread_frames = 24 --> achieved bitrate =  6125.30, fps = 22.04
> i_thread_frames = 8 --> achieved bitrate =  7166.56, fps = 10.99
> --> Actually, if I decrease the number of threads, the achieved bitrate is
> better but of course, the number of frames coded per second, decreases and
> that is not a solution for a real time application.

Sure it is; x264 can still easily achieve 1080p60 in realtime with 8
threads or less.  You just might have to use a slightly faster preset
if you're using extremal VBV settings that force you to use fewer
threads.

It's still a gajillion times faster than Mainconcept.

> That is very suprising for me, is that the rate control allocates very few
> bits to the first frames, and it spends all the sequence (200 frames) to
> increase the number of bit per frame to reach the target bitrate.

Do you have a test sample demonstrating this?  This behavior you're
describing makes no sense in CBR mode.

Jason


More information about the x264-devel mailing list