2.14. 保留格式識別符號

這些格式未由此規範定義,僅列出供參考並避免命名衝突。如果要註冊自己的格式,請傳送電子郵件至 linux-media 郵件列表 https://linuxtv.org/lists.php 以包含在 videodev2.h 檔案中。 如果您想與其他開發人員共享您的格式,請新增指向您文件的連結,並將副本傳送到 linux-media 郵件列表,以便包含在本節中。 如果您認為您的格式應該列在標準格式部分中,請在 linux-media 郵件列表中提出建議。

保留影像格式

識別符號

程式碼

詳情

V4L2_PIX_FMT_DV

‘dvsd’

未知

V4L2_PIX_FMT_ET61X251

‘E625’

ET61X251 驅動程式的壓縮格式。

V4L2_PIX_FMT_HI240

‘HI24’

BTTV 驅動程式使用的 8 位 RGB 格式。

V4L2_PIX_FMT_CPIA1

‘CPIA’

gspca cpia1 驅動程式使用的 YUV 格式。

V4L2_PIX_FMT_JPGL

‘JPGL’

Divio webcams NW 80x 中使用的 JPEG-Light 格式(Pegasus 無損 JPEG)。

V4L2_PIX_FMT_SPCA501

‘S501’

gspca 驅動程式使用的每行 YUYV。

V4L2_PIX_FMT_SPCA505

‘S505’

gspca 驅動程式使用的每行 YYUV。

V4L2_PIX_FMT_SPCA508

‘S508’

gspca 驅動程式使用的每行 YUVY。

V4L2_PIX_FMT_SPCA561

‘S561’

gspca 驅動程式使用的壓縮 GBRG Bayer 格式。

V4L2_PIX_FMT_PAC207

‘P207’

gspca 驅動程式使用的壓縮 BGGR Bayer 格式。

V4L2_PIX_FMT_MR97310A

‘M310’

gspca 驅動程式使用的壓縮 BGGR Bayer 格式。

V4L2_PIX_FMT_JL2005BCD

‘JL20’

gspca 驅動程式使用的 JPEG 壓縮 RGGB Bayer 格式。

V4L2_PIX_FMT_OV511

‘O511’

gspca 驅動程式使用的 OV511 JPEG 格式。

V4L2_PIX_FMT_OV518

‘O518’

gspca 驅動程式使用的 OV518 JPEG 格式。

V4L2_PIX_FMT_PJPG

‘PJPG’

gspca 驅動程式使用的 Pixart 73xx JPEG 格式。

V4L2_PIX_FMT_SE401

‘S401’

gspca se401 驅動程式使用的壓縮 RGB 格式

V4L2_PIX_FMT_SQ905C

‘905C’

gspca 驅動程式使用的壓縮 RGGB bayer 格式。

V4L2_PIX_FMT_MJPEG

‘MJPG’

Zoran 驅動程式使用的壓縮格式

V4L2_PIX_FMT_PWC1

‘PWC1’

PWC 驅動程式的壓縮格式。

V4L2_PIX_FMT_PWC2

‘PWC2’

PWC 驅動程式的壓縮格式。

V4L2_PIX_FMT_SN9C10X

‘S910’

SN9C102 驅動程式的壓縮格式。

V4L2_PIX_FMT_SN9C20X_I420

‘S920’

gspca sn9c20x 驅動程式的 YUV 4:2:0 格式。

V4L2_PIX_FMT_SN9C2028

‘SONX’

gspca sn9c2028 驅動程式的壓縮 GBRG bayer 格式。

V4L2_PIX_FMT_STV0680

‘S680’

gspca stv0680 驅動程式的 Bayer 格式。

V4L2_PIX_FMT_WNVA

‘WNVA’

由 Winnov Videum 驅動程式使用,http://www.thedirks.org/winnov/

V4L2_PIX_FMT_TM6000

‘TM60’

由 Trident tm6000 使用

V4L2_PIX_FMT_CIT_YYVYUY

‘CITV’

由 xirlink CIT 使用,可在 IBM 網路攝像頭上找到。

使用一行 Y,然後一行 VYUY

V4L2_PIX_FMT_KONICA420

‘KONI’

由 Konica 網路攝像頭使用。

YUV420 平面格式,以 256 畫素塊為單位。

V4L2_PIX_FMT_YYUV

‘YYUV’

未知

V4L2_PIX_FMT_Y4

‘Y04 ‘

舊的 4 位灰度格式。 僅使用每個位元組的最高有效 4 位,其他位設定為 0。

V4L2_PIX_FMT_Y6

‘Y06 ‘

舊的 6 位灰度格式。 僅使用每個位元組的最高有效 6 位,其他位設定為 0。

V4L2_PIX_FMT_S5C_UYVY_JPG

‘S5CI’

三星 S5C73MX 相機使用的雙平面格式。 第一個平面包含交錯的 JPEG 和 UYVY 影像資料,後跟元資料,形式為 UYVY 資料塊的偏移量陣列。 實際指標陣列緊跟在交錯的 JPEG/UYVY 資料之後,此陣列中的條目數等於 UYVY 影像的高度。 每個條目都是一個大端序的 4 位元組無符號整數,它是一個 UYVY 影像的單畫素行的偏移量。 第一個平面可以從 JPEG 或 UYVY 資料塊開始。

第二個平面,偏移量為 4084 位元組,包含指向第一個平面中指標陣列的 4 位元組偏移量。 此偏移量後跟一個 4 位元組值,指示指標陣列的大小。 第二個平面中的所有數字也採用大端序。 第二個平面中的其餘資料未定義。 第二個平面中的資訊允許輕鬆找到指標陣列的位置,指標陣列對於每個幀可能不同。 對於給定的 UYVY 影像高度,指標陣列的大小是恆定的。

為了提取 UYVY 和 JPEG 幀,應用程式最初可以將資料指標設定為第一個平面的開頭,然後從指標表的第一個條目新增偏移量。 這樣的指標指示 UYVY 影像畫素線的開頭。 整個 UYVY 行可以複製到單獨的緩衝區。 對於每一行都應重複這些步驟,即指標陣列中的條目數。 UYVY 行之間的任何內容都是 JPEG 資料,應連線起來形成 JPEG 流。

V4L2_PIX_FMT_MT21C

‘MT21’

聯發科 MT8173、MT8192、MT8195 等使用的壓縮雙平面 YVU420 格式。 壓縮是無損的。 此格式在對齊和平鋪方面與 V4L2_PIX_FMT_MM21 相似。 它仍然是一種不透明的中間格式,必須使用 MDP 硬體將 V4L2_PIX_FMT_MT21C 轉換為 V4L2_PIX_FMT_NV12MV4L2_PIX_FMT_YUV420MV4L2_PIX_FMT_YVU420

V4L2_PIX_FMT_QC08C

‘QC08C’

高通平臺使用的壓縮宏塊 8 位 YUV420 格式。 它是一種不透明的中間格式。 使用的壓縮是無損的,它被各種多媒體硬體塊(如 GPU、顯示控制器、ISP 和影片加速器)使用。 它包含用於逐行影片的四個平面和用於隔行影片的八個平面。

V4L2_PIX_FMT_QC10C

‘QC10C’

高通平臺使用的壓縮宏塊 10 位 YUV420 格式。 它是一種不透明的中間格式。 使用的壓縮是無損的,它被各種多媒體硬體塊(如 GPU、顯示控制器、ISP 和影片加速器)使用。 它包含用於逐行影片的四個平面。

V4L2_PIX_FMT_AJPG

‘AJPG’

Aspeed 平臺上的 aspeed-video 驅動程式使用的 ASPEED JPEG 格式,通常適用於遠端 KVM。 在每次幀壓縮時,我都會將新幀與前一個幀進行比較,以確定哪些宏塊的資料發生了更改,並且僅壓縮更改的宏塊。

該實現基於 AST2600 A3 資料表修訂版 0.9,該版本未公開提供。 或者您可以參考 SDK_User_Guide 的影片流資料格式 – ASPEED 模式壓縮,該格式可在 github 上獲得。

解碼器的實現可以在這裡找到,aspeed_codec

V4L2_PIX_FMT_HEXTILE

‘HXTL’

Nuvoton NPCM 影片驅動程式使用的壓縮格式。 此格式在遠端幀緩衝區協議(RFC 6143,第 7.7.4 節 Hextile 編碼)中定義。