diff --git a/app/streaming/video/ffmpeg-renderers/d3d11va.cpp b/app/streaming/video/ffmpeg-renderers/d3d11va.cpp index f1d90c32..c1e3a827 100644 --- a/app/streaming/video/ffmpeg-renderers/d3d11va.cpp +++ b/app/streaming/video/ffmpeg-renderers/d3d11va.cpp @@ -1027,6 +1027,11 @@ int D3D11VARenderer::getRendererAttributes() return attributes; } +int D3D11VARenderer::getDecoderCapabilities() +{ + return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC; +} + bool D3D11VARenderer::needsTestFrame() { // We can usually determine when D3D11VA will work based on which decoder GUIDs are supported, diff --git a/app/streaming/video/ffmpeg-renderers/d3d11va.h b/app/streaming/video/ffmpeg-renderers/d3d11va.h index af9480ef..f489fa8c 100644 --- a/app/streaming/video/ffmpeg-renderers/d3d11va.h +++ b/app/streaming/video/ffmpeg-renderers/d3d11va.h @@ -22,6 +22,7 @@ public: virtual void notifyOverlayUpdated(Overlay::OverlayType) override; virtual void setHdrMode(bool enabled) override; virtual int getRendererAttributes() override; + virtual int getDecoderCapabilities() override; virtual bool needsTestFrame() override; private: diff --git a/app/streaming/video/ffmpeg-renderers/dxva2.cpp b/app/streaming/video/ffmpeg-renderers/dxva2.cpp index 73256354..3025dddc 100644 --- a/app/streaming/video/ffmpeg-renderers/dxva2.cpp +++ b/app/streaming/video/ffmpeg-renderers/dxva2.cpp @@ -1004,6 +1004,11 @@ int DXVA2Renderer::getDecoderColorspace() } } +int DXVA2Renderer::getDecoderCapabilities() +{ + return CAPABILITY_REFERENCE_FRAME_INVALIDATION_HEVC; +} + void DXVA2Renderer::renderFrame(AVFrame *frame) { IDirect3DSurface9* surface = reinterpret_cast(frame->data[3]); diff --git a/app/streaming/video/ffmpeg-renderers/dxva2.h b/app/streaming/video/ffmpeg-renderers/dxva2.h index b6217b70..a2e23cb3 100644 --- a/app/streaming/video/ffmpeg-renderers/dxva2.h +++ b/app/streaming/video/ffmpeg-renderers/dxva2.h @@ -20,6 +20,7 @@ public: virtual void renderFrame(AVFrame* frame) override; virtual void notifyOverlayUpdated(Overlay::OverlayType type) override; virtual int getDecoderColorspace() override; + virtual int getDecoderCapabilities() override; private: bool initializeDecoder();