Changes between Initial Version and Version 1 of ventana/graphics

10/22/2017 05:28:45 AM (5 years ago)



  • ventana/graphics

    v1 v1  
     2          <div id="wikipage" class="trac-content"><p>
     3</p><div class="wiki-toc">
     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>
     22<h1 id="VentanaGraphicsCapabilities">Ventana Graphics Capabilities</h1>
     24The IMX6 CPU contains the following hardware graphics accelerators:
     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>
     31The Image Processing Unit contains hardware support for the following:
     33<ul><li>Image Re-sizing and Blending
     34</li><li>Image Enhancement
     35</li><li>Image Inversion / Rotation
     37Software support:
     39<ul><li>The Gateworks Yocto BSP contains an IPU driver with an <a class="ext-link" href=""><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=""><span class="icon">​</span></a>
     43</li><li><a class="ext-link" href=""><span class="icon">​</span></a>
     44</li><li>imx-test package <a class="ext-link" href=""><span class="icon">​</span></a>
     45</li></ul></li></ul><h2 id="VPU-VideoProcessingUnitCodecSupport">VPU - Video Processing Unit (Codec Support)</h2>
     47The Video Processing Unit in the IMX6 is a CODA960 licensed IP block provided by Chips&amp;Media supporting the following codecs:
     50<ul><li>H.264 BP/CBP
     51</li><li>H.263 V2
     52</li><li>MPEG-4 SP
     54</li><li>MJPEG Baseline
     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
     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
     75Software support:
     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
     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)
     88<ul><li><a class="ext-link" href=""><span class="icon">​</span>Freescale IMX6VPUAPI</a> - This is from the LINUXDOCS_BUNDLE downloadable from Freescale's IMX6 site - check there for the most recent version
     89<ul><li>this documents the VPU Application Programming Interface
     90</li></ul></li></ul><h2 id="GPU-GraphicsProcessingUnit">GPU - Graphics Processing Unit</h2>
     92The IMX6 contains 2D and 3D GPU support from Vivante with some variations based on the specific IMX SoC:
     95<ul><li>Vivante GC2000 (3D GPU)
     96<ul><li>Clock: 600-800MHz (the IMX6 clocks this at 533MHz)
     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)
     105</li><li>OpenVG 1.1
     106</li></ul></li><li>Vivante GC320 (2D GPU - blit)
     109<ul><li>Vivante GC880 GPU
     110<ul><li>Clock: 600-800MHz (the IMX6 clocks this at 400MHz)
     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)
     120According to Freescale this GPU supports the following open standards:
     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)
     126Software Support:
     128<ul><li>Yocto BSP packages:
     130</li><li>xf86-video-imxfb-vivante - accelerated X11 server using the GPU
     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)