[FFmpeg-devel] [PATCH 6/8] avutil/frame: add a side data prop to signal channel layout dependent types
James Almer
jamrial at gmail.com
Fri Jan 10 20:34:57 EET 2025
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavutil/frame.c | 4 ++--
libavutil/frame.h | 7 +++++++
2 files changed, 9 insertions(+), 2 deletions(-)
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 c757d998fc..1246570428 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),
};
/**
--
2.47.1
More information about the ffmpeg-devel
mailing list