- int64_t diff;
- int64_t predicted_bits = total_bits;
-
- if( rcc->b_vbv )
- {
- if( h->i_thread_frames > 1 )
- {
- int j = h->rc - h->thread[0]->rc;
- for( int i = 1; i < h->i_thread_frames; i++ )
- {
- x264_t *t = h->thread[ (j+i)%h->i_thread_frames ];
- double bits = t->rc->frame_size_planned;
- if( !t->b_thread_active )
- continue;
- bits = X264_MAX(bits, t->rc->frame_size_estimated);
- predicted_bits += (int64_t)bits;
- }
- }
- }
- else
- {
- if( h->i_frame < h->i_thread_frames )
- predicted_bits += (int64_t)h->i_frame * rcc->bitrate / rcc->fps;
- else
- predicted_bits += (int64_t)(h->i_thread_frames - 1) * rcc->bitrate / rcc->fps;
- }