vdpau: Add an allocation function for AVVDPAUContext.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 11 Aug 2013 09:21:50 +0000 (11:21 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 11 Aug 2013 17:31:46 +0000 (19:31 +0200)
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
doc/APIchanges
libavcodec/vdpau.c
libavcodec/vdpau.h
libavcodec/version.h

index e3a64a0..147b3c7 100644 (file)
@@ -15,6 +15,10 @@ libavutil:     2012-10-22
 
 API changes, most recent first:
 
+2013-08-xx - xxxxxxx - lavc 55.26.100 - vdpau.h
+  Add allocation function for AVVDPAUContext, allowing
+  to extend it in the future without breaking ABI/API.
+
 2013-08-xx - xxxxxxx - lavc 55.16.0 - avcodec.h
   Extend AVPacket API with av_packet_unref, av_packet_ref,
   av_packet_move_ref, av_packet_copy_props, av_packet_free_side_data.
index cf564a5..63ea755 100644 (file)
  * @{
  */
 
+AVVDPAUContext *av_alloc_vdpaucontext(void)
+{
+    return av_mallocz(sizeof(AVVDPAUContext));
+}
+
 int ff_vdpau_common_start_frame(Picture *pic,
                                 av_unused const uint8_t *buffer,
                                 av_unused uint32_t size)
index 08116bf..210d517 100644 (file)
@@ -73,7 +73,8 @@ union AVVDPAUPictureInfo {
 /**
  * This structure is used to share data between the libavcodec library and
  * the client video application.
- * The user shall zero-allocate the structure and make it available as
+ * The user shall allocate the structure via the av_alloc_vdpau_hwaccel
+ * function and make it available as
  * AVCodecContext.hwaccel_context. Members can be set by the user once
  * during initialization or through each AVCodecContext.get_buffer()
  * function call. In any case, they must be valid prior to calling
@@ -130,6 +131,13 @@ typedef struct AVVDPAUContext {
 #endif
 } AVVDPAUContext;
 
+/**
+ * @brief allocation function for AVVDPAUContext
+ *
+ * Allows extending the struct without breaking API/ABI
+ */
+AVVDPAUContext *av_alloc_vdpaucontext(void);
+
 #if FF_API_CAP_VDPAU
 /** @brief The videoSurface is used for rendering. */
 #define FF_VDPAU_STATE_USED_FOR_RENDER 1
index ad8af90..2be90c4 100644 (file)
@@ -29,7 +29,7 @@
 #include "libavutil/avutil.h"
 
 #define LIBAVCODEC_VERSION_MAJOR 55
-#define LIBAVCODEC_VERSION_MINOR  25
+#define LIBAVCODEC_VERSION_MINOR  26
 #define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \