打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Most Embedded GPUs Do NOT Support Hardware Video Decoding Acceleration. The VPU Does.
Tweet
Many people seem to get confused with the actual function of GPUs used in embedded (ARM / MIPS) SoC, and I can often read comments similar to “with lima drivers we should get video decoding in XBMc soon”,  and I’ve just received any email reading “My main task is to build a full hd media player based on ffmpeg with hardware decoding acceleration for linux. Is it possible with mali400mp4?”. So I’ve decoded to write a short post about it to make things a bit more clear. Contrary to GPUs in the PC world, embedded GPUs only take care of 3D, and sometimes 2D graphics, and leave video encoding and/or decoding to another block called Video Processing Unit (VPU). There’s at least one exception with Broadcom Videocore IV GPU as found in the processor used in the Raspberry Pi that apparently takes care of 2D & 3D graphics as well as hardware video decoding & encoding, but this is not the norm.
Let’s take an example with Freescale i.MX6 Quad SoC.
Freescale i.MX6 Quad Block Diagram
In the multimedia section in the middle of the block diagram above you’ll see hardware graphics accelerators, and video codecs:
3D via Vivante GC2000 GPU
2D via Vivante GC320 GPU
Vector Graphics (OpenVG 1.1) via Vivante GC355 GPU
1080p30 Enc/Dec via a Video Processing Unit (VPU)
Freescale SoC is using one GPU for 3D, two separate GPUs for 2D composition and vector graphics, and a VPU to handle video by hardware. That means Vivante GC2000 has nothing to do with video hardware decoding for example.
Let’s give another short example. AllWinner A20 features a Mali-400 (MP2) GPU with 3D graphics and OpenVG support, a separate 2D engine, and CedarX VPU for hardware video processing.  So please, don’t come to ask me if it is possible to use Mali-400 hardware video decoder in Linux.
Where it gets a little confusing, is that some of the GPU capabilities can be used to decode video codecs that are not supported by the Video Processing Unit. For example, the Raspberry Pi guys used some features of the VideoCore IV GPU, but not the hardware codecs, toimplemented VP6, VP8, MJPEG decoding in standard resolution. More recent GPUs comes with Renderscript and OpenCL support, which allows1080p HEVC (H.265) video decoding using the CPU and GPU. That’s called GPU compute, and although it works, it won’t be as power efficient as video hardware decoding in the VPU.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MPEG-4 AVC/H.264编码器大全
NVIDIA Gives Jetson AGX Xavier a Trim, Announces Nano
硬件加速器 or DSP,我们该选择哪一个?
Accelerating the Future with AI Solutions | AMD Partner Hub
全志H6,最强画质4K机顶盒解决方案
SIP2402V网络音频模块规格书
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服