[FFmpeg-devel] [PATCH 3/7] avutil/frame: add a param change side data type
James Almer
jamrial at gmail.com
Wed Jan 22 04:53:59 EET 2025
Equivalent to the one from packet side data using AVSideDataParamChangeFlags,
and will be used for the same purpose with encoders.
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavutil/frame.c | 1 +
libavutil/frame.h | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/libavutil/frame.c b/libavutil/frame.c
index 10b59545f0..f3575afc31 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -48,6 +48,7 @@ static const AVSideDataDescriptor sd_props[] = {
[AV_FRAME_DATA_DOVI_METADATA] = { "Dolby Vision Metadata", AV_SIDE_DATA_PROP_COLOR_DEPENDENT },
[AV_FRAME_DATA_LCEVC] = { "LCEVC NAL data", AV_SIDE_DATA_PROP_SIZE_DEPENDENT },
[AV_FRAME_DATA_VIEW_ID] = { "View ID" },
+ [AV_FRAME_DATA_PARAM_CHANGE] = { "Param Change" },
[AV_FRAME_DATA_STEREO3D] = { "Stereo 3D", AV_SIDE_DATA_PROP_GLOBAL },
[AV_FRAME_DATA_REPLAYGAIN] = { "AVReplayGain", AV_SIDE_DATA_PROP_GLOBAL },
[AV_FRAME_DATA_DISPLAYMATRIX] = { "3x3 displaymatrix", AV_SIDE_DATA_PROP_GLOBAL },
diff --git a/libavutil/frame.h b/libavutil/frame.h
index 628f2b5b3a..de7a8e9eab 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -243,6 +243,19 @@ enum AVFrameSideDataType {
* The data is an int storing the view ID.
*/
AV_FRAME_DATA_VIEW_ID,
+
+ /**
+ * An AV_FRAME_DATA_PARAM_CHANGE side data packet is laid out as follows:
+ * @code
+ * u32le param_flags
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE)
+ * s32le sample_rate
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS)
+ * s32le width
+ * s32le height
+ * @endcode
+ */
+ AV_FRAME_DATA_PARAM_CHANGE,
};
enum AVActiveFormatDescription {
--
2.48.1
More information about the ffmpeg-devel
mailing list