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

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/pixfmt-srggb8-pisp-comp.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/userspace-api/media/v4l/pixfmt-srggb8-pisp-comp.rst (Architecture sparc64) and /Documentation/userspace-api/media/v4l/pixfmt-srggb8-pisp-comp.rst (Architecture mips)


  1 .. SPDX-License-Identifier: GFDL-1.1-no-invari      1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2                                                     2 
  3 .. _v4l2-pix-fmt-pisp-comp1-rggb:                   3 .. _v4l2-pix-fmt-pisp-comp1-rggb:
  4 .. _v4l2-pix-fmt-pisp-comp1-grbg:                   4 .. _v4l2-pix-fmt-pisp-comp1-grbg:
  5 .. _v4l2-pix-fmt-pisp-comp1-gbrg:                   5 .. _v4l2-pix-fmt-pisp-comp1-gbrg:
  6 .. _v4l2-pix-fmt-pisp-comp1-bggr:                   6 .. _v4l2-pix-fmt-pisp-comp1-bggr:
  7 .. _v4l2-pix-fmt-pisp-comp1-mono:                   7 .. _v4l2-pix-fmt-pisp-comp1-mono:
  8 .. _v4l2-pix-fmt-pisp-comp2-rggb:                   8 .. _v4l2-pix-fmt-pisp-comp2-rggb:
  9 .. _v4l2-pix-fmt-pisp-comp2-grbg:                   9 .. _v4l2-pix-fmt-pisp-comp2-grbg:
 10 .. _v4l2-pix-fmt-pisp-comp2-gbrg:                  10 .. _v4l2-pix-fmt-pisp-comp2-gbrg:
 11 .. _v4l2-pix-fmt-pisp-comp2-bggr:                  11 .. _v4l2-pix-fmt-pisp-comp2-bggr:
 12 .. _v4l2-pix-fmt-pisp-comp2-mono:                  12 .. _v4l2-pix-fmt-pisp-comp2-mono:
 13                                                    13 
 14 **********************************************     14 **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
 15 V4L2_PIX_FMT_PISP_COMP1_RGGB ('PC1R'), V4L2_PI     15 V4L2_PIX_FMT_PISP_COMP1_RGGB ('PC1R'), V4L2_PIX_FMT_PISP_COMP1_GRBG ('PC1G'), V4L2_PIX_FMT_PISP_COMP1_GBRG ('PC1g'), V4L2_PIX_FMT_PISP_COMP1_BGGR ('PC1B), V4L2_PIX_FMT_PISP_COMP1_MONO ('PC1M'), V4L2_PIX_FMT_PISP_COMP2_RGGB ('PC2R'), V4L2_PIX_FMT_PISP_COMP2_GRBG ('PC2G'), V4L2_PIX_FMT_PISP_COMP2_GBRG ('PC2g'), V4L2_PIX_FMT_PISP_COMP2_BGGR ('PC2B), V4L2_PIX_FMT_PISP_COMP2_MONO ('PC2M')
 16 **********************************************     16 **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
 17                                                    17 
 18 ==============================================     18 ================================================
 19 Raspberry Pi PiSP compressed 8-bit Bayer forma     19 Raspberry Pi PiSP compressed 8-bit Bayer formats
 20 ==============================================     20 ================================================
 21                                                    21 
 22 Description                                        22 Description
 23 ===========                                        23 ===========
 24                                                    24 
 25 The Raspberry Pi ISP (PiSP) uses a family of t     25 The Raspberry Pi ISP (PiSP) uses a family of three fixed-rate compressed Bayer
 26 formats. A black-level offset may be subtracte     26 formats. A black-level offset may be subtracted to improve compression
 27 efficiency; the nominal black level and amount     27 efficiency; the nominal black level and amount of offset must be signalled out
 28 of band. Each scanline is padded to a multiple     28 of band. Each scanline is padded to a multiple of 8 pixels wide, and each block
 29 of 8 horizontally-contiguous pixels is coded u     29 of 8 horizontally-contiguous pixels is coded using 8 bytes.
 30                                                    30 
 31 Mode 1 uses a quantization and delta-based cod     31 Mode 1 uses a quantization and delta-based coding scheme which preserves up to
 32 12 significant bits. Mode 2 is a simple sqrt-l     32 12 significant bits. Mode 2 is a simple sqrt-like companding scheme with 6 PWL
 33 chords, preserving up to 12 significant bits.      33 chords, preserving up to 12 significant bits. Mode 3 combines both companding
 34 (with 4 chords) and the delta scheme, preservi     34 (with 4 chords) and the delta scheme, preserving up to 14 significant bits.
 35                                                    35 
 36 The remainder of this description applies to M     36 The remainder of this description applies to Modes 1 and 3.
 37                                                    37 
 38 Each block of 8 pixels is separated into even      38 Each block of 8 pixels is separated into even and odd phases of 4 pixels,
 39 coded independently by 32-bit words at success     39 coded independently by 32-bit words at successive locations in memory.
 40 The two LS bits of each 32-bit word give its "     40 The two LS bits of each 32-bit word give its "quantization mode".
 41                                                    41 
 42 In quantization mode 0, the lowest 321 quantiz     42 In quantization mode 0, the lowest 321 quantization levels are multiples of
 43 FSD/4096 and the remaining levels are successi     43 FSD/4096 and the remaining levels are successive multiples of FSD/2048.
 44 Quantization modes 1 and 2 use linear quantiza     44 Quantization modes 1 and 2 use linear quantization with step sizes of
 45 FSD/1024 and FSD/512 respectively. Each of the     45 FSD/1024 and FSD/512 respectively. Each of the four pixels is quantized
 46 independently, with rounding to the nearest le     46 independently, with rounding to the nearest level.
 47 In quantization mode 2 where the middle two sa     47 In quantization mode 2 where the middle two samples have quantized values
 48 (q1,q2) both in the range [384..511], they are     48 (q1,q2) both in the range [384..511], they are coded using 9 bits for q1
 49 followed by 7 bits for (q2 & 127). Otherwise,      49 followed by 7 bits for (q2 & 127). Otherwise, for quantization modes
 50 0, 1 and 2: a 9-bit field encodes MIN(q1,q2) w     50 0, 1 and 2: a 9-bit field encodes MIN(q1,q2) which must be in the range
 51 [0..511] and a 7-bit field encodes (q2-q1+64)      51 [0..511] and a 7-bit field encodes (q2-q1+64) which must be in [0..127].
 52                                                    52 
 53 Each of the outer samples (q0,q3) is encoded u     53 Each of the outer samples (q0,q3) is encoded using a 7-bit field based
 54 on its inner neighbour q1 or q2. In quantizati     54 on its inner neighbour q1 or q2. In quantization mode 2 where the inner
 55 sample has a quantized value in the range [448     55 sample has a quantized value in the range [448..511], the field value is
 56 (q0-384). Otherwise for quantization modes 0,      56 (q0-384). Otherwise for quantization modes 0, 1 and 2: The outer sample
 57 is encoded as (q0-MAX(0,q1-64)). q3 is likewis     57 is encoded as (q0-MAX(0,q1-64)). q3 is likewise coded based on q2.
 58 Each of these values must be in the range [0..     58 Each of these values must be in the range [0..127]. All these fields
 59 of 2, 9, 7, 7, 7 bits respectively are packed      59 of 2, 9, 7, 7, 7 bits respectively are packed in little-endian order
 60 to give a 32-bit word with LE byte order.          60 to give a 32-bit word with LE byte order.
 61                                                    61 
 62 Quantization mode 3 has a "7.5-bit" escape, us     62 Quantization mode 3 has a "7.5-bit" escape, used when none of the above
 63 encodings will fit. Each pixel value is quanti     63 encodings will fit. Each pixel value is quantized to the nearest of 176
 64 levels, where the lowest 95 levels are multipl     64 levels, where the lowest 95 levels are multiples of FSD/256 and the
 65 remaining levels are multiples of FSD/128 (lev     65 remaining levels are multiples of FSD/128 (level 175 represents values
 66 very close to FSD and may require saturating a     66 very close to FSD and may require saturating arithmetic to decode).
 67                                                    67 
 68 Each pair of quantized pixels (q0,q1) or (q2,q     68 Each pair of quantized pixels (q0,q1) or (q2,q3) is jointly coded
 69 by a 15-bit field: 2816*(q0>>4) + 16*q1 + (q0&     69 by a 15-bit field: 2816*(q0>>4) + 16*q1 + (q0&15).
 70 Three fields of 2, 15, 15 bits are packed in L     70 Three fields of 2, 15, 15 bits are packed in LE order {15,15,2}.
 71                                                    71 
 72 An implementation of a software decoder of com     72 An implementation of a software decoder of compressed formats is available
 73 in `Raspberry Pi camera applications code base     73 in `Raspberry Pi camera applications code base
 74 <https://github.com/raspberrypi/rpicam-apps/bl     74 <https://github.com/raspberrypi/rpicam-apps/blob/main/image/dng.cpp>`_.
                                                      

~ [ 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