mirror of
https://github.com/mpv-player/mpv
synced 2025-02-21 15:27:00 +00:00
csputils: add AVCOL_TRC_SMPTEST2084 support
This now lets us auto-detect appropriately tagged HDR content using FFmpeg's new TRC entries (when available). Hidden behind an #if because Libav stable doesn't have it yet.
This commit is contained in:
parent
887b2cc30f
commit
b6c40953cb
@ -171,6 +171,9 @@ enum mp_csp_trc avcol_trc_to_mp_csp_trc(int avtrc)
|
||||
case AVCOL_TRC_LINEAR: return MP_CSP_TRC_LINEAR;
|
||||
case AVCOL_TRC_GAMMA22: return MP_CSP_TRC_GAMMA22;
|
||||
case AVCOL_TRC_GAMMA28: return MP_CSP_TRC_GAMMA28;
|
||||
#if HAVE_AVUTIL_ST2084
|
||||
case AVCOL_TRC_SMPTEST2084: return MP_CSP_TRC_SMPTE_ST2084;
|
||||
#endif
|
||||
default: return MP_CSP_TRC_AUTO;
|
||||
}
|
||||
}
|
||||
@ -214,12 +217,15 @@ int mp_csp_trc_to_avcol_trc(enum mp_csp_trc trc)
|
||||
{
|
||||
switch (trc) {
|
||||
// We just call it BT.1886 since we're decoding, but it's still BT.709
|
||||
case MP_CSP_TRC_BT_1886: return AVCOL_TRC_BT709;
|
||||
case MP_CSP_TRC_SRGB: return AVCOL_TRC_IEC61966_2_1;
|
||||
case MP_CSP_TRC_LINEAR: return AVCOL_TRC_LINEAR;
|
||||
case MP_CSP_TRC_GAMMA22: return AVCOL_TRC_GAMMA22;
|
||||
case MP_CSP_TRC_GAMMA28: return AVCOL_TRC_GAMMA28;
|
||||
default: return AVCOL_TRC_UNSPECIFIED;
|
||||
case MP_CSP_TRC_BT_1886: return AVCOL_TRC_BT709;
|
||||
case MP_CSP_TRC_SRGB: return AVCOL_TRC_IEC61966_2_1;
|
||||
case MP_CSP_TRC_LINEAR: return AVCOL_TRC_LINEAR;
|
||||
case MP_CSP_TRC_GAMMA22: return AVCOL_TRC_GAMMA22;
|
||||
case MP_CSP_TRC_GAMMA28: return AVCOL_TRC_GAMMA28;
|
||||
#if HAVE_AVUTIL_ST2084
|
||||
case MP_CSP_TRC_SMPTE_ST2084: return AVCOL_TRC_SMPTEST2084;
|
||||
#endif
|
||||
default: return AVCOL_TRC_UNSPECIFIED;
|
||||
}
|
||||
}
|
||||
|
||||
|
8
wscript
8
wscript
@ -502,7 +502,13 @@ FFmpeg/Libav libraries. You need at least {0}. Aborting.".format(libav_versions_
|
||||
'func': check_statement('libavutil/frame.h',
|
||||
'(void)offsetof(AVFrame, hw_frames_ctx)',
|
||||
use='libav'),
|
||||
},
|
||||
}, {
|
||||
'name': 'avutil-st2084',
|
||||
'desc': 'libavutil AVCOL_TRC_SMPTEST2084',
|
||||
'func': check_statement('libavutil/pixfmt.h',
|
||||
'AVCOL_TRC_SMPTEST2084',
|
||||
use='libav'),
|
||||
}
|
||||
]
|
||||
|
||||
audio_output_features = [
|
||||
|
Loading…
Reference in New Issue
Block a user