提交 36dc00de 编写于 作者: M Michael Niedermayer

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
上级 4618637a
......@@ -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));
......
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册