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
ありがとうございました