[FFmpeg-cvslog] fftools/ffmpeg: move a misplaced assignment

Anton Khirnov git at videolan.org
Mon Apr 17 13:07:06 EEST 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Apr 11 09:34:29 2023 +0200| [4fc513b5e379dc4d45c8aa23af7d580708bbe4d9] | committer: Anton Khirnov

fftools/ffmpeg: move a misplaced assignment

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4fc513b5e379dc4d45c8aa23af7d580708bbe4d9
---

 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 d59de62546..0f43b7baa7 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);



More information about the ffmpeg-cvslog mailing list