后来看VLC里的全景显示初始化代码,它在用纹理创建ID3D11ShaderResourceView前,加了一个判断纹理是否具有D3D11_BIND_SHADER_RESOURCE属性的断言,查阅文档,确认ID3D11Texture2D纹理创建时需要指定D3D11_BIND_SHADER_RESOURCE属性,才能执行绑定到渲染管线上。 回头来看ffmpeg的硬解代码,在创建ID3D11Texture2D纹理的代码,确实...
后来看VLC里的全景显示初始化代码,它在用纹理创建ID3D11ShaderResourceView前,加了一个判断纹理是否具有D3D11_BIND_SHADER_RESOURCE属性的断言,查阅文档,确认ID3D11Texture2D纹理创建时需要指定D3D11_BIND_SHADER_RESOURCE属性,才能执行绑定到渲染管线上。 回头来看ffmpeg的硬解代码,在创建ID3D11Texture2D纹理的代码,确实...
通过控制变量,再次确认排除了渲染,解码流程存在泄漏的可能。 第二天,终于想起一个点,硬解采用了内存探测的方式打开输入流,会不会是探测这部分数据未释放导致泄漏? FFmpeg内存探测 内存探测部分代码 观察这段代码,明显有两处申请内存的地方。 我之前一直以为这里的空间通过 avformat_close_input(&m_pFmtCtx)这一行代码...
使用FFMPEG做d3d11va硬解,并实现360°全景视频播放器的开发过程 使⽤FFMPEG做d3d11va硬解,并实现360°全景视频播放器的开 发过程 代码太多,就不发上来了,就聊聊实现过程。重点讲趟雷过程,⽅便后来者避雷。原本⼲了4年多安防,跑了。新到⼀个公司做技术管理。公司有个360°全景的播放需求,因为VLC播放...
测试方法:mpv播放器修改hwdec=<api>,然后同一帧screenshot window。测试视频用了一个HEVC 10bit的电影和一个AVC 8bit动画 PS.在我这台设备五代酷睿i5 5200U,核显HD Graphics 5500上,dxva2可以参与部分HEVC硬解,从而实现4k HEVC的流畅播放,软解是做不到的;而d3d11va用HEVC解码播放几秒后会导致程序崩溃,只能在...
测试方法:mpv播放器修改hwdec=<api>,然后同一帧screenshot window。测试视频用了一个HEVC 10bit的电影和一个AVC 8bit动画 PS.在我这台设备五代酷睿i5 5200U,核显HD Graphics 5500上,dxva2可以参与部分HEVC硬解,从而实现4k HEVC的流畅播放,软解是做不到的;而d3d11va用HEVC解码播放几秒后会导致程序崩溃,只能在...