float dither;
x264_param_t user_param;
- struct {
+ int first;
+
+ struct
+ {
int64_t min_buffer, max_buffer;
double avg_preset;
int den;
sc->stat.min_buffer = sc->buffer_size;
sc->stat.max_buffer = 0;
sc->user_param = h->param;
+ sc->first = 1;
}
void x264_speedcontrol_delete( x264_t *h )
x264_emms();
// update buffer state after encoding and outputting the previous frame(s)
- t = x264_mdate();
+ if( sc->first )
+ {
+ t = sc->timestamp;
+ sc->first = 0;
+ }
+ else
+ t = x264_mdate();
+
delta_f = h->i_frame - sc->prev_frame;
delta_t = t - sc->timestamp;
delta_buffer = delta_f * sc->spf / h->param.sc.f_speed - delta_t;