[FFmpeg-devel] [PATCH v7 1/4] avcodec: add side data type for ancillary

Patrick Keroulas patrick.keroulas at savoirfairelinux.com
Fri May 25 17:16:28 EEST 2018


avcodec: add side data type for ancillary

Create a new type of side data to be attached to AVPacket in order
to transmit out of band parameters for typical codecs.

Signed-off-by: Patrick Keroulas <patrick.keroulas at savoirfairelinux.com>
---
 doc/APIchanges        | 3 +++
 libavcodec/avcodec.h  | 7 ++++++-
 libavcodec/avpacket.c | 1 +
 libavcodec/version.h  | 4 ++--
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index efe15ba..ff2baff 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil:     2017-10-21
 
 API changes, most recent first:
 
+2018-05-xx - xxxxxxxxxx - lavc 58.20.100 - avcodec.h
+  Add AV_PKT_DATA_ANCILLARY to hold various side data.
+
 2018-05-xx - xxxxxxxxxx - lavf 58.15.100 - avformat.h
   Add pmt_version field to AVProgram
 
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index fb0c6fa..fc2c5dc 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -1358,6 +1358,12 @@ enum AVPacketSideDataType {
     AV_PKT_DATA_ENCRYPTION_INFO,
 
     /**
+     * Generic side data for any parameter that can't fit in a AVPacket,
+     * e.g. interlaced field flags.
+     */
+    AV_PKT_DATA_ANCILLARY,
+
+    /**
      * The number of side data types.
      * This is not part of the public API/ABI in the sense that it may
      * change when new side data types are added.
@@ -1480,7 +1486,6 @@ typedef struct AVPacket {
  */
 #define AV_PKT_FLAG_DISPOSABLE 0x0010
 
-
 enum AVSideDataParamChangeFlags {
     AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT  = 0x0001,
     AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002,
diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c
index 99a0c13..27355e1 100644
--- a/libavcodec/avpacket.c
+++ b/libavcodec/avpacket.c
@@ -388,6 +388,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type)
     case AV_PKT_DATA_CONTENT_LIGHT_LEVEL:        return "Content light level metadata";
     case AV_PKT_DATA_SPHERICAL:                  return "Spherical Mapping";
     case AV_PKT_DATA_A53_CC:                     return "A53 Closed Captions";
+    case AV_PKT_DATA_ANCILLARY:                  return "Ancillary data";
     }
     return NULL;
 }
diff --git a/libavcodec/version.h b/libavcodec/version.h
index da893da..b9752ce 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -28,8 +28,8 @@
 #include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR  58
-#define LIBAVCODEC_VERSION_MINOR  19
-#define LIBAVCODEC_VERSION_MICRO 102
+#define LIBAVCODEC_VERSION_MINOR  20
+#define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \
-- 
2.7.4



More information about the ffmpeg-devel mailing list