summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorRĂ©mi Denis-Courmont <remi@remlab.net>2013-07-25 22:30:21 +0300
committerAnton Khirnov <anton@khirnov.net>2013-08-05 11:21:36 +0200
commitf824535a4a79c260b59d3178b8d958217caffd78 (patch)
tree4a9f5e5094544cc013447b1a2fda78150be82585 /libavcodec
parent2852740e23f91d6775714d7cc29b9a73e1111ce0 (diff)
vdpau: deprecate bitstream buffers within the hardware context
The bitstream buffers are now private and freed by libavcodec. For backward compatibility, the hold bitstream buffer pointer is left NULL (applications were supposed to av_freep() it). Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/vdpau.h8
-rw-r--r--libavcodec/vdpau_internal.h9
-rw-r--r--libavcodec/version.h5
3 files changed, 21 insertions, 1 deletions
diff --git a/libavcodec/vdpau.h b/libavcodec/vdpau.h
index 18efcaa6e5..8bedea54ba 100644
--- a/libavcodec/vdpau.h
+++ b/libavcodec/vdpau.h
@@ -52,12 +52,14 @@
#include <vdpau/vdpau.h>
#include <vdpau/vdpau_x11.h>
+#if FF_API_BUFS_VDPAU
union AVVDPAUPictureInfo {
VdpPictureInfoH264 h264;
VdpPictureInfoMPEG1Or2 mpeg;
VdpPictureInfoVC1 vc1;
VdpPictureInfoMPEG4Part2 mpeg4;
};
+#endif
/**
* This structure is used to share data between the libavcodec library and
@@ -83,11 +85,13 @@ typedef struct AVVDPAUContext {
*/
VdpDecoderRender *render;
+#if FF_API_BUFS_VDPAU
/**
* VDPAU picture information
*
* Set by libavcodec.
*/
+ attribute_deprecated
union AVVDPAUPictureInfo info;
/**
@@ -95,6 +99,7 @@ typedef struct AVVDPAUContext {
*
* Set by libavcodec.
*/
+ attribute_deprecated
int bitstream_buffers_allocated;
/**
@@ -102,6 +107,7 @@ typedef struct AVVDPAUContext {
*
* Set by libavcodec.
*/
+ attribute_deprecated
int bitstream_buffers_used;
/**
@@ -110,7 +116,9 @@ typedef struct AVVDPAUContext {
*
* Set by libavcodec.
*/
+ attribute_deprecated
VdpBitstreamBuffer *bitstream_buffers;
+#endif
} AVVDPAUContext;
#if FF_API_CAP_VDPAU
diff --git a/libavcodec/vdpau_internal.h b/libavcodec/vdpau_internal.h
index e93c6723d8..9e4ab4e3df 100644
--- a/libavcodec/vdpau_internal.h
+++ b/libavcodec/vdpau_internal.h
@@ -35,6 +35,15 @@ static inline uintptr_t ff_vdpau_get_surface_id(Picture *pic)
return (uintptr_t)pic->f.data[3];
}
+#if !FF_API_BUFS_VDPAU
+union AVVDPAUPictureInfo {
+ VdpPictureInfoH264 h264;
+ VdpPictureInfoMPEG1Or2 mpeg;
+ VdpPictureInfoVC1 vc1;
+ VdpPictureInfoMPEG4Part2 mpeg4;
+};
+#endif
+
struct vdpau_picture_context {
/**
* VDPAU picture information.
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 41a9d7a05a..7a622f38f9 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -27,7 +27,7 @@
*/
#define LIBAVCODEC_VERSION_MAJOR 55
-#define LIBAVCODEC_VERSION_MINOR 12
+#define LIBAVCODEC_VERSION_MINOR 13
#define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
@@ -67,5 +67,8 @@
#ifndef FF_API_CAP_VDPAU
#define FF_API_CAP_VDPAU (LIBAVCODEC_VERSION_MAJOR < 56)
#endif
+#ifndef FF_API_BUFS_VDPAU
+#define FF_API_BUFS_VDPAU (LIBAVCODEC_VERSION_MAJOR < 56)
+#endif
#endif /* AVCODEC_VERSION_H */