Changes between Version 1 and Version 2 of ventana/graphics


Ignore:
Timestamp:
10/05/2018 08:36:35 PM (6 years ago)
Author:
Tim Harvey
Comment:

convert restored html back to wiki markup

Legend:

Unmodified
Added
Removed
Modified
  • ventana/graphics

    v1 v2  
    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
    244The IMX6 CPU contains the following hardware graphics accelerators:
    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
    3112The Image Processing Unit contains hardware support for the following:
    32 </p>
    33 <ul><li>Image Re-sizing and Blending
    34 </li><li>Image Enhancement
    35 </li><li>Image Inversion / Rotation
    36 </li></ul><p>
     13 * Image Re-sizing and Blending
     14 * Image Enhancement
     15 * Image Inversion / Rotation
     16
    3717Software support:
    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&amp;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)
     28The Video Processing Unit in the IMX6 is a CODA960 licensed IP block provided by Chips&Media supporting the following codecs:
     29
     30Encode:
     31 * H.264 BP/CBP
     32 * H.263 V2
     33 * MPEG-4 SP
     34 * MPEG-2
     35 * MJPEG Baseline
     36
     37Decode:
     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
    6648Performance:
    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
    7556Software support:
    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
     64Documentation:
     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
    8667References:
    87 </p>
    88 <ul><li><a class="ext-link" href="https://community.freescale.com/servlet/JiveServlet/download/317735-256858/VPU_API_RM_L3.0.35_1.1.0.pdf"><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>
    91 <p>
     68 * ​[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
     69
     70
     71[=#gpu]
     72== GPU - Graphics Processing Unit
    9273The IMX6 contains 2D and 3D GPU support from Vivante with some variations based on the specific IMX SoC:
    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
    120100According to Freescale this GPU supports the following open standards:
    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
    126105Software Support:
    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)