aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorS.N. Hemanth Meenakshisundaram <smeenaks@ucsd.edu>2010-08-11 15:25:42 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2010-08-11 15:25:42 +0000
commitc1db7bff66182d9e3fe48b122345ef92f011ae39 (patch)
treee2b5c88a17686037894e95e9a0dca2de858dc8c7
parente1f4dd6d41f2ef8cd6db444a3b70946d7a1e29a9 (diff)
downloadffmpeg-c1db7bff66182d9e3fe48b122345ef92f011ae39.tar.gz
Resize data and linesize in AVFilterBufferRef to 8.
This is required to make AVFilterBufferRef able to contain also audio data, required by audio filtering integration. Patch by S.N. Hemanth Meenakshisundaram smeen?ks@ucsd.ed?. Originally committed as revision 24773 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--ffplay.c5
-rw-r--r--libavfilter/avfilter.h6
-rw-r--r--libavfilter/defaults.c4
-rw-r--r--libavfilter/vsrc_buffer.c5
4 files changed, 11 insertions, 9 deletions
diff --git a/ffplay.c b/ffplay.c
index 0c75c41901..b6f2156a06 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1670,8 +1670,9 @@ static int input_request_frame(AVFilterLink *link)
picref = avfilter_ref_buffer(priv->frame->opaque, ~0);
} else {
picref = avfilter_get_video_buffer(link, AV_PERM_WRITE, link->w, link->h);
- av_picture_copy((AVPicture *)&picref->data, (AVPicture *)priv->frame,
- picref->format, link->w, link->h);
+ av_picture_data_copy(picref->data, picref->linesize,
+ priv->frame->data, priv->frame->linesize,
+ picref->format, link->w, link->h);
}
av_free_packet(&pkt);
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 0045215ee3..ec02e362a8 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -25,7 +25,7 @@
#include "libavutil/avutil.h"
#define LIBAVFILTER_VERSION_MAJOR 1
-#define LIBAVFILTER_VERSION_MINOR 33
+#define LIBAVFILTER_VERSION_MINOR 34
#define LIBAVFILTER_VERSION_MICRO 0
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
@@ -113,8 +113,8 @@ typedef struct AVFilterBufferRefVideoProps
typedef struct AVFilterBufferRef
{
AVFilterBuffer *buf; ///< the buffer that this is a reference to
- uint8_t *data[4]; ///< picture data for each plane
- int linesize[4]; ///< number of bytes per line
+ uint8_t *data[8]; ///< picture data for each plane
+ int linesize[8]; ///< number of bytes per line
int format; ///< media format
int64_t pts; ///< presentation timestamp in units of 1/AV_TIME_BASE
diff --git a/libavfilter/defaults.c b/libavfilter/defaults.c
index 2140436e8d..e27598206a 100644
--- a/libavfilter/defaults.c
+++ b/libavfilter/defaults.c
@@ -60,8 +60,8 @@ AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link, int per
// SIMD-friendly
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]));
+ memcpy(ref->data, pic->data, sizeof(ref->data));
+ memcpy(ref->linesize, pic->linesize, sizeof(ref->linesize));
return ref;
}
diff --git a/libavfilter/vsrc_buffer.c b/libavfilter/vsrc_buffer.c
index f4761f9334..03cf5ecdef 100644
--- a/libavfilter/vsrc_buffer.c
+++ b/libavfilter/vsrc_buffer.c
@@ -119,8 +119,9 @@ static int request_frame(AVFilterLink *link)
AV_PERM_REUSE2,
link->w, link->h);
- av_picture_copy((AVPicture *)&picref->data, (AVPicture *)&c->frame,
- picref->format, link->w, link->h);
+ av_picture_data_copy(picref->data, picref->linesize,
+ c->frame.data, c->frame.linesize,
+ picref->format, link->w, link->h);
picref->pts = c->pts;
picref->video->pixel_aspect = c->pixel_aspect;