首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将nvEncode输入缓冲区复制到Direct3d11纹理?

如何将nvEncode输入缓冲区复制到Direct3d11纹理?
EN

Stack Overflow用户
提问于 2018-07-12 19:17:39
回答 0查看 166关注 0票数 1

我正在使用nvencode api进行视频编码。我的捕获卡使用直接dma传输(GpuDirect)将帧复制到预分配的输入缓冲区(NV_ENC_INPUT_PTR)。序列如下所示:

代码语言:javascript
复制
nvEncodeApi->nvEncLockInputBuffer(_encoder, &lockInputBufferParams); // lock input buffer
DmaCopy(lockInputBufferParams.bufferDataPtr); // initiate dma transfer
nvEncodeApi->nvEncUnlockInputBuffer(_encoder, lockInputBufferParams.inputBuffer);

然后我开始编码过程。

这工作得很好,但为了呈现捕获的帧,我需要将其复制到纹理中。

有没有一种方法可以在解锁后从NV_ENC_INPUT_PTR inputBuffer复制到Direct3d11纹理?

注意:我知道我可以使用Direct3D纹理作为nvencode的输入缓冲区,并使用映射/取消映射API。但是我的捕获卡似乎不能直接对映射纹理执行DMA传输。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51304267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档