[FFmpeg-cvslog] avutil/frame: add a side data prop to signal channel layout dependent types

James Almer git at videolan.org
Sun Jan 26 02:57:14 EET 2025


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sun Dec 29 10:55:48 2024 -0300| [ea3c3b42dff56ab45d6674cd3d64273dd62fab58] | committer: James Almer

avutil/frame: add a side data prop to signal channel layout dependent types

Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ea3c3b42dff56ab45d6674cd3d64273dd62fab58
---

 doc/APIchanges      | 3 +++
 libavutil/frame.c   | 4 ++--
 libavutil/frame.h   | 7 +++++++
 libavutil/version.h | 2 +-
 4 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index e0e1ff53ae..22a93db32f 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
 
 API changes, most recent first:
 
+2025-01-25 - xxxxxxxxxx - lavu 59.56.100 - frame.h
+  Add AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT.
+
 2025-01-25 - xxxxxxxxxx - lavfi 10.9.100 - buffersink.h
   Add av_buffersink_get_side_data().
 
diff --git a/libavutil/frame.c b/libavutil/frame.c
index 10b59545f0..00d0bab8b5 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -31,8 +31,8 @@
 static const AVSideDataDescriptor sd_props[] = {
     [AV_FRAME_DATA_PANSCAN]                     = { "AVPanScan",                                    AV_SIDE_DATA_PROP_SIZE_DEPENDENT },
     [AV_FRAME_DATA_A53_CC]                      = { "ATSC A53 Part 4 Closed Captions" },
-    [AV_FRAME_DATA_MATRIXENCODING]              = { "AVMatrixEncoding" },
-    [AV_FRAME_DATA_DOWNMIX_INFO]                = { "Metadata relevant to a downmix procedure" },
+    [AV_FRAME_DATA_MATRIXENCODING]              = { "AVMatrixEncoding",                             AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT },
+    [AV_FRAME_DATA_DOWNMIX_INFO]                = { "Metadata relevant to a downmix procedure",     AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT },
     [AV_FRAME_DATA_AFD]                         = { "Active format description" },
     [AV_FRAME_DATA_MOTION_VECTORS]              = { "Motion vectors",                               AV_SIDE_DATA_PROP_SIZE_DEPENDENT },
     [AV_FRAME_DATA_SKIP_SAMPLES]                = { "Skip samples" },
diff --git a/libavutil/frame.h b/libavutil/frame.h
index 628f2b5b3a..49260ae2dd 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -297,6 +297,13 @@ enum AVSideDataProps {
      * adapting to a different set of primaries or transfer characteristics.
      */
     AV_SIDE_DATA_PROP_COLOR_DEPENDENT = (1 << 3),
+
+    /**
+     * Side data depends on the channel layout. Side data with this property
+     * loses its meaning when downmixing or upmixing, unless either recomputed
+     * or adjusted to the new layout.
+     */
+    AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT = (1 << 4),
 };
 
 /**
diff --git a/libavutil/version.h b/libavutil/version.h
index a6f344a4c3..83b7822125 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  59
-#define LIBAVUTIL_VERSION_MINOR  55
+#define LIBAVUTIL_VERSION_MINOR  56
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \



More information about the ffmpeg-cvslog mailing list