Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  dw100.rst   Sprache: unbekannt

 
.. SPDX-License-Identifier: GPL-2.0

DW100 dewarp driver
===================

The Vivante DW100 Dewarp Processor IP core found on i.MX8MP SoC applies a
programmable geometrical transformation on the input image to correct distortion
introduced by lenses.

The transformation function is exposed by the hardware as a grid map with 16x16
pixel macroblocks indexed using X, Y vertex coordinates.
::

                          Image width
           <--------------------------------------->

      ^    .-------.-------.-------.-------.-------.
      |    | 16x16 |       |       |       |       |
   I  |    | pixel |       |       |       |       |
   m  |    | block |       |       |       |       |
   a  |    .-------.-------.-------.-------.-------.
   g  |    |       |       |       |       |       |
   e  |    |       |       |       |       |       |
      |    |       |       |       |       |       |
   h  |    .-------.-------.-------.-------.-------.
   e  |    |       |       |       |       |       |
   i  |    |       |       |       |       |       |
   g  |    |       |       |       |       |       |
   h  |    .-------.-------.-------.-------.-------.
   t  |    |       |       |       |       |       |
      |    |       |       |       |       |       |
      |    |       |       |       |       |       |
      v    '-------'-------'-------'-------'-------'

            Grid of Image Blocks for Dewarping Map


Each x, y coordinate register uses 16 bits to record the coordinate address in
an unsigned 12.4 fixed point format (UQ12.4).
::

    .----------------------.--------..----------------------.--------.
    |         31~20        | 19~16  ||         15~4         |  3~0   |
    |       (integer)      | (frac) ||       (integer)      | (frac) |
    '----------------------'--------''----------------------'--------'
    <-------------------------------><------------------------------->
                Y coordinate                     X coordinate

                           Remap Register Layout

The dewarping map is set from applications using the
V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP control. The control contains
an array of u32 values storing (x, y) destination coordinates for each
vertex of the grid. The x coordinate is stored in the 16 LSBs and the y
coordinate in the 16 MSBs.

The number of elements in the array must match the image size:

.. code-block:: C

    elems = (DIV_ROUND_UP(width, 16) + 1) * (DIV_ROUND_UP(height, 16) + 1);

If the control has not been set by the application, the driver uses an identity
map.

More details on the DW100 hardware operations can be found in
*chapter 13.15 DeWarp* of IMX8MP_ reference manual.

The Vivante DW100 m2m driver implements the following driver-specific control:

``V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (__u32 array)``
    Specifies to DW100 driver its dewarping map (aka LUT) blob as described in
    *chapter 13.15.2.3 Dewarping Remap* of IMX8MP_ reference manual as an U32
    dynamic array. The image is divided into many small 16x16 blocks. If the
    width/height of the image is not divisible by 16, the size of the
    rightmost/bottommost block is the remainder. The dewarping map only saves
    the vertex coordinates of the block. The dewarping grid map is comprised of
    vertex coordinates for x and y. Each x, y coordinate register uses 16 bits
    (UQ12.4) to record the coordinate address, with the Y coordinate in the
    upper bits and X in the lower bits. The driver modifies the dimensions of
    this control when the sink format is changed, to reflect the new input
    resolution.

.. _IMX8MP: https://www.nxp.com/webapp/Download?colCode=IMX8MPRM

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge