aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-12-29 10:55:48 -0300
committerJames Almer <jamrial@gmail.com>2025-01-25 21:56:49 -0300
commitea3c3b42dff56ab45d6674cd3d64273dd62fab58 (patch)
tree21e3913e05ca8e0eb8690d2c06462cf67a4989d2
parent0bed1b89530042f0a835b8d1178aa52b40a751f6 (diff)
downloadffmpeg-ea3c3b42dff56ab45d6674cd3d64273dd62fab58.tar.gz
avutil/frame: add a side data prop to signal channel layout dependent types
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--doc/APIchanges3
-rw-r--r--libavutil/frame.c4
-rw-r--r--libavutil/frame.h7
-rw-r--r--libavutil/version.h2
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, \