
Intel MediaSDK
sandmangu
这个作者很懒,什么都没留下…
展开
-
Intel MediaSDK sample_decode 官方GPU解码流程学习 - DirectX11 D3D11和OpenCL共享资源
最近一直在研究GPU全栈处理的方法。比如OpenVINO做GPU推理的时候,如果按照传统的思路MediasSDK/FFMPEG GPU解码 - CPU读出D3D11 buffer里的解码数据再传给OpenCL GPU buffer - OpenVINO做GPU推理,效率会十分低下这种显存-内存-显存的拷贝方式势必会增加CPU的开销,而且也没必要,所以我一直在找一种方法能够把DirectX11的NV12数据直接在显存里共享给OpenCL框架访问方法。原创 2021-12-14 13:04:51 · 694 阅读 · 0 评论 -
FFMPEG下利用Intel VPP_QSV插件实现基于GPU的图像缩放和色彩空间转换 (二) - C++代码实现
前面一篇文章弄清楚了VPP_QSV插件的ffmpeg命令行命令,下面开始用C++代码实现VPP_QSV插件的C++代码实现。网上讨论FFMPEG滤镜编程的文章不算太多,大概是基于GPU硬件的滤镜太依赖硬件导致用的人不多,所以大多数是讨论基于软件滤镜插件的实现方法和过程。硬件滤镜的实现的方法基本类似,但是有2个地方是不一样的。硬件滤镜里分配frame buffer需要在显存里分配,所以涉及到怎么设置2个有关硬件上下文的结构体成员变量 hw_device_ctx和hw_frames_ctx。 初.原创 2021-01-06 17:37:08 · 591 阅读 · 0 评论 -
FFMPEG下利用Intel VPP_QSV插件实现基于GPU的图像缩放和色彩空间转换 (一) - 命令行模式
最近做图像预处理的工作有点多。这里记录一下最近做OpenVINO推理的端到端优化时对FFMPEG做图像预处理的一点心得。这几天碰到的问题是在准备给mobilenet-ssd神经网络推理前需要对视频文件做解码,然后缩放到需要的分辨率再转成RGB格式的数据,这样才能丢进网络里做推理。这个解码,缩放,色彩转换的流程通常是通过FFMPEG来实现的,通常的代码实现流程是先创建硬件设备,因为我是intel集成显卡,所以我指定了QSV来做解码的硬件加速器 ret = av_hwdevice_ctx_crea.原创 2020-12-17 15:03:08 · 1216 阅读 · 1 评论 -
用NV_DX_interop扩展让D3D和OpenGL共享资源
DirectX和OpenGL是不同的2个框架,相互之间数据不是互联互通的。如果双方需要做一些数据的交换,通常需要用CPU先把显存里的数据读到系统内存里,再把数据写到另一个框架的显存区域。但是实际上OpenGL有个扩展是可以实现这2个框架之间数据的共享的。在多媒体图像处理里有个小众功能,即在Windows上用Windows DXVA做基于显卡的硬件解码以后获得的存放YUV数据的D3D Surface/Texture,可以不通过CPU的拷贝,直接在GPU的显存里把数据共享给OpenGL, 再..原创 2020-07-27 15:39:45 · 840 阅读 · 2 评论