diff --git a/src/detection/codec/codec_apple.c b/src/detection/codec/codec_apple.c index b202fad34..2cf2a48b2 100644 --- a/src/detection/codec/codec_apple.c +++ b/src/detection/codec/codec_apple.c @@ -65,16 +65,20 @@ static FFCodecType ffCodecDetectEncoders(void) { static FFCodecType ffCodecDetectDecoders() { FFCodecType types = FF_CODEC_TYPE_NONE; for (uint32_t i = 0; i < ARRAY_SIZE(FF_CODEC_CODECS); ++i) { - if (types & FF_CODEC_CODECS[i].type) { + auto codec = FF_CODEC_CODECS[i]; + if (types & codec.type) { continue; } - bool supported = VTIsHardwareDecodeSupported(FF_CODEC_CODECS[i].codec); + if (__builtin_available(macOS 11.0, *)) { + VTRegisterSupplementalVideoDecoderIfAvailable(codec.codec); + } + bool supported = VTIsHardwareDecodeSupported(codec.codec); if (!supported) { continue; } - types |= FF_CODEC_CODECS[i].type; + types |= codec.type; } return types;