@ -497,11 +497,12 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
int vid ;
double bitrate ;
double speed ;
int64_t pts = INT64_MIN + 1 ;
int64_t pts = AV_NOPTS_VALUE ;
static int64_t last_time = - 1 ;
static int first_report = 1 ;
uint64_t nb_frames_dup = 0 , nb_frames_drop = 0 ;
int hours , mins , secs , us ;
int mins , secs , us ;
int64_t hours ;
const char * hours_sign ;
int ret ;
float t ;
@ -553,7 +554,8 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
}
/* compute min output value */
if ( ost - > last_mux_dts ! = AV_NOPTS_VALUE ) {
pts = FFMAX ( pts , ost - > last_mux_dts ) ;
if ( pts = = AV_NOPTS_VALUE | | ost - > last_mux_dts > pts )
pts = ost - > last_mux_dts ;
if ( copy_ts ) {
if ( copy_ts_first_pts = = AV_NOPTS_VALUE & & pts > 1 )
copy_ts_first_pts = pts ;
@ -566,23 +568,21 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
nb_frames_drop + = ost - > last_dropped ;
}
secs = FFABS ( pts ) / AV_TIME_BASE ;
us = FFABS ( pts ) % AV_TIME_BASE ;
mins = secs / 60 ;
secs % = 60 ;
hours = mins / 60 ;
mins % = 60 ;
us = FFABS64U ( pts ) % AV_TIME_BASE ;
secs = FFABS64U ( pts ) / AV_TIME_BASE % 60 ;
mins = FFABS64U ( pts ) / AV_TIME_BASE / 60 % 60 ;
hours = FFABS64U ( pts ) / AV_TIME_BASE / 3600 ;
hours_sign = ( pts < 0 ) ? " - " : " " ;
bitrate = pts & & total_size > = 0 ? total_size * 8 / ( pts / 1000.0 ) : - 1 ;
speed = t ! = 0.0 ? ( double ) pts / AV_TIME_BASE / t : - 1 ;
bitrate = pts ! = AV_NOPTS_VALUE & & pts & & total_size > = 0 ? total_size * 8 / ( pts / 1000.0 ) : - 1 ;
speed = pts ! = AV_NOPTS_VALUE & & t ! = 0.0 ? ( double ) pts / AV_TIME_BASE / t : - 1 ;
if ( total_size < 0 ) av_bprintf ( & buf , " size=N/A time= " ) ;
else av_bprintf ( & buf , " size=%8.0fkB time= " , total_size / 1024.0 ) ;
if ( pts = = AV_NOPTS_VALUE ) {
av_bprintf ( & buf , " N/A " ) ;
} else {
av_bprintf ( & buf , " %s%02d:%02d:%02d.%02d " ,
av_bprintf ( & buf , " %s%02 " PRI d64 " :%02d:%02d.%02d " ,
hours_sign , hours , mins , secs , ( 100 * us ) / AV_TIME_BASE ) ;
}
@ -603,7 +603,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
} else {
av_bprintf ( & buf_script , " out_time_us=% " PRId64 " \n " , pts ) ;
av_bprintf ( & buf_script , " out_time_ms=% " PRId64 " \n " , pts ) ;
av_bprintf ( & buf_script , " out_time=%s%02d:%02d:%02d.%06d \n " ,
av_bprintf ( & buf_script , " out_time=%s%02 " PRI d64 " :%02d:%02d.%06d \n " ,
hours_sign , hours , mins , secs , us ) ;
}