mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2026-06-17 06:01:12 +00:00
Enable HEVC RFI for DXVA2 and D3D11VA
This commit is contained in:
@@ -1027,6 +1027,11 @@ int D3D11VARenderer::getRendererAttributes()
|
|||||||
return attributes;
|
return attributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int D3D11VARenderer::getDecoderCapabilities()
|
||||||
|
{
|
||||||
|
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
|
||||||
|
}
|
||||||
|
|
||||||
bool D3D11VARenderer::needsTestFrame()
|
bool D3D11VARenderer::needsTestFrame()
|
||||||
{
|
{
|
||||||
// We can usually determine when D3D11VA will work based on which decoder GUIDs are supported,
|
// We can usually determine when D3D11VA will work based on which decoder GUIDs are supported,
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ public:
|
|||||||
virtual void notifyOverlayUpdated(Overlay::OverlayType) override;
|
virtual void notifyOverlayUpdated(Overlay::OverlayType) override;
|
||||||
virtual void setHdrMode(bool enabled) override;
|
virtual void setHdrMode(bool enabled) override;
|
||||||
virtual int getRendererAttributes() override;
|
virtual int getRendererAttributes() override;
|
||||||
|
virtual int getDecoderCapabilities() override;
|
||||||
virtual bool needsTestFrame() override;
|
virtual bool needsTestFrame() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -1004,6 +1004,11 @@ int DXVA2Renderer::getDecoderColorspace()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int DXVA2Renderer::getDecoderCapabilities()
|
||||||
|
{
|
||||||
|
return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC;
|
||||||
|
}
|
||||||
|
|
||||||
void DXVA2Renderer::renderFrame(AVFrame *frame)
|
void DXVA2Renderer::renderFrame(AVFrame *frame)
|
||||||
{
|
{
|
||||||
IDirect3DSurface9* surface = reinterpret_cast<IDirect3DSurface9*>(frame->data[3]);
|
IDirect3DSurface9* surface = reinterpret_cast<IDirect3DSurface9*>(frame->data[3]);
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ public:
|
|||||||
virtual void renderFrame(AVFrame* frame) override;
|
virtual void renderFrame(AVFrame* frame) override;
|
||||||
virtual void notifyOverlayUpdated(Overlay::OverlayType type) override;
|
virtual void notifyOverlayUpdated(Overlay::OverlayType type) override;
|
||||||
virtual int getDecoderColorspace() override;
|
virtual int getDecoderColorspace() override;
|
||||||
|
virtual int getDecoderCapabilities() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool initializeDecoder();
|
bool initializeDecoder();
|
||||||
|
|||||||
Reference in New Issue
Block a user