ffmpeg - D3D11 损坏 : CopySubresourceRegion:Sixth parameter is corrupt or NULL?

标签 ffmpeg h.264 direct3d

通过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接口(interface)类型。您必须先将其从框架复制到纹理 2D 的实例中,然后才能使用它进行复制。
由于您开始使用的内存在 CPU 中,因此您需要创建一个 USAGE_STAGING纹理,Map ,复制数据,Unmap , 然后你可以 CopySubresourceRegion

关于ffmpeg - D3D11 损坏 : CopySubresourceRegion:Sixth parameter is corrupt or NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71851321/

相关文章:

如果使用 nu.pattern.OpenCV.loadShared() 加载 openCV,Java open CV 会卡在 VideoCapture 上以获取文件;

ffmpeg - 使用 FFMPEG 向质量合理的 GIF 添加水印

video - 来自 HDD 上(已记录的)原始 RTSP 流的 Demux H264

javascript - 将 mp3 片段从、到并应用淡入、淡出

FFMPEG:如何将 h264 流包装到 FLV 容器中?

video - 在H264中,field_pic_flag是什么意思,和编码间隔有关系吗?

directx - 常量缓冲区和只读结构化缓冲区有什么区别?

c++ - Kinect - 深度流 + 视频流到 DirectX11 纹理

c++ - 如何画出一定粗细的线条

ffmpeg - 使用 live555 和 FFmpeg 流式传输 H264