History

demux_lavf: stop global stream side data injection to AVPacket

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.

Jan Ekström committed 1 year ago

Commit ba371421 parent 063410f1 file · +0 −1Browse files

Unified · Split

demux/demux_lavf.c+0−1
@@ -767,7 +767,6 @@ static void handle_new_stream(demuxer_t *demuxer, int i) · 766 unmodified lines
767 const AVDOVIDecoderConfigurationRecord *cfg = (void *) sd;767 const AVDOVIDecoderConfigurationRecord *cfg = (void *) sd;
768 MP_VERBOSE(demuxer, "Found Dolby Vision config record: profile "768 MP_VERBOSE(demuxer, "Found Dolby Vision config record: profile "
769 "%d level %d\n", cfg->dv_profile, cfg->dv_level);769 "%d level %d\n", cfg->dv_profile, cfg->dv_level);
770 av_format_inject_global_side_data(avfc);
771 sh->codec->dovi = true;770 sh->codec->dovi = true;
772 sh->codec->dv_profile = cfg->dv_profile;771 sh->codec->dv_profile = cfg->dv_profile;
773 sh->codec->dv_level = cfg->dv_level;772 sh->codec->dv_level = cfg->dv_level;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t