[SCM] libav/experimental: Add w, h, format back into AVFilterBuffer, these are required for direct rendering. These fields are needed to be able to know which area of memory is allocated and which is off limits. This reverts 24291 and parts of r24424.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:21:46 UTC 2013


The following commit has been merged in the experimental branch:
commit 36dc00de529fb4cd182e02f927597eef9514b886
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Tue Jan 11 23:53:17 2011 +0000

    Add w,h,format back into AVFilterBuffer, these are required for direct rendering.
    These fields are needed to be able to know which area of memory is allocated and
    which is off limits.
    This reverts 24291 and parts of r24424.
    
    Originally committed as revision 26314 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 104a3b4..ebb2165 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -283,15 +283,15 @@ avfilter_get_video_buffer_ref_from_arrays(uint8_t *data[4], int linesize[4], int
     if (!(picref->video = av_mallocz(sizeof(AVFilterBufferRefVideoProps))))
         goto fail;
 
-    picref->video->w = w;
-    picref->video->h = h;
+    pic->w = picref->video->w = w;
+    pic->h = picref->video->h = h;
 
     /* make sure the buffer gets read permission or it's useless for output */
     picref->perms = perms | AV_PERM_READ;
 
     pic->refcount = 1;
     picref->type = AVMEDIA_TYPE_VIDEO;
-    picref->format = format;
+    pic->format = picref->format = format;
 
     memcpy(pic->data,        data,          sizeof(pic->data));
     memcpy(pic->linesize,    linesize,      sizeof(pic->linesize));
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 02b513f..597e7a7 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -27,7 +27,7 @@
 #include "libavcore/samplefmt.h"
 
 #define LIBAVFILTER_VERSION_MAJOR  1
-#define LIBAVFILTER_VERSION_MINOR 72
+#define LIBAVFILTER_VERSION_MINOR 73
 #define LIBAVFILTER_VERSION_MICRO  0
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
@@ -80,6 +80,9 @@ typedef struct AVFilterBuffer {
      * reallocating it from scratch.
      */
     void (*free)(struct AVFilterBuffer *buf);
+
+    int format;                 ///< media format
+    int w, h;                   ///< width and height of the allocated buffer
 } AVFilterBuffer;
 
 #define AV_PERM_READ     0x01   ///< can read from the buffer

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list