Plumb YUV444 logic into additional renderers

This commit is contained in:
Cameron Gutman 2024-07-25 06:36:40 -05:00
commit c707dab70a
7 changed files with 135 additions and 51 deletions

View file

@ -86,6 +86,10 @@ bool SdlRenderer::isPixelFormatSupported(int videoFormat, AVPixelFormat pixelFor
// SDL2 doesn't support 10-bit pixel formats
return false;
}
else if (videoFormat & VIDEO_FORMAT_MASK_YUV444) {
// SDL2 doesn't support YUV444 pixel formats
return false;
}
else {
// Remember to keep this in sync with SdlRenderer::renderFrame()!
switch (pixelFormat) {
@ -108,8 +112,8 @@ bool SdlRenderer::initialize(PDECODER_PARAMETERS params)
m_VideoFormat = params->videoFormat;
m_SwFrameMapper.setVideoFormat(m_VideoFormat);
if (params->videoFormat & VIDEO_FORMAT_MASK_10BIT) {
// SDL doesn't support rendering YUV 10-bit textures yet
if (params->videoFormat & (VIDEO_FORMAT_MASK_10BIT | VIDEO_FORMAT_MASK_YUV444)) {
// SDL doesn't support rendering YUV444 or 10-bit textures yet
return false;
}