http://linuxtv.org/downloads/v4l-dvb-apis/ch02s08.html
壓縮格式
定義 | 碼 | 描述 |
---|---|---|
V4L2_PIX_FMT_JPEG | 'JPEG' | 待定,見VIDIOC_G_JPEGCOMP VIDIOC_S_JPEGCOMP |
V4L2_PIX_FMT_MPEG | 'MPEG' | MPEG複合流,實際格式由V4L2_CID_MPEG_STREAM_TYPE控制 |
V4L2_PIX_FMT_H264 | 'H264' | 不帶起始碼的H264視頻基本碼流 |
V4L2_PIX_FMT_H264_NO_SC | 'AVC1' | 帶起始碼的H264視頻基本碼流 |
V4L2_PIX_FMT_MVC | 'MVC' | H264 MVC視頻流 |
V4L2_PIX_FMT_H263 | 'H263' | H263視頻流 |
V4L2_PIX_MPEG1 | 'MPG1' | MPEG1視頻流 |
V4L2_PIX_MPEG2 | 'MPG2' | MPEG2視頻流 |
V4L2_PIX_MPEG4 | 'MPG4' | MPEG4視頻流 |
V4L2_PIX_FMT_XVID | 'XVID' | XVID視頻流 |
V4L2_PIX_FMT_VC1_ANNEX_G | 'VC1G' | VC1, SMPTE 421M Annex G兼容流 |
V4L2_PIX_FMT_VC1_ANNEX_L | 'VC1L' | VC1, SMPTE 421M Annex L兼容流 |
V4L2_PIX_FMT_VP8 | 'VP8' | VP8視頻流 |
SDR格式
這些格式只在SDR捕捉中用到(第四節)
V4L2_SDR_FMT_CU8 ('CU08')
名字
V4L2_SDR_FMT_CU8 複合無符號8位IQ取樣
描述
此格式包含了符合數字取樣數列,每個符合數字包括兩個部分,同步(In-phase)和正交(Quadrature)即IQ。I和Q都是無符號8位數據,首先是I的值然後是Q。
例2.34 V4L2_SDR_FMT_CU8 一次取樣
start + 0: I'0
start + 1: Q'0
V4L2_SDR_FMT_CU16LE ('CU16')
名字
V4L2_SDR_FMT_CU16LE 複合型無符號16位(低位)IQ取樣
描述
此格式包含符合數字取樣序列,每個符合數包括兩部分:一個I,一個Q,他們都是16位無符號數據(低位)。先是I,後是Q。
例2.35 V4L2_SDR_FMT_CU16LE 一次取樣
start + 0: I'0[7:0] I'0[15:8]
start + 2: Q'0[7:0] Q'0[15:8]
保留格式定義
這些格式並沒有在規格中被定義,他們列舉出來只是爲了防止命名衝突。如果你想註冊你自己的格式,那麼向郵件列表中發送一封郵件,幷包含videodev2.h文件。如果你想同其他開發者共享你的格式,那麼添加一個你的文檔連接,併發送一個郵件列表(包含那部分的)拷貝。若你覺得你的格式應該列爲標準格式,那麼請在linux-media郵件列表中提議。
定義 | 碼 | 描述 |
---|---|---|
V4L2_PIX_FMT_DV | 'dvsd' | 未知 |
V4L2_PIX_FMT_ET61X251 | 'E625' | ET61X251驅動的壓縮格式 |
V4L2_PIX_FMT_HI240 | 'HI24' | BTTV驅動所用的8位RGB格式 |
V4L2_PIX_FMT_HM12 | 'HM12' | IVTV所用YUV4:2:0格式http://www.ivtvdriver.org/ 內核文檔 Documentation/video4linux/cx2341x/README.hm12 |
V4L2_PIX_FMT_CPIA1 | 'CPIA' | 相機適配器所用YUV格式 |
V4L2_PIX_FMT_JPGL | 'JPGL' | Divio網絡攝像頭NW 80x所用輕量JPEG格式 |
V4L2_PIX_FMT_SPCA501 | 'S501' | 相機適配器所用每行YUYV |
V4L2_PIX_FMT_SPCA505 | 'S505' | 相機適配器所用每行YYUV |
V4L2_PIX_FMT_SPCA508 | 'S508' | 相機適配器驅動所用每行YUVY |
V4L2_PIX_FMT_SPCA561 | 'S561' | 相機適配器驅動所用壓縮GBRG貝爾格式 |
V4L2_PIX_FMT_PAC207 | 'P207' | 相機適配器驅動所用壓縮BGGR貝爾格式 |
V4L2_PIX_FMT_MR97310A | 'M310' | 相機適配器驅動所用壓縮BGGR貝爾格式 |
V4L2_PIX_FMT_JL2005BCD | 'JL20' | 相機適配器驅動所用JPEG壓縮RGGB貝爾格式 |
V4L2_PIX_FMT_OV511 | 'O511' | 相機適配器驅動所用OV511 JPEG格式 |
V4L2_PIX_FMT_OV518 | 'O518' | 相機適配器驅動所用OV518 JPEG格式 |
V4L2_PIX_FMT_PJPG | 'PJPG' | 相機適配器驅動所用Pixart 73xx JPEG格式 |
V4L2_PIX_FMT_SE401 | 'S401' | SE401適配器驅動所用壓縮RGB格式 |
V4L2_PIX_FMT_SQ905C | '905C' | 相機適配器驅動所用壓縮RGGB貝爾格式 |
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' | sn9c20x驅動所用YUV4:2:0格式 |
V4L2_PIX_FMT_SN9C2028 | 'SONX' | sn9c2028驅動所用壓縮GBRG貝爾格式 |
V4L2_PIX_FMT_STV0680 | 'S680' | stv0680適配器驅動所用貝爾格式 |
V4L2_PIX_FMT_WNVA | 'WNVA' | Winnov Videu驅動所用, 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網絡攝像頭所用,256色YUV420平面 |
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數據塊。UYVY數據塊大小爲UYVY圖像寬度乘以2。JPEG快大小則依賴於圖像和每行的承載量。第二個平面,偏移4084字節,包含了到第一個平面指針集合的4字節偏移。這個偏移量後是一個代表指針集合大小的4字節數值。所有第二平面中的數都是大端排列,其他的在第二平面中的數據值並不確定。通過在第二平面中的信息,可以輕鬆的找到數據集合的位置,每一幀都不一樣,而指針集合大小是常量,與UYVY圖像高度相同。爲了提取出UYVY和JPEG幀,應用程序可以設置一個數據指針指向第一個平面的起始,然後將第一個入口的偏移添加到指針表中。這樣指針就代表了UYVY圖像像素行的起始。整個UYVY行可以被拷貝到不連續的緩存中。每一行都要重複以上步驟,重複次數是指針數據集合的數量(即UYVY圖像高度)。在UYVY線之間的所有東西都是JPEG數據,他們應該在JPEG流中被連接起來。 |