D3D11 CORRUPTION:CopySubresourceRegion:第六个参数已损坏或为NULL



通过ffmpeg d3d11va解码h264,我成功地获得了一个帧,但当我复制资源时,我得到了这个错误。。

ret = avcodec_receive_frame(avctx, frame);//it's OK;  
dctx->CopySubresourceRegion(dst_resource, 0, 0, 0, 0, (ID3D11Texture2D*)frame->data[0], (int)frame->data[1],NULL); 

不能仅将数据强制转换为ID3D11Texture2D接口类型。必须先将其从帧复制到纹理2D的实例中,然后才能使用它进行复制。

由于您开始使用的内存在CPU中,您需要创建一个USAGE_STAGING纹理Map,复制数据Unmap,然后您就可以使用CopySubresourceRegion

相关内容

最新更新