This process has been deprecated since avformat 60.15.100 and since avcodec 60.30.101 AV_PKT_DATA_DOVI_CONF has been read from AVCodecContext's coded_side_data. Additionally, the HEVC decoder is the only one which currently reads this side data from packets, the native AV1 decoder as well as the libdav1d wrapper instead only support the newer propagation method via codec context's side data. How this currently is supposed to propagate is: * demux_lavf copies the codec parameters into sh_stream's lav_codecpar. * {ad,sd,vd}_lavc call mp_set_avctx_codec_headers that calls avcodec_parameters_to_context, which then sets global side data to the codec context. As this logic is already in place, so no additional changes are required for things to work and the deprecated function call can just be cleaned up.
Unified · Split
| @@ -767,7 +767,6 @@ static void handle_new_stream(demuxer_t *demuxer, int i) · 766 unmodified lines | ||
| 767 | 767 | const AVDOVIDecoderConfigurationRecord *cfg = (void *) sd; |
| 768 | 768 | MP_VERBOSE(demuxer, "Found Dolby Vision config record: profile " |
| 769 | 769 | "%d level %d\n", cfg->dv_profile, cfg->dv_level); |
| 770 | − av_format_inject_global_side_data(avfc); | |
| 771 | 770 | sh->codec->dovi = true; |
| 772 | 771 | sh->codec->dv_profile = cfg->dv_profile; |
| 773 | 772 | sh->codec->dv_level = cfg->dv_level; |