[FFmpeg-devel] [PATCH] fftools/ffmpeg: show video stats in progress output without filters
Anton Khirnov
anton at khirnov.net
Thu Aug 1 10:41:16 EEST 2024
Quoting Jan Garcia via ffmpeg-devel (2024-07-30 20:03:33)
> Since ffmpeg 6.1 video stats are accidentally hidden from progress output
> if no filters are used.
IIUC this applies only to streamcopy, not transcoding with no
user-specified filters.
> This patch re-enables video stats (like frames=) in the progress output.
> ---
> Changelog | 1 +
> fftools/ffmpeg.c | 8 +++++---
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/Changelog b/Changelog
> index 571b27ad98..2c2cbf9179 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -5,6 +5,7 @@ version <next>:
> - Raw Captions with Time (RCWT) closed caption demuxer
> - LC3/LC3plus decoding/encoding using external library liblc3
> - ffmpeg CLI filtergraph chaining
> +- ffmpeg CLI again shows video stats in progress output
We generally do not mention bugfixes in the changelog, otherwise it'd be
too long and unreadable.
> - LC3/LC3plus demuxer and muxer
> - pad_vaapi, drawbox_vaapi filters
> - vf_scale supports secondary ref input and framesync options
> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
> index 3aa2e12780..420ba3c6e4 100644
> --- a/fftools/ffmpeg.c
> +++ b/fftools/ffmpeg.c
> @@ -587,7 +587,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
> av_bprintf(&buf_script, "stream_%d_%d_q=%.1f\n",
> ost->file->index, ost->index, q);
> }
> - if (!vid && ost->type == AVMEDIA_TYPE_VIDEO && ost->filter) {
> + if (!vid && ost->type == AVMEDIA_TYPE_VIDEO) {
> float fps;
> uint64_t frame_number = atomic_load(&ost->packets_written);
>
> @@ -601,8 +601,10 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
> if (is_last_report)
> av_bprintf(&buf, "L");
>
> - nb_frames_dup = atomic_load(&ost->filter->nb_frames_dup);
> - nb_frames_drop = atomic_load(&ost->filter->nb_frames_drop);
> + if (ost->filter) {
> + nb_frames_dup = atomic_load(&ost->filter->nb_frames_dup);
> + nb_frames_drop = atomic_load(&ost->filter->nb_frames_drop);
> + }
Change itself looks ok.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list