mirror of
https://github.com/moonlight-stream/moonlight-qt
synced 2024-12-16 22:23:07 +00:00
Increase the number of decoder surfaces for DXVA2/D3D11VA
We forgot to take into account frames buffered within Moonlight itself
This commit is contained in:
parent
453fe6aea0
commit
02c781b8f4
3 changed files with 4 additions and 3 deletions
|
@ -458,7 +458,8 @@ 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
|
||||
// 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.
|
||||
framesContext->initial_pool_size = DECODER_BUFFER_POOL_SIZE;
|
||||
|
||||
AVD3D11VAFramesContext* d3d11vaFramesContext = (AVD3D11VAFramesContext*)framesContext->hwctx;
|
||||
|
|
|
@ -60,7 +60,7 @@ private:
|
|||
ID3D11PixelShader* m_VideoBt2020LimPixelShader;
|
||||
ID3D11Buffer* m_VideoVertexBuffer;
|
||||
|
||||
#define DECODER_BUFFER_POOL_SIZE 17
|
||||
#define DECODER_BUFFER_POOL_SIZE 32
|
||||
ID3D11ShaderResourceView* m_VideoTextureResourceViews[DECODER_BUFFER_POOL_SIZE][2];
|
||||
|
||||
SDL_SpinLock m_OverlayLock;
|
||||
|
|
|
@ -55,7 +55,7 @@ private:
|
|||
int m_DisplayHeight;
|
||||
|
||||
struct dxva_context m_DXVAContext;
|
||||
IDirect3DSurface9* m_DecSurfaces[19];
|
||||
IDirect3DSurface9* m_DecSurfaces[32];
|
||||
DXVA2_ConfigPictureDecode m_Config;
|
||||
IDirectXVideoDecoderService* m_DecService;
|
||||
IDirectXVideoDecoder* m_Decoder;
|
||||
|
|
Loading…
Reference in a new issue