cuvid cudaErrorContextIsDestroyed HandlePictureDisplay

多个线程中创建 cuvid 解码器,为其主线程中创建的CUcontext ,结束时在主线程中释放后会导致其他线程中的cuvid解码过程出错,错误函数在HandlePictureDisplay 中的cudaGraphicsSubResourceGetMappedArray处,错误码为709 cudaErrorContextIsDestroyed 。这是偶尔出现的,原因不明。

解决办法,在子线程中为其创建CUcontext对象。并且在子线程中释放。

 

 吐槽下,cuvid(自己用cuvid sdk开发的)相对于D3d11va(ffmpeg中的D3d11va) 差很多,cuvid添加一个1920*1080 的decode显存就两百多M,2226*1252 达到400多M。关键解码时间效率还远比D3d11va 差(成倍的)。可能是自己代码问题,也没有拿ffmpeg中的cuvid来做对比。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值