[FFmpeg-devel] [PATCH 24/28] ffmpeg_mux: drop a useless check and reduce indentation
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Thu Jan 13 12:54:59 EET 2022
Anton Khirnov:
> do_video_stats() is only ever called for video.
> ---
> fftools/ffmpeg_mux.c | 42 ++++++++++++++++++++----------------------
> 1 file changed, 20 insertions(+), 22 deletions(-)
>
> diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c
> index 76d9d4b9c4..8a64661c9c 100644
> --- a/fftools/ffmpeg_mux.c
> +++ b/fftools/ffmpeg_mux.c
> @@ -72,31 +72,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);
> - }
> + 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)));
> + 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;
> + 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));
> - }
> + 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 close_all_output_streams(OutputStream *ost, OSTFinished this_stream, OSTFinished others)
>
LGTM to removing the check, but it would be better if you removed the
check before moving the code to ffmpeg_mux.c and then fixed the
indentation while moving the code to ffmpeg_mux.c.
- Andreas
More information about the ffmpeg-devel
mailing list