avfilter/video: pick sar from link
authorPaul B Mahol <onemda@gmail.com>
Thu, 7 Dec 2017 09:22:32 +0000 (10:22 +0100)
committerPaul B Mahol <onemda@gmail.com>
Sat, 23 Dec 2017 09:48:14 +0000 (10:48 +0100)
It should not be needed for each filter that sets sample aspect ratio
to set it explicitly also for each and every frame, instead that is
automatically done in get_buffer call.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavfilter/video.c

index 6f9020b..7a8e587 100644 (file)
@@ -43,6 +43,7 @@ AVFrame *ff_null_get_video_buffer(AVFilterLink *link, int w, int h)
 
 AVFrame *ff_default_get_video_buffer(AVFilterLink *link, int w, int h)
 {
+    AVFrame *frame = NULL;
     int pool_width = 0;
     int pool_height = 0;
     int pool_align = 0;
@@ -86,7 +87,13 @@ AVFrame *ff_default_get_video_buffer(AVFilterLink *link, int w, int h)
         }
     }
 
-    return ff_frame_pool_get(link->frame_pool);
+    frame = ff_frame_pool_get(link->frame_pool);
+    if (!frame)
+        return NULL;
+
+    frame->sample_aspect_ratio = link->sample_aspect_ratio;
+
+    return frame;
 }
 
 AVFrame *ff_get_video_buffer(AVFilterLink *link, int w, int h)