`

V4L2支持的 视频 图像 格式

 
阅读更多

这些都定义在linux/videodev2.h文件里面:

/*      Pixel format         FOURCC                        depth  Description  */
#define V4L2_PIX_FMT_RGB332  v4l2_fourcc('R', 'G', 'B', '1') /*  8  RGB-3-3-2     */
#define V4L2_PIX_FMT_RGB444  v4l2_fourcc('R', '4', '4', '4') /* 16  xxxxrrrr ggggbbbb */
#define V4L2_PIX_FMT_RGB555  v4l2_fourcc('R', 'G', 'B', 'O') /* 16  RGB-5-5-5     */
#define V4L2_PIX_FMT_RGB565  v4l2_fourcc('R', 'G', 'B', 'P') /* 16  RGB-5-6-5     */
#define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16  RGB-5-5-5 BE  */
#define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16  RGB-5-6-5 BE  */
#define V4L2_PIX_FMT_BGR24   v4l2_fourcc('B', 'G', 'R', '3') /* 24  BGR-8-8-8     */
#define V4L2_PIX_FMT_RGB24   v4l2_fourcc('R', 'G', 'B', '3') /* 24  RGB-8-8-8     */
#define V4L2_PIX_FMT_BGR32   v4l2_fourcc('B', 'G', 'R', '4') /* 32  BGR-8-8-8-8   */
#define V4L2_PIX_FMT_RGB32   v4l2_fourcc('R', 'G', 'B', '4') /* 32  RGB-8-8-8-8   */
#define V4L2_PIX_FMT_GREY    v4l2_fourcc('G', 'R', 'E', 'Y') /*  8  Greyscale     */
#define V4L2_PIX_FMT_Y16     v4l2_fourcc('Y', '1', '6', ' ') /* 16  Greyscale     */
#define V4L2_PIX_FMT_PAL8    v4l2_fourcc('P', 'A', 'L', '8') /*  8  8-bit palette */
#define V4L2_PIX_FMT_YVU410  v4l2_fourcc('Y', 'V', 'U', '9') /*  9  YVU 4:1:0     */
#define V4L2_PIX_FMT_YVU420  v4l2_fourcc('Y', 'V', '1', '2') /* 12  YVU 4:2:0     */
#define V4L2_PIX_FMT_YUYV    v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16  YUV 4:2:2     */
#define V4L2_PIX_FMT_UYVY    v4l2_fourcc('U', 'Y', 'V', 'Y') /* 16  YUV 4:2:2     */
#define V4L2_PIX_FMT_VYUY    v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16  YUV 4:2:2     */
#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') /* 16  YVU422 planar */
#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') /* 16  YVU411 planar */
#define V4L2_PIX_FMT_Y41P    v4l2_fourcc('Y', '4', '1', 'P') /* 12  YUV 4:1:1     */
#define V4L2_PIX_FMT_YUV444  v4l2_fourcc('Y', '4', '4', '4') /* 16  xxxxyyyy uuuuvvvv */
#define V4L2_PIX_FMT_YUV555  v4l2_fourcc('Y', 'U', 'V', 'O') /* 16  YUV-5-5-5     */

 

 

/* two planes -- one Y, one Cr + Cb interleaved  */
#define V4L2_PIX_FMT_NV12    v4l2_fourcc('N', 'V', '1', '2') /* 12  Y/CbCr 4:2:0  */
#define V4L2_PIX_FMT_NV21    v4l2_fourcc('N', 'V', '2', '1') /* 12  Y/CrCb 4:2:0  */
#define V4L2_PIX_FMT_NV16    v4l2_fourcc('N', 'V', '1', '6') /* 16  Y/CbCr 4:2:2  */
#define V4L2_PIX_FMT_NV61    v4l2_fourcc('N', 'V', '6', '1') /* 16  Y/CrCb 4:2:2  */

/*  The following formats are not defined in the V4L2 specification */
#define V4L2_PIX_FMT_YUV410  v4l2_fourcc('Y', 'U', 'V', '9') /*  9  YUV 4:1:0     */
#define V4L2_PIX_FMT_YUV420  v4l2_fourcc('Y', 'U', '1', '2') /* 12  YUV 4:2:0     */
#define V4L2_PIX_FMT_YYUV    v4l2_fourcc('Y', 'Y', 'U', 'V') /* 16  YUV 4:2:2     */
#define V4L2_PIX_FMT_HI240   v4l2_fourcc('H', 'I', '2', '4') /*  8  8-bit color   */
#define V4L2_PIX_FMT_HM12    v4l2_fourcc('H', 'M', '1', '2') /*  8  YUV 4:2:0 16x16 macroblocks */

/* see http://www.siliconimaging.com/RGB%20Bayer.htm */
#define V4L2_PIX_FMT_SBGGR8  v4l2_fourcc('B', 'A', '8', '1') /*  8  BGBG.. GRGR.. */
#define V4L2_PIX_FMT_SGBRG8  v4l2_fourcc('G', 'B', 'R', 'G') /*  8  GBGB.. RGRG.. */

/* compressed formats */ #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */ #define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') /* JFIF JPEG */ #define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd') /* 1394 */ #define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 */

/* Vendor-specific formats */ #define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A') /* Winnov hw compress */ #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compression */ #define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P', 'W', 'C', '1') /* pwc older webcam */ #define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P', 'W', 'C', '2') /* pwc newer webcam */ #define V4L2_PIX_FMT_ET61X251 v4l2_fourcc('E', '6', '2', '5') /* ET61X251 compression */ #define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line */ #define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line */ #define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */ #define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ #define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ #define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */ #define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */ #define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */ #define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */


希望有所帮助~~

分享到:
评论

相关推荐

    v4l2 QT MJPEG格式 视频采集+屏幕显示+图片保存

    本主题聚焦于使用v4l2(Video for Linux Two)接口,结合QT库,实现MJPEG(Motion JPEG)格式的视频采集、屏幕显示以及图片保存功能。下面将详细阐述这些知识点。 1. **v4l2接口**: v4l2是Linux操作系统中的一个...

    v4l2获取视频yuv视频文件

    在这个项目中,我们看到一个用C语言编写的V4L2程序,其目标是捕获视频流并将其保存为YUV格式的视频文件。下面我们将详细探讨V4L2、YUV以及如何在Linux环境中实现这个功能。 1. **V4L2接口** V4L2是Video for Linux...

    USB Camera V4L2 视频录制——ubuntu(1)

    USB Camera V4L2 视频录制在Ubuntu操作系统中的实现是一项关键的技术,它涉及到计算机视觉、多媒体处理和Linux系统编程等多个领域。V4L2,全称Video for Linux Two,是Linux内核提供的一种用于访问视频设备(如USB...

    v4l2采集视频并保存和lcd显示

    在这个场景中,我们的目标是通过V4L2接口来采集摄像头的视频数据,并且将其转换为特定格式以便于处理和显示。具体来说,我们将关注以下几个关键知识点: 1. **V4L2接口**:V4L2提供了与视频设备进行通信的一套结构...

    USB摄像头通过v4l2技术采集、储存视频

    在Linux系统中,USB摄像头的视频采集通常涉及到了一个核心的技术接口——Video for Linux version 2(v4l2)。v4l2是Linux内核为数字视频设备提供的一种驱动程序接口,它允许用户空间程序直接与硬件进行交互,进行...

    基于Qt开发平台,利用linux下视频采集驱动V4L2,实现视频的采集

    V4L2是Linux内核提供的一种API,它为开发者提供了访问视频设备(如摄像头)的能力,支持多种视频捕获和编码功能。在本项目中,我们将基于Qt开发平台,结合V4L2驱动,来实现视频的实时采集和帧数据的保存。 首先,Qt...

    c语言 v4l2 采集图片 拍照

    V4L2 API包括一系列的结构体、枚举和函数,用于控制视频设备,如设置图像格式、捕获帧、传输数据等。 2. C语言编程基础: C语言是一种通用的、面向过程的编程语言,适用于系统级编程,如操作硬件设备。在V4L2中,...

    android下v4l2拍摄jpg格式图片

    在Android平台上,开发一款应用程序来使用Video for Linux Two (V4L2)接口捕获YUV数据,并通过移植libjpeg库将其转换为JPEG格式的图片,是一项技术挑战。以下是对这个过程的详细解释: 首先,V4L2是Linux内核提供的...

    V4l2_get_fps_demo

    在V4L2中,`v4l2_format`结构体用于描述视频格式,包括图像的宽度、高度、像素格式以及帧率等。开发者可以通过`VIDIOC_S_FMT`或`VIDIOC_G_FMT`ioctl命令来设置或获取这些参数。`V4l2_get_fps_demo`可能就是通过`...

    qt v4l2多线程视频采集

    【描述】:“qt v4l2多线程视频采集摄像头格式为yuyv 640 * 480”意味着在实现该功能时,摄像头输出的视频格式为YUV 4:2:2(通常表示为YUYV),分辨率是640像素乘以480像素。YUV色彩空间是一种常见的视频编码方式,...

    opencv + V4L2 进行视频采集显示

    opencv 编译安装opencv + V4L2 进行视频采集显示, linux 下面的 c/c++源码 , ...该资源使用Linux系统中的V4L2接口读取摄像头MJPEG图像数据,解码成RGB数据,再转换为Opencv中的Mat对象所使用的BGR格式。

    基于QT的V4L2摄像头视频采集并显示

    在本文中,我们将深入探讨如何使用QT框架与V4L2(Video for Linux Two)接口进行摄像头视频采集,并实现在GUI应用中显示摄像头图像。V4L2是Linux内核提供的一种API,用于与视频捕获设备(如摄像头)进行交互。QT则是...

    V4L2官方手册PDF文档,0.12版本

    4. **JPEG编码/解码**:除了常见的视频编码格式外,V4L2还支持JPEG编码和解码,常用于图片的处理和传输。 5. **流媒体支持**:V4L2可以与多媒体框架如GStreamer、FFmpeg等协同工作,实现流媒体的捕获和传输。 **...

    V4L2 多平面格式采集(Video Capture Multiplanar)

    在使用V4L2时,有的video设备 Capabilities为Video Capture Multiplanar。此时和Video Capture 格式设备采集所用的应用程序接口有些不同。

    opencv.tar.gz_opencv v4l2_opencv+v4l2参考代码_v4l2_v4l2 opencv_v4l2+

    OpenCV主要用于图像处理和计算机视觉算法的实现,而V4L2是Linux系统中的一个接口,用于支持视频捕获和播放设备。当这两者结合时,可以构建强大的实时视频处理系统。本文将详细阐述OpenCV与V4L2的集成过程、实现选择...

    基于QT的V4L2摄像头视频采集和显示

    基于QT开发的V4L2摄像头视频采集,并使用QLable实现摄像头图像的刷新显示 QT版本:Qt 5.14 在Ubuntu20.04主机上面测试通过,测试使用的摄像头是USB接口,型号:谷客HD98 这个程序在网上其他资源的基础上修改而来的,...

    V4L2学习笔记及图像视频采集基本流程

    V4L2学习笔记及图像视频采集基本流程 V4L2(Video For Linux 2)是一种用于视频采集的Linux API,提供了一个标准化的接口来访问视频设备。下面是V4L2学习笔记及图像视频采集基本流程的知识点总结: 一、基本概念 ...

    基于v4l2视频采集和传输

    - 使用`ioctl`调用来设置v4l2设备的参数,如图像尺寸、像素格式等。 - 通过`mmap`将设备缓冲区映射到进程地址空间,以便直接读取视频帧。 - 用`pthread_create`创建线程,并通过`pthread_join`等待线程结束。 - ...

    v4l2和opencv

    打开视频设备文件,通过视频采集的参数初始化,通过V4L2接口设置视频图像属性。 申请若干视频采集的帧缓存区,并将这些帧缓冲区从内核空间映射到用户空间,便于应用程序读取/处理视频数据。 将申请到的帧缓冲区...

    基于V4L2的视频采集,能够采集YUV,JPEG,BMP格式的图片

    基于V4L2的视频采集,能够采集YUV,JPEG,BMP格式的图片,编译前请先阅读README

Global site tag (gtag.js) - Google Analytics