Rewrite FFmpeg decoder selection logic to dynamically discover compatible decoders

This avoids having to maintain a hardcoded list of all known H.264/HEVC/AV1 decoders
and ensures new/unknown decoders will just work automatically (assuming we have
a renderer that can process their output pixel format).
This commit is contained in:
Cameron Gutman
2023-07-15 15:12:58 -05:00
parent fc5e1ed5d8
commit cd4a6f3e17
2 changed files with 144 additions and 124 deletions
+3 -2
View File
@@ -40,8 +40,9 @@ private:
bool createFrontendRenderer(PDECODER_PARAMETERS params, bool useAlternateFrontend);
bool tryInitializeRendererForDecoderByName(const char* decoderName,
PDECODER_PARAMETERS params);
bool tryInitializeRendererForUnknownDecoder(const AVCodec* decoder,
PDECODER_PARAMETERS params,
bool tryHwAccel);
bool tryInitializeRenderer(const AVCodec* decoder,
PDECODER_PARAMETERS params,