James Almer: > On 7/23/2023 5:40 AM, Andreas Rheinhardt wrote: >> James Almer: >>> Signed-off-by: James Almer <jamr...@gmail.com> >>> --- >>> libavcodec/hevcdec.c | 12 +++++++++++- >>> 1 file changed, 11 insertions(+), 1 deletion(-) >>> >>> diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c >>> index fcf19b4eb6..0d659e4c55 100644 >>> --- a/libavcodec/hevcdec.c >>> +++ b/libavcodec/hevcdec.c >>> @@ -3403,8 +3403,12 @@ static int hevc_decode_frame(AVCodecContext >>> *avctx, AVFrame *rframe, >>> } >>> sd = av_packet_get_side_data(avpkt, AV_PKT_DATA_DOVI_CONF, >>> &sd_size); >>> - if (sd && sd_size > 0) >>> + if (sd && sd_size > 0) { >>> + av_log(avctx, AV_LOG_WARNING, >>> + "passing a DOVI configuration record through packet >>> side data is " >>> + "deprecated and will stop working soon. Use >>> AVCodecContext side data\n"); >> >> Doesn't this remove functionality that might be useful to some users >> (namely the functionality to send new DOVI metadata)? > > Is this a valid scenario? lavf only exports this side data during > read_header(). A change in DOVI profile would mean a brand new CVS, and > afaik we require a new decoder to be fired up for this. >
Since when do we require this? I always thought that both H.264 and HEVC decoders are supposed to allow new in-band extradata at any time. >> >>> ff_dovi_update_cfg(&s->dovi_ctx, >>> (AVDOVIDecoderConfigurationRecord *) sd); >>> + } >>> s->ref = NULL; >>> ret = decode_nal_units(s, avpkt->data, avpkt->size); >>> @@ -3707,12 +3711,18 @@ static av_cold int >>> hevc_decode_init(AVCodecContext *avctx) >>> atomic_init(&s->wpp_err, 0); >>> if (!avctx->internal->is_copy) { >>> + AVPacketSideData *sd; >>> + >>> if (avctx->extradata_size > 0 && avctx->extradata) { >>> ret = hevc_decode_extradata(s, avctx->extradata, >>> avctx->extradata_size, 1); >>> if (ret < 0) { >>> return ret; >>> } >>> } >>> + >>> + sd = av_packet_get_side_data_from_set(&avctx->side_data_set, >>> AV_PKT_DATA_DOVI_CONF); >>> + if (sd && sd->size > 0) >>> + ff_dovi_update_cfg(&s->dovi_ctx, >>> (AVDOVIDecoderConfigurationRecord *) sd->data); >>> } >>> return 0; >> _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".