mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-19 19:42:24 +02:00
command: add dolby-vision-profile and dolby-vision-level to track-list
This commit is contained in:
parent
c83c273400
commit
aa3cf6d57b
1
DOCS/interface-changes/dolby-vision-configuration.txt
Normal file
1
DOCS/interface-changes/dolby-vision-configuration.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
add `track-list/N/dolby-vision-profile` and `track-list/N/dolby-vision-level`
|
@ -3185,6 +3185,10 @@ Property list
|
|||||||
values currently. It's possible that future mpv versions will make
|
values currently. It's possible that future mpv versions will make
|
||||||
these properties unavailable instead in this case.
|
these properties unavailable instead in this case.
|
||||||
|
|
||||||
|
``track-list/N/dolby-vision-profile``, ``track-list/N/dolby-vision-level``
|
||||||
|
Dolby Vision profile and level. May not be available if the container
|
||||||
|
does not provide this information.
|
||||||
|
|
||||||
When querying the property with the client API using ``MPV_FORMAT_NODE``,
|
When querying the property with the client API using ``MPV_FORMAT_NODE``,
|
||||||
or with Lua ``mp.get_property_native``, this will return a mpv_node with
|
or with Lua ``mp.get_property_native``, this will return a mpv_node with
|
||||||
the following contents:
|
the following contents:
|
||||||
@ -3229,6 +3233,8 @@ Property list
|
|||||||
"replaygain-track-gain" MPV_FORMAT_DOUBLE
|
"replaygain-track-gain" MPV_FORMAT_DOUBLE
|
||||||
"replaygain-album-peak" MPV_FORMAT_DOUBLE
|
"replaygain-album-peak" MPV_FORMAT_DOUBLE
|
||||||
"replaygain-album-gain" MPV_FORMAT_DOUBLE
|
"replaygain-album-gain" MPV_FORMAT_DOUBLE
|
||||||
|
"dolby-vision-profile" MPV_FORMAT_INT64
|
||||||
|
"dolby-vision-level" MPV_FORMAT_INT64
|
||||||
|
|
||||||
``current-tracks/...``
|
``current-tracks/...``
|
||||||
This gives access to currently selected tracks. It redirects to the correct
|
This gives access to currently selected tracks. It redirects to the correct
|
||||||
|
@ -796,6 +796,9 @@ static void handle_new_stream(demuxer_t *demuxer, int i)
|
|||||||
MP_VERBOSE(demuxer, "Found Dolby Vision config record: profile "
|
MP_VERBOSE(demuxer, "Found Dolby Vision config record: profile "
|
||||||
"%d level %d\n", cfg->dv_profile, cfg->dv_level);
|
"%d level %d\n", cfg->dv_profile, cfg->dv_level);
|
||||||
av_format_inject_global_side_data(avfc);
|
av_format_inject_global_side_data(avfc);
|
||||||
|
sh->codec->dovi = true;
|
||||||
|
sh->codec->dv_profile = cfg->dv_profile;
|
||||||
|
sh->codec->dv_level = cfg->dv_level;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This also applies to vfw-muxed mkv, but we can't detect these easily.
|
// This also applies to vfw-muxed mkv, but we can't detect these easily.
|
||||||
|
@ -1687,6 +1687,12 @@ static int demux_mkv_open_video(demuxer_t *demuxer, mkv_track_t *track)
|
|||||||
sh_v->rotate = rotate;
|
sh_v->rotate = rotate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (track->dovi_config) {
|
||||||
|
sh_v->dovi = true;
|
||||||
|
sh_v->dv_level = track->dovi_config->dv_level;
|
||||||
|
sh_v->dv_profile = track->dovi_config->dv_profile;
|
||||||
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
demux_add_sh_stream(demuxer, sh);
|
demux_add_sh_stream(demuxer, sh);
|
||||||
|
|
||||||
|
@ -121,6 +121,10 @@ struct mp_codec_params {
|
|||||||
struct pl_color_repr repr; // color representaion info where available
|
struct pl_color_repr repr; // color representaion info where available
|
||||||
struct mp_rect crop; // crop to be applied
|
struct mp_rect crop; // crop to be applied
|
||||||
|
|
||||||
|
bool dovi;
|
||||||
|
uint8_t dv_profile;
|
||||||
|
uint8_t dv_level;
|
||||||
|
|
||||||
// STREAM_VIDEO + STREAM_AUDIO
|
// STREAM_VIDEO + STREAM_AUDIO
|
||||||
int bits_per_coded_sample;
|
int bits_per_coded_sample;
|
||||||
char *format_name; // pixel format (video) or sample format (audio)
|
char *format_name; // pixel format (video) or sample format (audio)
|
||||||
|
@ -2079,6 +2079,10 @@ static int get_track_entry(int item, int action, void *arg, void *ctx)
|
|||||||
.unavailable = !has_rg},
|
.unavailable = !has_rg},
|
||||||
{"replaygain-album-gain", SUB_PROP_FLOAT(rg.album_gain),
|
{"replaygain-album-gain", SUB_PROP_FLOAT(rg.album_gain),
|
||||||
.unavailable = !has_rg},
|
.unavailable = !has_rg},
|
||||||
|
{"dolby-vision-profile", SUB_PROP_INT(p.dv_profile),
|
||||||
|
.unavailable = !p.dovi},
|
||||||
|
{"dolby-vision-level", SUB_PROP_INT(p.dv_level),
|
||||||
|
.unavailable = !p.dovi},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user