[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