0

DrectX11 の ID3D11VideoDecoder インターフェイス ( https://msdn.microsoft.com/en-us/library/windows/desktop/hh447766(v=vs.85).aspx ) を介して H264 ストリームをデコードできるアプリケーションを開発しています。 ID3D11VideoDevice::CreateVideoDecoderOutputView メソッドでスタックし、E_INVALIDARG を返すだけで失敗します。はい、何百万もの理由が考えられますが、例外的に一般的な理由はありますか? ID3D11VideoDecoder によるデコードを示す利用可能なサンプルはありますか (私は見つけていません)? 失敗する可能性が最も高いと思われるコードの部分は次のようになります。

// texture
D3D11_TEXTURE2D_DESC descT = { 0 };
descT.Width = 1024;
descT.Height = 768;
descT.MipLevels = 1;
descT.ArraySize =  1;
descT.Format = DXGI_FORMAT_NV12;
descT.SampleDesc.Count = 1;
descT.Usage = D3D11_USAGE_DEFAULT;
descT.BindFlags = D3D11_BIND_DECODER; 
ID3D11Texture2D *pTex = nullptr;
pDX11VideoDevice->CreateTexture2D(&desc, 0, &pTex);

// decoder
D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC desc;
desc.DecodeProfile = D3D11_DECODER_PROFILE_H264_VLD_NOFGT; // what is     interesting it fails whatever decoder I choose
desc.Texture2D.ArraySlice = 1;
desc.ViewDimension = D3D11_VDOV_DIMENSION_TEXTURE2D;

HRESULT hr = pDX11VideoDevice->CreateVideoDecoderOutputView(pTex, &desc, &pVideoDecoderOutputView); // and here the fail occurs

ありがとうございました

4

1 に答える 1

0

OK、問題を解決しました。あるはずです

desc.Texture2D.ArraySlice = 0; 

上記の投稿のスニペットで。まだ多くの仕事が待ち受けています

于 2015-05-08T10:56:24.450 に答える