|
|
|
@ -1252,31 +1252,29 @@ static void do_video_stats(OutputStream *ost, int frame_size) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
enc = ost->enc_ctx; |
|
|
|
|
if (enc->codec_type == AVMEDIA_TYPE_VIDEO) { |
|
|
|
|
frame_number = ost->st->nb_frames; |
|
|
|
|
if (vstats_version <= 1) { |
|
|
|
|
fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, |
|
|
|
|
ost->quality / (float)FF_QP2LAMBDA); |
|
|
|
|
} else { |
|
|
|
|
fprintf(vstats_file, "out= %2d st= %2d frame= %5d q= %2.1f ", ost->file_index, ost->index, frame_number, |
|
|
|
|
ost->quality / (float)FF_QP2LAMBDA); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (ost->error[0]>=0 && (enc->flags & AV_CODEC_FLAG_PSNR)) |
|
|
|
|
fprintf(vstats_file, "PSNR= %6.2f ", psnr(ost->error[0] / (enc->width * enc->height * 255.0 * 255.0))); |
|
|
|
|
|
|
|
|
|
fprintf(vstats_file,"f_size= %6d ", frame_size); |
|
|
|
|
/* compute pts value */ |
|
|
|
|
ti1 = av_stream_get_end_pts(ost->st) * av_q2d(ost->st->time_base); |
|
|
|
|
if (ti1 < 0.01) |
|
|
|
|
ti1 = 0.01; |
|
|
|
|
|
|
|
|
|
bitrate = (frame_size * 8) / av_q2d(enc->time_base) / 1000.0; |
|
|
|
|
avg_bitrate = (double)(ost->data_size * 8) / ti1 / 1000.0; |
|
|
|
|
fprintf(vstats_file, "s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s ", |
|
|
|
|
(double)ost->data_size / 1024, ti1, bitrate, avg_bitrate); |
|
|
|
|
fprintf(vstats_file, "type= %c\n", av_get_picture_type_char(ost->pict_type)); |
|
|
|
|
} |
|
|
|
|
frame_number = ost->st->nb_frames; |
|
|
|
|
if (vstats_version <= 1) { |
|
|
|
|
fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, |
|
|
|
|
ost->quality / (float)FF_QP2LAMBDA); |
|
|
|
|
} else { |
|
|
|
|
fprintf(vstats_file, "out= %2d st= %2d frame= %5d q= %2.1f ", ost->file_index, ost->index, frame_number, |
|
|
|
|
ost->quality / (float)FF_QP2LAMBDA); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (ost->error[0]>=0 && (enc->flags & AV_CODEC_FLAG_PSNR)) |
|
|
|
|
fprintf(vstats_file, "PSNR= %6.2f ", psnr(ost->error[0] / (enc->width * enc->height * 255.0 * 255.0))); |
|
|
|
|
|
|
|
|
|
fprintf(vstats_file,"f_size= %6d ", frame_size); |
|
|
|
|
/* compute pts value */ |
|
|
|
|
ti1 = av_stream_get_end_pts(ost->st) * av_q2d(ost->st->time_base); |
|
|
|
|
if (ti1 < 0.01) |
|
|
|
|
ti1 = 0.01; |
|
|
|
|
|
|
|
|
|
bitrate = (frame_size * 8) / av_q2d(enc->time_base) / 1000.0; |
|
|
|
|
avg_bitrate = (double)(ost->data_size * 8) / ti1 / 1000.0; |
|
|
|
|
fprintf(vstats_file, "s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s ", |
|
|
|
|
(double)ost->data_size / 1024, ti1, bitrate, avg_bitrate); |
|
|
|
|
fprintf(vstats_file, "type= %c\n", av_get_picture_type_char(ost->pict_type)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void finish_output_stream(OutputStream *ost) |
|
|
|
|