]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/defaults.c
Implement avfilter_graph_config_links().
[ffmpeg] / libavfilter / defaults.c
index ab184973ad3704714ce64e2667ba7113e67df3b3..7c20a08f358a2ff4941361cfb3841cc58ebd1414 100644 (file)
@@ -19,8 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "libavcodec/imgconvert.h"
 #include "avfilter.h"
-#include "imgconvert.h"
 
 /* TODO: buffer pool.  see comment for avfilter_default_get_video_buffer() */
 void avfilter_default_free_video_buffer(AVFilterPic *pic)
@@ -29,10 +29,6 @@ void avfilter_default_free_video_buffer(AVFilterPic *pic)
     av_free(pic);
 }
 
-#define ALIGN(a) do{ \
-                     (a) = ((a) + 15) & (~15); \
-                 } while(0);
-
 /* TODO: set the buffer's priv member to a context structure for the whole
  * filter chain.  This will allow for a buffer pool instead of the constant
  * alloc & free cycle currently implemented. */
@@ -56,7 +52,7 @@ AVFilterPicRef *avfilter_default_get_video_buffer(AVFilterLink *link, int perms)
     ff_fill_linesize((AVPicture *)pic, pic->format, ref->w);
 
     for (i=0; i<4;i++)
-        ALIGN(pic->linesize[i]);
+        pic->linesize[i] = FFALIGN(pic->linesize[i], 16);
 
     tempsize = ff_fill_pointer((AVPicture *)pic, NULL, pic->format, ref->h);
     buf = av_malloc(tempsize);
@@ -82,6 +78,17 @@ void avfilter_default_start_frame(AVFilterLink *link, AVFilterPicRef *picref)
     }
 }
 
+void avfilter_default_draw_slice(AVFilterLink *link, int y, int h)
+{
+    AVFilterLink *out = NULL;
+
+    if(link->dst->output_count)
+        out = link->dst->outputs[0];
+
+    if(out)
+        avfilter_draw_slice(out, y, h);
+}
+
 void avfilter_default_end_frame(AVFilterLink *link)
 {
     AVFilterLink *out = NULL;