MCPcopy Create free account
hub / github.com/Aleksoid1978/VideoRenderer / InitInputTextures

Method InitInputTextures

Source/D3D11VP.cpp:412–436  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

410}
411
412HRESULT CD3D11VP::InitInputTextures(ID3D11Device* pDevice)
413{
414 UINT referenceFrames = 1 + m_RateConvCaps.PastFrames;
415 if (m_bUseFutureFrames) {
416 referenceFrames += m_RateConvCaps.FutureFrames;
417 }
418 m_VideoTextures.Resize(referenceFrames);
419 m_VideoInputData.Resize(referenceFrames);
420
421 HRESULT hr = E_NOT_VALID_STATE;
422
423 for (UINT i = 0; i < m_VideoTextures.Size(); i++) {
424 ID3D11Texture2D** ppTexture = m_VideoTextures.GetTexture(i);
425 D3D11_TEXTURE2D_DESC texdesc = CreateTex2DDesc(m_srcFormat, m_srcWidth, m_srcHeight, Tex2D_Default);
426
427 hr = pDevice->CreateTexture2D(&texdesc, nullptr, ppTexture);
428 if (S_OK == hr) {
429 D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC inputViewDesc = {};
430 inputViewDesc.ViewDimension = D3D11_VPIV_DIMENSION_TEXTURE2D;
431 hr = m_pVideoDevice->CreateVideoProcessorInputView(*ppTexture, m_pVideoProcessorEnum, &inputViewDesc, m_VideoTextures.GetInputView(i));
432 }
433 }
434
435 return hr;
436}
437
438ID3D11Texture2D* CD3D11VP::GetNextInputTexture(const D3D11_VIDEO_FRAME_FORMAT vframeFormat)
439{

Callers 1

InitializeD3D11VPMethod · 0.80

Calls 5

CreateTex2DDescFunction · 0.85
GetTextureMethod · 0.80
ResizeMethod · 0.45
SizeMethod · 0.45
GetInputViewMethod · 0.45

Tested by

no test coverage detected