diff options
author | James Almer <jamrial@gmail.com> | 2024-08-20 13:56:48 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2024-09-19 10:01:02 -0300 |
commit | ba0ef0860f0018c6e8fda7b378d69b011575fdaf (patch) | |
tree | 1d896bbdbad665cb6ca7a7c8a788948033966389 /libavformat/avformat.h | |
parent | 58963182294cfcb2c6a87a1b870b336a3ed55f36 (diff) | |
download | ffmpeg-ba0ef0860f0018c6e8fda7b378d69b011575fdaf.tar.gz |
avformat: add an LCEVC stream group
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/avformat.h')
-rw-r--r-- | libavformat/avformat.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 4a3fb00529..56c1c80289 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1084,11 +1084,37 @@ typedef struct AVStreamGroupTileGrid { int height; } AVStreamGroupTileGrid; +/** + * AVStreamGroupLCEVC is meant to define the relation between video streams + * and a data stream containing LCEVC enhancement layer NALUs. + * + * No more than one stream of @ref AVCodecParameters.codec_type "codec_type" + * AVMEDIA_TYPE_DATA shall be present, and it must be of + * @ref AVCodecParameters.codec_id "codec_id" AV_CODEC_ID_LCEVC. + */ +typedef struct AVStreamGroupLCEVC { + const AVClass *av_class; + + /** + * Index of the LCEVC data stream in AVStreamGroup. + */ + unsigned int lcevc_index; + /** + * Width of the final stream for presentation. + */ + int width; + /** + * Height of the final image for presentation. + */ + int height; +} AVStreamGroupLCEVC; + enum AVStreamGroupParamsType { AV_STREAM_GROUP_PARAMS_NONE, AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT, AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION, AV_STREAM_GROUP_PARAMS_TILE_GRID, + AV_STREAM_GROUP_PARAMS_LCEVC, }; struct AVIAMFAudioElement; @@ -1130,6 +1156,7 @@ typedef struct AVStreamGroup { struct AVIAMFAudioElement *iamf_audio_element; struct AVIAMFMixPresentation *iamf_mix_presentation; struct AVStreamGroupTileGrid *tile_grid; + struct AVStreamGroupLCEVC *lcevc; } params; /** |