mirror of
https://github.com/moonlight-stream/moonlight-qt
synced 2025-01-24 08:35:01 +00:00
Enable AV1 RFI on all decoders capable of HEVC RFI
This commit is contained in:
parent
50255dd896
commit
1a2f1ed620
7 changed files with 15 additions and 6 deletions
|
@ -59,7 +59,8 @@ bool CUDARenderer::isDirectRenderingSupported()
|
||||||
|
|
||||||
int CUDARenderer::getDecoderCapabilities()
|
int CUDARenderer::getDecoderCapabilities()
|
||||||
{
|
{
|
||||||
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
|
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
|
||||||
|
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
|
||||||
}
|
}
|
||||||
|
|
||||||
CUDAGLInteropHelper::CUDAGLInteropHelper(AVHWDeviceContext* context)
|
CUDAGLInteropHelper::CUDAGLInteropHelper(AVHWDeviceContext* context)
|
||||||
|
|
|
@ -1080,7 +1080,8 @@ int D3D11VARenderer::getRendererAttributes()
|
||||||
|
|
||||||
int D3D11VARenderer::getDecoderCapabilities()
|
int D3D11VARenderer::getDecoderCapabilities()
|
||||||
{
|
{
|
||||||
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
|
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
|
||||||
|
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool D3D11VARenderer::needsTestFrame()
|
bool D3D11VARenderer::needsTestFrame()
|
||||||
|
|
|
@ -1037,7 +1037,8 @@ int DXVA2Renderer::getDecoderColorspace()
|
||||||
|
|
||||||
int DXVA2Renderer::getDecoderCapabilities()
|
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)
|
void DXVA2Renderer::renderFrame(AVFrame *frame)
|
||||||
|
|
|
@ -503,7 +503,8 @@ int VAAPIRenderer::getDecoderCapabilities()
|
||||||
int caps = 0;
|
int caps = 0;
|
||||||
|
|
||||||
if (!m_HasRfiLatencyBug) {
|
if (!m_HasRfiLatencyBug) {
|
||||||
caps |= CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
|
caps |= CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
|
||||||
|
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return caps;
|
return caps;
|
||||||
|
|
|
@ -439,7 +439,8 @@ int VDPAURenderer::getDecoderColorspace()
|
||||||
|
|
||||||
int VDPAURenderer::getDecoderCapabilities()
|
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)
|
void VDPAURenderer::renderOverlay(VdpOutputSurface destination, Overlay::OverlayType type)
|
||||||
|
|
|
@ -590,7 +590,8 @@ public:
|
||||||
|
|
||||||
int getDecoderCapabilities() override
|
int getDecoderCapabilities() override
|
||||||
{
|
{
|
||||||
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
|
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC |
|
||||||
|
CAPABILITY_REFERENCE_FRAME_INVALIDATION_AV1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int getRendererAttributes() override
|
int getRendererAttributes() override
|
||||||
|
|
|
@ -115,6 +115,9 @@ int FFmpegVideoDecoder::getDecoderCapabilities()
|
||||||
|
|
||||||
// Enable HEVC RFI when using the FFmpeg software decoder
|
// Enable HEVC RFI when using the FFmpeg software decoder
|
||||||
capabilities |= CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
|
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) {
|
else if (m_HwDecodeCfg == nullptr) {
|
||||||
// We have a non-hwaccel hardware decoder. This will always
|
// We have a non-hwaccel hardware decoder. This will always
|
||||||
|
|
Loading…
Reference in a new issue