Enable AV1 RFI on all decoders capable of HEVC RFI

This commit is contained in:
Cameron Gutman 2023-08-13 16:41:48 -05:00
parent 50255dd896
commit 1a2f1ed620
7 changed files with 15 additions and 6 deletions

View file

@ -59,7 +59,8 @@ bool CUDARenderer::isDirectRenderingSupported()
int CUDARenderer::getDecoderCapabilities()
{
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
}
CUDAGLInteropHelper::CUDAGLInteropHelper(AVHWDeviceContext* context)

View file

@ -1080,7 +1080,8 @@ int D3D11VARenderer::getRendererAttributes()
int D3D11VARenderer::getDecoderCapabilities()
{
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
}
bool D3D11VARenderer::needsTestFrame()

View file

@ -1037,7 +1037,8 @@ int DXVA2Renderer::getDecoderColorspace()
int DXVA2Renderer::getDecoderCapabilities()
{
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
}
void DXVA2Renderer::renderFrame(AVFrame *frame)

View file

@ -503,7 +503,8 @@ int VAAPIRenderer::getDecoderCapabilities()
int caps = 0;
if (!m_HasRfiLatencyBug) {
caps |= CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
caps |= CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
}
return caps;

View file

@ -439,7 +439,8 @@ int VDPAURenderer::getDecoderColorspace()
int VDPAURenderer::getDecoderCapabilities()
{
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
}
void VDPAURenderer::renderOverlay(VdpOutputSurface destination, Overlay::OverlayType type)

View file

@ -590,7 +590,8 @@ public:
int getDecoderCapabilities() override
{
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
}
int getRendererAttributes() override

View file

@ -115,6 +115,9 @@ int FFmpegVideoDecoder::getDecoderCapabilities()
// Enable HEVC RFI when using the FFmpeg software decoder
capabilities |= CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
// Enable AV1 RFI when using the libdav1d software decoder
capabilities |= CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
}
else if (m_HwDecodeCfg == nullptr) {
// We have a non-hwaccel hardware decoder. This will always