diff --git a/app/streaming/video/ffmpeg-renderers/d3d11va.cpp b/app/streaming/video/ffmpeg-renderers/d3d11va.cpp index 11b9120b..c1e3a827 100644 --- a/app/streaming/video/ffmpeg-renderers/d3d11va.cpp +++ b/app/streaming/video/ffmpeg-renderers/d3d11va.cpp @@ -458,8 +458,7 @@ bool D3D11VARenderer::initialize(PDECODER_PARAMETERS params) framesContext->width = FFALIGN(params->width, m_TextureAlignment); framesContext->height = FFALIGN(params->height, m_TextureAlignment); - // We can have up to 16 reference frames plus a working surface plus the maximum - // number of frames in our various pacing and rendering queues. + // We can have up to 16 reference frames plus a working surface framesContext->initial_pool_size = DECODER_BUFFER_POOL_SIZE; AVD3D11VAFramesContext* d3d11vaFramesContext = (AVD3D11VAFramesContext*)framesContext->hwctx; diff --git a/app/streaming/video/ffmpeg-renderers/d3d11va.h b/app/streaming/video/ffmpeg-renderers/d3d11va.h index 12bc9ca4..f489fa8c 100644 --- a/app/streaming/video/ffmpeg-renderers/d3d11va.h +++ b/app/streaming/video/ffmpeg-renderers/d3d11va.h @@ -60,7 +60,7 @@ private: ID3D11PixelShader* m_VideoBt2020LimPixelShader; ID3D11Buffer* m_VideoVertexBuffer; -#define DECODER_BUFFER_POOL_SIZE 32 +#define DECODER_BUFFER_POOL_SIZE 17 ID3D11ShaderResourceView* m_VideoTextureResourceViews[DECODER_BUFFER_POOL_SIZE][2]; SDL_SpinLock m_OverlayLock; diff --git a/app/streaming/video/ffmpeg-renderers/dxva2.h b/app/streaming/video/ffmpeg-renderers/dxva2.h index 588eba29..a2e23cb3 100644 --- a/app/streaming/video/ffmpeg-renderers/dxva2.h +++ b/app/streaming/video/ffmpeg-renderers/dxva2.h @@ -55,7 +55,7 @@ private: int m_DisplayHeight; struct dxva_context m_DXVAContext; - IDirect3DSurface9* m_DecSurfaces[32]; + IDirect3DSurface9* m_DecSurfaces[19]; DXVA2_ConfigPictureDecode m_Config; IDirectXVideoDecoderService* m_DecService; IDirectXVideoDecoder* m_Decoder;