Separate video specific BufferRef properties into VideoProps.
[ffmpeg.git] / libavfilter / defaults.c
index 5b1d5b8..2140436 100644 (file)
@@ -39,9 +39,10 @@ AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link, int per
     int i, tempsize;
     char *buf;
 
-    ref->buf   = pic;
-    ref->w     = w;
-    ref->h     = h;
+    ref->buf         = pic;
+    ref->video       = av_mallocz(sizeof(AVFilterBufferRefVideoProps));
+    ref->video->w    = w;
+    ref->video->h    = h;
 
     /* make sure the buffer gets read permission or it's useless for output */
     ref->perms = perms | AV_PERM_READ;
@@ -49,15 +50,15 @@ AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link, int per
     pic->refcount = 1;
     ref->format   = link->format;
     pic->free     = avfilter_default_free_buffer;
-    av_fill_image_linesizes(pic->linesize, ref->format, ref->w);
+    av_fill_image_linesizes(pic->linesize, ref->format, ref->video->w);
 
     for (i=0; i<4;i++)
         pic->linesize[i] = FFALIGN(pic->linesize[i], 16);
 
-    tempsize = av_fill_image_pointers(pic->data, ref->format, ref->h, NULL, pic->linesize);
+    tempsize = av_fill_image_pointers(pic->data, ref->format, ref->video->h, NULL, pic->linesize);
     buf = av_malloc(tempsize + 16); // +2 is needed for swscaler, +16 to be
                                     // SIMD-friendly
-    av_fill_image_pointers(pic->data, ref->format, ref->h, buf, pic->linesize);
+    av_fill_image_pointers(pic->data, ref->format, ref->video->h, buf, pic->linesize);
 
     memcpy(ref->data,     pic->data,     4*sizeof(pic->data[0]));
     memcpy(ref->linesize, pic->linesize, 4*sizeof(pic->linesize[0]));