~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/media/raspberrypi-pisp-be.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/media/raspberrypi-pisp-be.rst (Version linux-6.12-rc7) and /Documentation/admin-guide/media/raspberrypi-pisp-be.rst (Version linux-6.11.7)


  1 .. SPDX-License-Identifier: GPL-2.0                 1 .. SPDX-License-Identifier: GPL-2.0
  2                                                     2 
  3 ==============================================      3 =========================================================
  4 Raspberry Pi PiSP Back End Memory-to-Memory IS      4 Raspberry Pi PiSP Back End Memory-to-Memory ISP (pisp-be)
  5 ==============================================      5 =========================================================
  6                                                     6 
  7 The PiSP Back End                                   7 The PiSP Back End
  8 =================                                   8 =================
  9                                                     9 
 10 The PiSP Back End is a memory-to-memory Image      10 The PiSP Back End is a memory-to-memory Image Signal Processor (ISP) which reads
 11 image data from DRAM memory and performs image     11 image data from DRAM memory and performs image processing as specified by the
 12 application through the parameters in a config     12 application through the parameters in a configuration buffer, before writing
 13 pixel data back to memory through two distinct     13 pixel data back to memory through two distinct output channels.
 14                                                    14 
 15 The ISP registers and programming model are do     15 The ISP registers and programming model are documented in the `Raspberry Pi
 16 Image Signal Processor (PiSP) Specification do     16 Image Signal Processor (PiSP) Specification document`_
 17                                                    17 
 18 The PiSP Back End ISP processes images in tile     18 The PiSP Back End ISP processes images in tiles. The handling of image
 19 tessellation and the computation of low-level      19 tessellation and the computation of low-level configuration parameters is
 20 realized by a free software library called `li     20 realized by a free software library called `libpisp
 21 <https://github.com/raspberrypi/libpisp>`_.        21 <https://github.com/raspberrypi/libpisp>`_.
 22                                                    22 
 23 The full image processing pipeline, which invo     23 The full image processing pipeline, which involves capturing RAW Bayer data from
 24 an image sensor through a MIPI CSI-2 compatibl     24 an image sensor through a MIPI CSI-2 compatible capture interface, storing them
 25 in DRAM memory and processing them in the PiSP     25 in DRAM memory and processing them in the PiSP Back End to obtain images usable
 26 by an application is implemented in `libcamera     26 by an application is implemented in `libcamera <https://libcamera.org>`_ as
 27 part of the Raspberry Pi platform support.         27 part of the Raspberry Pi platform support.
 28                                                    28 
 29 The pisp-be driver                                 29 The pisp-be driver
 30 ==================                                 30 ==================
 31                                                    31 
 32 The Raspberry Pi PiSP Back End (pisp-be) drive     32 The Raspberry Pi PiSP Back End (pisp-be) driver is located under
 33 drivers/media/platform/raspberrypi/pisp-be. It     33 drivers/media/platform/raspberrypi/pisp-be. It uses the `V4L2 API` to register
 34 a number of video capture and output devices,      34 a number of video capture and output devices, the `V4L2 subdev API` to register
 35 a subdevice for the ISP that connects the vide     35 a subdevice for the ISP that connects the video devices in a single media graph
 36 realized using the `Media Controller (MC) API`     36 realized using the `Media Controller (MC) API`.
 37                                                    37 
 38 The media topology registered by the `pisp-be`     38 The media topology registered by the `pisp-be` driver is represented below:
 39                                                    39 
 40 .. _pips-be-topology:                              40 .. _pips-be-topology:
 41                                                    41 
 42 .. kernel-figure:: raspberrypi-pisp-be.dot         42 .. kernel-figure:: raspberrypi-pisp-be.dot
 43     :alt:   Diagram of the default media pipel     43     :alt:   Diagram of the default media pipeline topology
 44     :align: center                                 44     :align: center
 45                                                    45 
 46                                                    46 
 47 The media graph registers the following video      47 The media graph registers the following video device nodes:
 48                                                    48 
 49 - pispbe-input: output device for images to be     49 - pispbe-input: output device for images to be submitted to the ISP for
 50   processing.                                      50   processing.
 51 - pispbe-tdn_input: output device for temporal     51 - pispbe-tdn_input: output device for temporal denoise.
 52 - pispbe-stitch_input: output device for image     52 - pispbe-stitch_input: output device for image stitching (HDR).
 53 - pispbe-output0: first capture device for pro     53 - pispbe-output0: first capture device for processed images.
 54 - pispbe-output1: second capture device for pr     54 - pispbe-output1: second capture device for processed images.
 55 - pispbe-tdn_output: capture device for tempor     55 - pispbe-tdn_output: capture device for temporal denoise.
 56 - pispbe-stitch_output: capture device for ima     56 - pispbe-stitch_output: capture device for image stitching (HDR).
 57 - pispbe-config: output device for ISP configu     57 - pispbe-config: output device for ISP configuration parameters.
 58                                                    58 
 59 pispbe-input                                       59 pispbe-input
 60 ------------                                       60 ------------
 61                                                    61 
 62 Images to be processed by the ISP are queued t     62 Images to be processed by the ISP are queued to the `pispbe-input` output device
 63 node. For a list of image formats supported as     63 node. For a list of image formats supported as input to the ISP refer to the
 64 `Raspberry Pi Image Signal Processor (PiSP) Sp     64 `Raspberry Pi Image Signal Processor (PiSP) Specification document`_.
 65                                                    65 
 66 pispbe-tdn_input, pispbe-tdn_output                66 pispbe-tdn_input, pispbe-tdn_output
 67 -----------------------------------                67 -----------------------------------
 68                                                    68 
 69 The `pispbe-tdn_input` output video device rec     69 The `pispbe-tdn_input` output video device receives images to be processed by
 70 the temporal denoise block which are captured      70 the temporal denoise block which are captured from the `pispbe-tdn_output`
 71 capture video device. Userspace is responsible     71 capture video device. Userspace is responsible for maintaining queues on both
 72 devices, and ensuring that buffers completed o     72 devices, and ensuring that buffers completed on the output are queued to the
 73 input.                                             73 input.
 74                                                    74 
 75 pispbe-stitch_input, pispbe-stitch_output          75 pispbe-stitch_input, pispbe-stitch_output
 76 -----------------------------------------          76 -----------------------------------------
 77                                                    77 
 78 To realize HDR (high dynamic range) image proc     78 To realize HDR (high dynamic range) image processing the image stitching and
 79 tonemapping blocks are used. The `pispbe-stitc     79 tonemapping blocks are used. The `pispbe-stitch_output` writes images to memory
 80 and the `pispbe-stitch_input` receives the pre     80 and the `pispbe-stitch_input` receives the previously written frame to process
 81 it along with the current input image. Userspa     81 it along with the current input image. Userspace is responsible for maintaining
 82 queues on both devices, and ensuring that buff     82 queues on both devices, and ensuring that buffers completed on the output are
 83 queued to the input.                               83 queued to the input.
 84                                                    84 
 85 pispbe-output0, pispbe-output1                     85 pispbe-output0, pispbe-output1
 86 ------------------------------                     86 ------------------------------
 87                                                    87 
 88 The two capture devices write to memory the pi     88 The two capture devices write to memory the pixel data as processed by the ISP.
 89                                                    89 
 90 pispbe-config                                      90 pispbe-config
 91 -------------                                      91 -------------
 92                                                    92 
 93 The `pispbe-config` output video devices recei     93 The `pispbe-config` output video devices receives a buffer of configuration
 94 parameters that define the desired image proce     94 parameters that define the desired image processing to be performed by the ISP.
 95                                                    95 
 96 The format of the ISP configuration parameter      96 The format of the ISP configuration parameter is defined by
 97 :c:type:`pisp_be_tiles_config` C structure and     97 :c:type:`pisp_be_tiles_config` C structure and the meaning of each parameter is
 98 described in the `Raspberry Pi Image Signal Pr     98 described in the `Raspberry Pi Image Signal Processor (PiSP) Specification
 99 document`_.                                        99 document`_.
100                                                   100 
101 ISP configuration                                 101 ISP configuration
102 =================                                 102 =================
103                                                   103 
104 The ISP configuration is described solely by t    104 The ISP configuration is described solely by the content of the parameters
105 buffer. The only parameter that userspace need    105 buffer. The only parameter that userspace needs to configure using the V4L2 API
106 is the image format on the output and capture     106 is the image format on the output and capture video devices for validation of
107 the content of the parameters buffer.             107 the content of the parameters buffer.
108                                                   108 
109 .. _Raspberry Pi Image Signal Processor (PiSP)    109 .. _Raspberry Pi Image Signal Processor (PiSP) Specification document: https://datasheets.raspberrypi.com/camera/raspberry-pi-image-signal-processor-specification.pdf
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php