| | 1 | [[PageOutline]] |
| | 2 | |
| | 3 | [=#vpu] |
| | 4 | == VPU - Video Processing Unit (Codec Support) |
| | 5 | The Video Processing Unit in the IMX6 is a CODA960 licensed IP block provided by Chips&Media supporting the following codecs: |
| | 6 | |
| | 7 | Encode: |
| | 8 | * H.264 BP/CBP |
| | 9 | * H.263 V2 |
| | 10 | * MPEG-4 SP |
| | 11 | * MPEG-2 |
| | 12 | * MJPEG Baseline |
| | 13 | |
| | 14 | Decode: |
| | 15 | * MPEG-2 MP/HP |
| | 16 | * H.264 BP/MP/HP |
| | 17 | * H.264 MVC BP/MP/HP |
| | 18 | * VC1 SP/MP/AP |
| | 19 | * MPEG-4/Xvid SP/ASP |
| | 20 | * DivX v3/4/5/6 |
| | 21 | * H.263 V2 |
| | 22 | * MJPEG Baseline |
| | 23 | * VP6/VebM VP8 |
| | 24 | |
| | 25 | Performance: |
| | 26 | * IMX6SOLO/DUALLITE (IMX6SDL): |
| | 27 | * HD 1080p30Hz + D1 decode |
| | 28 | * HD 1080p30Hz or 2x 720p encode |
| | 29 | * IMX6DUAL/I.MX6QUAD (IMX6DQ) (2 IPU's): |
| | 30 | * HD 1080p60Hz + D1 or 2x 1080p30Hz Decode |
| | 31 | * HD 1080p30Hz or 2x 720p encode |
| | 32 | |
| | 33 | Software support: |
| | 34 | * Yocto BSP packages: |
| | 35 | * firmware-imx-vpu-imx6q - contains firmware (/lib/firmware/vpu/vpu_fw_imx6q.bin) for IMX6DUAL/IMX6QUAD |
| | 36 | * firmware-imx-vpu-imx6d - contains firmware (/lib/firmware/vpu/vpu_fw_imx6d.bin) for IMX6DUALLITE/IMX6SOLO |
| | 37 | * libfslvpuwrap3 / libvpu4 - libraries |
| | 38 | * gst-fsl-plugin - gstreamer plugin support for IMX6 VPU |
| | 39 | * libfslcodec-* - various gstreamer libraries |
| | 40 | |
| | 41 | Documentation: |
| | 42 | * Yocto BSP's - i.MX_6_VPU_Application_Programming_Interface_Linux_Reference_Manual.pdf (from the Freescale i.MX6 Yocto BSP releases which you must download from Freescale) |
| | 43 | |
| | 44 | References: |
| | 45 | * [https://community.freescale.com/servlet/JiveServlet/download/317735-256858/VPU_API_RM_L3.0.35_1.1.0.pdf Freescale IMX6VPUAPI] documents the VPU API - This is from the LINUXDOCS_BUNDLE downloadable from Freescale's IMX6 site - check there for the most recent version |