aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-11-02 22:01:14 +0100
committerAnton Khirnov <anton@khirnov.net>2013-11-14 09:38:58 +0100
commit728c4658563dc82115ade0f1679679eddb7be5ff (patch)
treefe5f4aec0fab08090215dec4ebba6ae32449c885 /libavcodec
parentca22d1dea2842fca0422dd1d2bd09e7eb2c8f118 (diff)
downloadffmpeg-728c4658563dc82115ade0f1679679eddb7be5ff.tar.gz
vdpau: add a constructor for AVVDPAUContext.
We will likely want to add new fields to it in the future, so this is needed to avoid breaking ABI.
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/vdpau.c5
-rw-r--r--libavcodec/vdpau.h11
2 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c
index cc0bcffc5f..d8a35eeb3b 100644
--- a/libavcodec/vdpau.c
+++ b/libavcodec/vdpau.c
@@ -133,4 +133,9 @@ do { \
return AVERROR(EINVAL);
}
+AVVDPAUContext *av_vdpau_alloc_context(void)
+{
+ return av_mallocz(sizeof(AVVDPAUContext));
+}
+
/* @}*/
diff --git a/libavcodec/vdpau.h b/libavcodec/vdpau.h
index bf8c8e8b2c..75cb1bf7a3 100644
--- a/libavcodec/vdpau.h
+++ b/libavcodec/vdpau.h
@@ -74,6 +74,10 @@ union AVVDPAUPictureInfo {
* during initialization or through each AVCodecContext.get_buffer()
* function call. In any case, they must be valid prior to calling
* decoding functions.
+ *
+ * The size of this structure is not a part of the public ABI and must not
+ * be used outside of libavcodec. Use av_vdpau_alloc_context() to allocate an
+ * AVVDPAUContext.
*/
typedef struct AVVDPAUContext {
/**
@@ -127,6 +131,13 @@ typedef struct AVVDPAUContext {
} AVVDPAUContext;
/**
+ * Allocate an AVVDPAUContext.
+ *
+ * @return Newly-allocated AVVDPAUContext or NULL on failure.
+ */
+AVVDPAUContext *av_vdpau_alloc_context(void);
+
+/**
* Get a decoder profile that should be used for initializing a VDPAU decoder.
* Should be called from the AVCodecContext.get_format() callback.
*