1 | | {{{#!html |
2 | | <div id="wikipage" class="trac-content"><p> |
3 | | </p><div class="wiki-toc"> |
4 | | <ol> |
5 | | <li> |
6 | | <a href="#VentanaGraphicsCapabilities">Ventana Graphics Capabilities</a> |
7 | | <ol> |
8 | | <li> |
9 | | <a href="#IPU-ImageProcessingUnit">IPU - Image Processing Unit</a> |
10 | | </li> |
11 | | <li> |
12 | | <a href="#VPU-VideoProcessingUnitCodecSupport">VPU - Video Processing Unit (Codec Support)</a> |
13 | | </li> |
14 | | <li> |
15 | | <a href="#GPU-GraphicsProcessingUnit">GPU - Graphics Processing Unit</a> |
16 | | </li> |
17 | | </ol> |
18 | | </li> |
19 | | </ol> |
20 | | </div><p> |
21 | | </p> |
22 | | <h1 id="VentanaGraphicsCapabilities">Ventana Graphics Capabilities</h1> |
23 | | <p> |
| 1 | [[PageOutline]] |
| 2 | |
| 3 | = Ventana Graphics Capabilities |
25 | | </p> |
26 | | <ul><li><a class="wiki" href="/wiki/ventana/graphics#IPU-ImageProcessingUnit">IPU</a> - Image Processing Unit |
27 | | </li><li><a class="wiki" href="/wiki/ventana/graphics#VPU-VideoProcessingUnitCodecSupport">VPU</a> - Video Processing Unit |
28 | | </li><li><a class="wiki" href="/wiki/ventana/graphics#GPU-GraphicsProcessingUnit">GPU</a> - Graphics Processing Unit |
29 | | </li></ul><h2 id="IPU-ImageProcessingUnit">IPU - Image Processing Unit</h2> |
30 | | <p> |
| 5 | * IPU - Image Processing Unit |
| 6 | * VPU - Video Processing Unit |
| 7 | * GPU - Graphics Processing Unit |
| 8 | |
| 9 | |
| 10 | [=#ipu] |
| 11 | == IPU - Image Processing Unit |
38 | | </p> |
39 | | <ul><li>The Gateworks Yocto BSP contains an IPU driver with an <a class="ext-link" href="https://github.com/Gateworks/linux-imx6/blob/gateworks_3.10.53_1.1.0_ga/include/uapi/linux/ipu.h"><span class="icon"></span>userspace ioctl API</a> |
40 | | </li><li>The IPU driver API is used by the gst-fsl-plugins and gstreamer-imx Gstreamer plugins |
41 | | </li><li>Other examples can be found here: |
42 | | <ul><li><a class="ext-link" href="https://community.freescale.com/docs/DOC-94961"><span class="icon"></span>https://community.freescale.com/docs/DOC-94961</a> |
43 | | </li><li><a class="ext-link" href="https://github.com/rogeriorps/ipu-examples"><span class="icon"></span>https://github.com/rogeriorps/ipu-examples</a> |
44 | | </li><li>imx-test package <a class="ext-link" href="http://downloads.yoctoproject.org/mirror/sources/imx-test-5.2.tar.gz"><span class="icon"></span>http://downloads.yoctoproject.org/mirror/sources/imx-test-5.2.tar.gz</a> |
45 | | </li></ul></li></ul><h2 id="VPU-VideoProcessingUnitCodecSupport">VPU - Video Processing Unit (Codec Support)</h2> |
46 | | <p> |
47 | | The Video Processing Unit in the IMX6 is a CODA960 licensed IP block provided by Chips&Media supporting the following codecs: |
48 | | </p> |
49 | | <ul><li>Encode: |
50 | | <ul><li>H.264 BP/CBP |
51 | | </li><li>H.263 V2 |
52 | | </li><li>MPEG-4 SP |
53 | | </li><li>MPEG-2 |
54 | | </li><li>MJPEG Baseline |
55 | | </li></ul></li><li>Decode: |
56 | | <ul><li>MPEG-2 MP/HP |
57 | | </li><li>H.264 BP/MP/HP |
58 | | </li><li>H.264 MVC BP/MP/HP |
59 | | </li><li>VC1 SP/MP/AP |
60 | | </li><li>MPEG-4/Xvid SP/ASP |
61 | | </li><li>DivX v3/4/5/6 |
62 | | </li><li>H.263 V2 |
63 | | </li><li>MJPEG Baseline |
64 | | </li><li>VP6/VebM VP8 |
65 | | </li></ul></li></ul><p> |
| 18 | * The Gateworks Yocto BSP contains an IPU driver with a [https://github.com/Gateworks/linux-imx6/blob/gateworks_3.10.53_1.1.0_ga/include/uapi/linux/ipu.h userspace ioctl API] |
| 19 | * The IPU driver API is used by the gst-fsl-plugins and gstreamer-imx Gstreamer plugins |
| 20 | * Other examples can be found here: |
| 21 | * https://community.freescale.com/docs/DOC-94961 |
| 22 | * https://github.com/rogeriorps/ipu-examples |
| 23 | * imx-test package http://downloads.yoctoproject.org/mirror/sources/imx-test-5.2.tar.gz |
| 24 | |
| 25 | |
| 26 | [=#vpu] |
| 27 | == VPU - Video Processing Unit (Codec Support) |
| 28 | The Video Processing Unit in the IMX6 is a CODA960 licensed IP block provided by Chips&Media supporting the following codecs: |
| 29 | |
| 30 | Encode: |
| 31 | * H.264 BP/CBP |
| 32 | * H.263 V2 |
| 33 | * MPEG-4 SP |
| 34 | * MPEG-2 |
| 35 | * MJPEG Baseline |
| 36 | |
| 37 | Decode: |
| 38 | * MPEG-2 MP/HP |
| 39 | * H.264 BP/MP/HP |
| 40 | * H.264 MVC BP/MP/HP |
| 41 | * VC1 SP/MP/AP |
| 42 | * MPEG-4/Xvid SP/ASP |
| 43 | * DivX v3/4/5/6 |
| 44 | * H.263 V2 |
| 45 | * MJPEG Baseline |
| 46 | * VP6/VebM VP8 |
| 47 | |
67 | | </p> |
68 | | <ul><li>IMX6SOLO/DUALLITE (IMX6SDL): |
69 | | <ul><li>HD 1080p30Hz + D1 decode |
70 | | </li><li>HD 1080p30Hz or 2x 720p encode |
71 | | </li></ul></li><li>IMX6DUAL/I.MX6QUAD (IMX6DQ) (2 IPU's): |
72 | | <ul><li>HD 1080p60Hz + D1 or 2x 1080p30Hz Decode |
73 | | </li><li>HD 1080p30Hz or 2x 720p encode |
74 | | </li></ul></li></ul><p> |
| 49 | * IMX6SOLO/DUALLITE (IMX6SDL): |
| 50 | * HD 1080p30Hz + D1 decode |
| 51 | * HD 1080p30Hz or 2x 720p encode |
| 52 | * IMX6DUAL/I.MX6QUAD (IMX6DQ) (2 IPU's): |
| 53 | * HD 1080p60Hz + D1 or 2x 1080p30Hz Decode |
| 54 | * HD 1080p30Hz or 2x 720p encode |
| 55 | |
76 | | </p> |
77 | | <ul><li>Yocto BSP packages: |
78 | | <ul><li>firmware-imx-vpu-imx6q - contains firmware (/lib/firmware/vpu/vpu_fw_imx6q.bin) for IMX6DUAL/IMX6QUAD |
79 | | </li><li>firmware-imx-vpu-imx6d - contains firmware (/lib/firmware/vpu/vpu_fw_imx6d.bin) for IMX6DUALLITE/IMX6SOLO |
80 | | </li><li>libfslvpuwrap3 / libvpu4 - libraries |
81 | | </li><li>gst-fsl-plugin - gstreamer plugin support for IMX6 VPU |
82 | | </li><li>libfslcodec-* - various gstreamer libraries |
83 | | </li></ul></li><li>Documentation: |
84 | | <ul><li>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) |
85 | | </li></ul></li></ul><p> |
| 57 | * Yocto BSP packages: |
| 58 | * firmware-imx-vpu-imx6q - contains firmware (/lib/firmware/vpu/vpu_fw_imx6q.bin) for IMX6DUAL/IMX6QUAD |
| 59 | * firmware-imx-vpu-imx6d - contains firmware (/lib/firmware/vpu/vpu_fw_imx6d.bin) for IMX6DUALLITE/IMX6SOLO |
| 60 | * libfslvpuwrap3 / libvpu4 - libraries |
| 61 | * gst-fsl-plugin - gstreamer plugin support for IMX6 VPU |
| 62 | * libfslcodec-* - various gstreamer libraries |
| 63 | |
| 64 | Documentation: |
| 65 | * 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) |
| 66 | |
93 | | </p> |
94 | | <ul><li>IMX6DUAL/QUAD: |
95 | | <ul><li>Vivante GC2000 (3D GPU) |
96 | | <ul><li>Clock: 600-800MHz (the IMX6 clocks this at 533MHz) |
97 | | </li><li>176Mtri/s |
98 | | </li><li>1000Mpxl/s |
99 | | </li><li>OpenGL ES 1.1/2.0/3.0 |
100 | | </li><li>OpenCL 1.1 EP |
101 | | </li><li>Cores: 1 |
102 | | </li><li>Shaders: 4 (Vec-4) and 16 (Vec-1) |
103 | | </li></ul></li><li>Vivante GC355 (2D GPU - vector graphics) |
104 | | <ul><li>300Mpxl/s |
105 | | </li><li>OpenVG 1.1 |
106 | | </li></ul></li><li>Vivante GC320 (2D GPU - blit) |
107 | | <ul><li>600Mpxl/s |
108 | | </li></ul></li></ul></li><li>IMX6DUALLITE/SOLO: |
109 | | <ul><li>Vivante GC880 GPU |
110 | | <ul><li>Clock: 600-800MHz (the IMX6 clocks this at 400MHz) |
111 | | </li><li>53Mtri/s |
112 | | </li><li>266Mpxl/s |
113 | | </li><li>OpenGL ES 1.1/2.0/3.0 |
114 | | </li><li>Cores: 1 |
115 | | </li><li>Shaders: 1 (Vec-4) and 4 (Vec-1) |
116 | | </li><li>OpenVG 1.1 (no GC320 on this SoC, so 2D vector graphics is through the GC880) |
117 | | </li></ul></li><li>Vivante GC320 (2D GPU - blit) |
118 | | <ul><li>600Mpxl/s |
119 | | </li></ul></li></ul></li></ul><p> |
| 74 | * IMX6DUAL/QUAD: |
| 75 | - Vivante GC2000 (3D GPU) |
| 76 | * Clock: 600-800MHz (the IMX6 clocks this at 533MHz) |
| 77 | * 176Mtri/s |
| 78 | * 1000Mpxl/s |
| 79 | * OpenGL ES 1.1/2.0/3.0 |
| 80 | * OpenCL 1.1 EP |
| 81 | * Cores: 1 |
| 82 | * Shaders: 4 (Vec-4) and 16 (Vec-1) |
| 83 | - Vivante GC355 (2D GPU - vector graphics) |
| 84 | * 300Mpxl/s |
| 85 | * OpenVG 1.1 |
| 86 | - Vivante GC320 (2D GPU - blit) |
| 87 | * 600Mpxl/s |
| 88 | * IMX6DUALLITE/SOLO: |
| 89 | - Vivante GC880 GPU |
| 90 | * Clock: 600-800MHz (the IMX6 clocks this at 400MHz) |
| 91 | * 53Mtri/s |
| 92 | * 266Mpxl/s |
| 93 | * OpenGL ES 1.1/2.0/3.0 |
| 94 | * Cores: 1 |
| 95 | * Shaders: 1 (Vec-4) and 4 (Vec-1) |
| 96 | * OpenVG 1.1 (no GC320 on this SoC, so 2D vector graphics is through the GC880) |
| 97 | - Vivante GC320 (2D GPU - blit) |
| 98 | * 600Mpxl/s |
| 99 | |
121 | | </p> |
122 | | <ul><li>OpenCL 1.1 Embedded Profile (EP) (Open Computing Language - framework for writing programs that execute across a heterogeneous platform consisting of CPUs, GPUs, DSPs, etc) |
123 | | </li><li>OpenGL ES 1.1/2.0 (Open Graphics Library - for 2D and 3D vector graphics) |
124 | | </li><li>OpenVG 1.1 (Vector Graphics Acceleration) |
125 | | </li></ul><p> |
| 101 | * OpenCL 1.1 Embedded Profile (EP) (Open Computing Language - framework for writing programs that execute across a heterogeneous platform consisting of CPUs, GPUs, DSPs, etc) |
| 102 | * OpenGL ES 1.1/2.0 (Open Graphics Library - for 2D and 3D vector graphics) |
| 103 | * OpenVG 1.1 (Vector Graphics Acceleration) |
| 104 | |
127 | | </p> |
128 | | <ul><li>Yocto BSP packages: |
129 | | <ul><li>gpu-viv-bin-mx6q |
130 | | </li><li>xf86-video-imxfb-vivante - accelerated X11 server using the GPU |
131 | | </li></ul></li><li>Documentation: |
132 | | <ul><li>Yocto v1.3 - i.MX_6_G2D API.pdf (from the Freescale i.MX6 LTIB L3.0.35_1.0.0-GA BSP release which you must download from Freescale) |
133 | | </li><li>Yocto v1.6 / v1.7 - i.MX_6_G2D_API_User's_Guide.pdf (from the Freescale i.MX6 Yocto L3.10.17_1.0.0-GA BSP release which you must download from Freescale) |
134 | | </li><li>Yocto master - i.MX_6_Graphics_User's_Guide.pdf (from the Freescale i.MX6 Yocto L3.10.53_1.1.0-GA BSP release which you must download from Freescale) |
135 | | </li><li>Android JB4.3 - i.MX_6_G2D_API_User_Guide.pdf (from the Freescale i.MX6 Android JB4.3_1.1.0-GA BSP release which you must download from Freescale) |
136 | | </li><li>Android KK4.4.3 - i.MX_6_Graphics_User's_Guide.pdf (from the Freescale i.MX6 Android KK4.4.3_2.0.0-GA BSP release which you must download from Freescale) |
137 | | </li></ul></li></ul |
138 | | }}} |
| 106 | * Yocto BSP packages: |
| 107 | - gpu-viv-bin-mx6q |
| 108 | - xf86-video-imxfb-vivante - accelerated X11 server using the GPU |
| 109 | * Documentation: |
| 110 | - Yocto v1.3 - i.MX_6_G2D API.pdf (from the Freescale i.MX6 LTIB L3.0.35_1.0.0-GA BSP release which you must download from Freescale) |
| 111 | - Yocto v1.6 / v1.7 - i.MX_6_G2D_API_User's_Guide.pdf (from the Freescale i.MX6 Yocto L3.10.17_1.0.0-GA BSP release which you must download from Freescale) |
| 112 | - Yocto master - i.MX_6_Graphics_User's_Guide.pdf (from the Freescale i.MX6 Yocto L3.10.53_1.1.0-GA BSP release which you must download from Freescale) |
| 113 | - Android JB4.3 - i.MX_6_G2D_API_User_Guide.pdf (from the Freescale i.MX6 Android JB4.3_1.1.0-GA BSP release which you must download from Freescale) |
| 114 | - Android KK4.4.3 - i.MX_6_Graphics_User's_Guide.pdf (from the Freescale i.MX6 Android KK4.4.3_2.0.0-GA BSP release which you must download from Freescale) |