This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 94c491287cf9fb93e3cf136efc59e20a121d3bdc Author: James Almer <[email protected]> AuthorDate: Mon Dec 8 22:36:18 2025 -0300 Commit: James Almer <[email protected]> CommitDate: Fri Dec 12 15:21:48 2025 -0300 avcodec/vvc/sei: parse Registered and Unregistered SEI messages Signed-off-by: James Almer <[email protected]> --- libavcodec/vvc/sei.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/libavcodec/vvc/sei.c b/libavcodec/vvc/sei.c index cd202edb2a..241943f3c1 100644 --- a/libavcodec/vvc/sei.c +++ b/libavcodec/vvc/sei.c @@ -22,6 +22,7 @@ #include "sei.h" #include "dec.h" +#include "libavcodec/bytestream.h" #include "libavutil/refstruct.h" static int decode_film_grain_characteristics(H2645SEIFilmGrainCharacteristics *h, const SEIRawFilmGrainCharacteristics *s, const VVCFrameContext *fc) @@ -176,6 +177,27 @@ static int decode_mastering_display_colour_volume(H2645SEIMasteringDisplay *h, c return 0; } +static int decode_user_data_registered_itu_t_t35(H2645SEI *sei, const SEIRawUserDataRegistered *s, + const VVCFrameContext *fc) +{ + GetByteContext gbc; + int offset = (s->itu_t_t35_country_code == 0xff) + 1; + + bytestream2_init(&gbc, s->data_ref, s->data_length + offset); + return ff_h2645_sei_message_decode(sei, SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35, + AV_CODEC_ID_VVC, NULL, &gbc, fc->log_ctx); +} + +static int decode_user_data_uregistered(H2645SEI *sei, const SEIRawUserDataUnregistered *s, + const VVCFrameContext *fc) +{ + GetByteContext gbc; + + bytestream2_init(&gbc, s->data_ref, s->data_length + 16); + return ff_h2645_sei_message_decode(sei, SEI_TYPE_USER_DATA_UNREGISTERED, + AV_CODEC_ID_VVC, NULL, &gbc, fc->log_ctx); +} + int ff_vvc_sei_decode(VVCSEI *s, const H266RawSEI *sei, const struct VVCFrameContext *fc) { H2645SEI *c = &s->common; @@ -221,6 +243,14 @@ int ff_vvc_sei_decode(VVCSEI *s, const H266RawSEI *sei, const struct VVCFrameCon ret = decode_mastering_display_colour_volume(&s->common.mastering_display, payload); break; + case SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35: + ret = decode_user_data_registered_itu_t_t35(&s->common, payload, fc); + break; + + case SEI_TYPE_USER_DATA_UNREGISTERED: + ret = decode_user_data_uregistered(&s->common, payload, fc); + break; + default: av_log(fc->log_ctx, AV_LOG_DEBUG, "Skipped %s SEI %d\n", sei->nal_unit_header.nal_unit_type == VVC_PREFIX_SEI_NUT ? _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
