diff --git a/doc/APIchanges b/doc/APIchanges index 0306ec9ab5..dc40bc3415 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,10 @@ libavutil: 2012-10-22 API changes, most recent first: +2013-08-xx - xxxxxxx - lavc 55.13.0 - avcodec.h + Deprecate the bitstream-related members from struct AVVDPAUContext. + The bistream buffers no longer need to be explicitly freed. + 2013-08-xx - xxxxxxx - lavc 55.12.0 - avcodec.h Deprecate the CODEC_CAP_HWACCEL_VDPAU codec capability. Use CODEC_CAP_HWACCEL and select the AV_PIX_FMT_VDPAU format with get_format() instead. diff --git a/libavcodec/vdpau.h b/libavcodec/vdpau.h index 91948e707b..9d3128eb49 100644 --- a/libavcodec/vdpau.h +++ b/libavcodec/vdpau.h @@ -57,12 +57,14 @@ #define FF_API_CAP_VDPAU 1 #endif +#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 @@ -88,11 +90,13 @@ typedef struct AVVDPAUContext { */ VdpDecoderRender *render; +#if FF_API_BUFS_VDPAU /** * VDPAU picture information * * Set by libavcodec. */ + attribute_deprecated union AVVDPAUPictureInfo info; /** @@ -100,6 +104,7 @@ typedef struct AVVDPAUContext { * * Set by libavcodec. */ + attribute_deprecated int bitstream_buffers_allocated; /** @@ -107,6 +112,7 @@ typedef struct AVVDPAUContext { * * Set by libavcodec. */ + attribute_deprecated int bitstream_buffers_used; /** @@ -115,7 +121,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 4806a43300..001f17cf36 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 c0b9ff3faf..4b9a4b26ab 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "libavutil/avutil.h" #define LIBAVCODEC_VERSION_MAJOR 55 -#define LIBAVCODEC_VERSION_MINOR 21 +#define LIBAVCODEC_VERSION_MINOR 22 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ @@ -94,5 +94,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 */