[FFmpeg-devel] [PATCH 05/25] fftools/ffmpeg: move a miplaced assignment
Anton Khirnov
anton at khirnov.net
Thu Apr 13 17:12:03 EEST 2023
Changing AVCodecContext.sample_aspect_ratio after the encoder was opened
is by itself questionable, but if anywhere it belongs in encoding rather
than filtering code.
---
fftools/ffmpeg.c | 3 ---
fftools/ffmpeg_enc.c | 3 +++
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index c1070485be..700fa5fbe1 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -711,9 +711,6 @@ static int reap_filters(int flush)
switch (av_buffersink_get_type(filter)) {
case AVMEDIA_TYPE_VIDEO:
- if (!ost->frame_aspect_ratio.num)
- enc->sample_aspect_ratio = filtered_frame->sample_aspect_ratio;
-
enc_frame(ost, filtered_frame);
break;
case AVMEDIA_TYPE_AUDIO:
diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
index a0779c45ae..0236e50e38 100644
--- a/fftools/ffmpeg_enc.c
+++ b/fftools/ffmpeg_enc.c
@@ -653,6 +653,9 @@ static int encode_frame(OutputFile *of, OutputStream *ost, AVFrame *frame)
av_ts2str(frame->pts), av_ts2timestr(frame->pts, &enc->time_base),
enc->time_base.num, enc->time_base.den);
}
+
+ if (frame->sample_aspect_ratio.num && !ost->frame_aspect_ratio.num)
+ enc->sample_aspect_ratio = frame->sample_aspect_ratio;
}
update_benchmark(NULL);
--
2.39.1
More information about the ffmpeg-devel
mailing list