Feed the filter chain with the sample aspect ratio from the muxer or codec layer
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Jan 2011 20:38:56 +0000 (21:38 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Jan 2011 22:22:42 +0000 (23:22 +0100)
like it has been done prior libavfilter.

ffmpeg.c

index 2f8cea1..bae4b80 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1607,10 +1607,13 @@ static int output_packet(AVInputStream *ist, int ist_index,
 
 #if CONFIG_AVFILTER
         if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && ist->input_video_filter) {
+            AVRational sar;
+            if (ist->st->sample_aspect_ratio.num) sar = ist->st->sample_aspect_ratio;
+            else                                  sar = ist->st->codec->sample_aspect_ratio;
             // add it to be filtered
             av_vsrc_buffer_add_frame(ist->input_video_filter, &picture,
                                      ist->pts,
-                                     ist->st->codec->sample_aspect_ratio);
+                                     sar);
         }
 #endif