This repository has been archived by the owner on Nov 30, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathv4l2_formats.h
144 lines (107 loc) · 4.49 KB
/
v4l2_formats.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/*
libcamera: An implementation of the library required by Android OS 3.2 so
it can access V4L2 devices as cameras.
(C) 2011 Eduardo José Tagle <[email protected]>
Based on several packages:
- luvcview: Sdl video Usb Video Class grabber
(C) 2005,2006,2007 Laurent Pinchart && Michel Xhaard
- spcaview
(C) 2003,2004,2005,2006 Michel Xhaard
- JPEG decoder from http://www.bootsplash.org/
(C) August 2001 by Michael Schroeder, <[email protected]>
- libcamera V4L for Android 2.2
(C) 2009 0xlab.org - http://0xlab.org/
(C) 2010 SpectraCore Technologies
Author: Venkat Raju <[email protected]>
Based on a code from http://code.google.com/p/android-m912/downloads/detail?name=v4l2_camera_v2.patch
- guvcview: http://guvcview.berlios.de
Paulo Assis <[email protected]>
Nobuhiro Iwamatsu <[email protected]>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef V4L2_FORMATS_H
#define V4L2_FORMATS_H
#include "uvc_compat.h"
/* (Patch) define all supported formats - already done in videodev2.h*/
#ifndef V4L2_PIX_FMT_MJPEG
#define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* MJPEG stream */
#endif
#ifndef V4L2_PIX_FMT_JPEG
#define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') /* JPEG stream */
#endif
#ifndef V4L2_PIX_FMT_YUYV
#define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y','U','Y','V') /* YUV 4:2:2 */
#endif
#ifndef V4L2_PIX_FMT_YVYU
#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y','V','Y','U') /* YUV 4:2:2 */
#endif
#ifndef V4L2_PIX_FMT_UYVY
#define V4L2_PIX_FMT_UYVY v4l2_fourcc('U','Y','V','Y') /* YUV 4:2:2 */
#endif
#ifndef V4L2_PIX_FMT_YYUV
#define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y','Y','U','V') /* YUV 4:2:2 */
#endif
#ifndef V4L2_PIX_FMT_YUV420
#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y','U','1','2') /* YUV 4:2:0 Planar */
#endif
#ifndef V4L2_PIX_FMT_YVU420
#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y','V','1','2') /* YUV 4:2:0 Planar */
#endif
#ifndef V4L2_PIX_FMT_NV12
#define V4L2_PIX_FMT_NV12 v4l2_fourcc('N','V','1','2') /* YUV 4:2:0 Planar (u/v) interleaved */
#endif
#ifndef V4L2_PIX_FMT_NV21
#define V4L2_PIX_FMT_NV21 v4l2_fourcc('N','V','2','1') /* YUV 4:2:0 Planar (v/u) interleaved */
#endif
#ifndef V4L2_PIX_FMT_NV16
#define V4L2_PIX_FMT_NV16 v4l2_fourcc('N','V','1','6') /* YUV 4:2:2 Planar (u/v) interleaved */
#endif
#ifndef V4L2_PIX_FMT_NV61
#define V4L2_PIX_FMT_NV61 v4l2_fourcc('N','V','6','1') /* YUV 4:2:2 Planar (v/u) interleaved */
#endif
#ifndef V4L2_PIX_FMT_Y41P
#define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y','4','1','P') /* YUV 4:1:1 */
#endif
#ifndef V4L2_PIX_FMT_GREY
#define V4L2_PIX_FMT_GREY v4l2_fourcc('G','R','E','Y') /* Y only */
#endif
#ifndef V4L2_PIX_FMT_Y16
#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y','1','6',' ') /* Y only (16 bit) */
#endif
#ifndef V4L2_PIX_FMT_SPCA501
#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S','5','0','1') /* YUYV - by line */
#endif
#ifndef V4L2_PIX_FMT_SPCA505
#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S','5','0','5') /* YYUV - by line */
#endif
#ifndef V4L2_PIX_FMT_SPCA508
#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S','5','0','8') /* YUVY - by line */
#endif
#ifndef V4L2_PIX_FMT_SGBRG8
#define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G') /* GBGB.. RGRG.. */
#endif
#ifndef V4L2_PIX_FMT_SGRBG8
#define V4L2_PIX_FMT_SGRBG8 v4l2_fourcc('G', 'R', 'B', 'G') /* GRGR.. BGBG.. */
#endif
#ifndef V4L2_PIX_FMT_SBGGR8
#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* BGBG.. GRGR.. */
#endif
#ifndef V4L2_PIX_FMT_SRGGB8
#define V4L2_PIX_FMT_SRGGB8 v4l2_fourcc('R', 'G', 'G', 'B') /* RGRG.. GBGB.. */
#endif
#ifndef V4L2_PIX_FMT_BGR24
#define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */
#endif
#ifndef V4L2_PIX_FMT_RGB24
#define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */
#endif
#endif