| 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 |