[x264-devel] rate control for static macroblocks

Anne Aaron anne at dyyno.com
Thu Jun 12 03:24:17 CEST 2008


> If after updating x264 to a recent version including the VBV improvments
> you still have some similar issues, I'd be pleased to hear about it.

I've tested with yesterday's snapshot (June 10 2008) and I see similar issues.
A specific example:
I'm testing with a sequence where some frames are duplicated. For the duplicated frames, satd=0.
Therefore, rc->frame_size_planned = 0
In rate_control.c, line 954, it always enters the while loop and the QP is increased after every row
            while( rc->qpm < i_qp_max
                   && (b1 > rc->frame_size_planned * rc_tol
                    || (rc->buffer_fill - b1 < buffer_left_planned * 0.5)))
            {
                rc->qpm ++;
                b1 = predict_row_size_sum( h, y, rc->qpm );
            }
For the frame itself it doesn't cause a problem, but for the succeeding I frame, the quality is degraded and "I frame beating" is noticeable.
Looks like an easy fix for this corner case is to not update the QP when the frame_size_planned is 0.






More information about the x264-devel mailing list