diff options
Diffstat (limited to 'Documentation/DocBook/v4l/videodev2.h.xml')
-rw-r--r-- | Documentation/DocBook/v4l/videodev2.h.xml | 249 |
1 files changed, 214 insertions, 35 deletions
diff --git a/Documentation/DocBook/v4l/videodev2.h.xml b/Documentation/DocBook/v4l/videodev2.h.xml index 865b06d9e679..c50536a4f596 100644 --- a/Documentation/DocBook/v4l/videodev2.h.xml +++ b/Documentation/DocBook/v4l/videodev2.h.xml | |||
@@ -71,6 +71,7 @@ | |||
71 | * Moved from videodev.h | 71 | * Moved from videodev.h |
72 | */ | 72 | */ |
73 | #define VIDEO_MAX_FRAME 32 | 73 | #define VIDEO_MAX_FRAME 32 |
74 | #define VIDEO_MAX_PLANES 8 | ||
74 | 75 | ||
75 | #ifndef __KERNEL__ | 76 | #ifndef __KERNEL__ |
76 | 77 | ||
@@ -154,22 +155,26 @@ enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> { | |||
154 | V4L2_BUF_TYPE_VBI_OUTPUT = 5, | 155 | V4L2_BUF_TYPE_VBI_OUTPUT = 5, |
155 | V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, | 156 | V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, |
156 | V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, | 157 | V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, |
157 | #if 1 /*KEEP*/ | 158 | #if 1 |
158 | /* Experimental */ | 159 | /* Experimental */ |
159 | V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8, | 160 | V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8, |
160 | #endif | 161 | #endif |
162 | V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9, | ||
163 | V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10, | ||
161 | V4L2_BUF_TYPE_PRIVATE = 0x80, | 164 | V4L2_BUF_TYPE_PRIVATE = 0x80, |
162 | }; | 165 | }; |
163 | 166 | ||
164 | enum <link linkend="v4l2-ctrl-type">v4l2_ctrl_type</link> { | 167 | #define V4L2_TYPE_IS_MULTIPLANAR(type) \ |
165 | V4L2_CTRL_TYPE_INTEGER = 1, | 168 | ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \ |
166 | V4L2_CTRL_TYPE_BOOLEAN = 2, | 169 | || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) |
167 | V4L2_CTRL_TYPE_MENU = 3, | 170 | |
168 | V4L2_CTRL_TYPE_BUTTON = 4, | 171 | #define V4L2_TYPE_IS_OUTPUT(type) \ |
169 | V4L2_CTRL_TYPE_INTEGER64 = 5, | 172 | ((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \ |
170 | V4L2_CTRL_TYPE_CTRL_CLASS = 6, | 173 | || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE \ |
171 | V4L2_CTRL_TYPE_STRING = 7, | 174 | || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \ |
172 | }; | 175 | || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \ |
176 | || (type) == V4L2_BUF_TYPE_VBI_OUTPUT \ | ||
177 | || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT) | ||
173 | 178 | ||
174 | enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> { | 179 | enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> { |
175 | V4L2_TUNER_RADIO = 1, | 180 | V4L2_TUNER_RADIO = 1, |
@@ -256,6 +261,11 @@ struct <link linkend="v4l2-capability">v4l2_capability</link> { | |||
256 | #define V4L2_CAP_HW_FREQ_SEEK 0x00000400 /* Can do hardware frequency seek */ | 261 | #define V4L2_CAP_HW_FREQ_SEEK 0x00000400 /* Can do hardware frequency seek */ |
257 | #define V4L2_CAP_RDS_OUTPUT 0x00000800 /* Is an RDS encoder */ | 262 | #define V4L2_CAP_RDS_OUTPUT 0x00000800 /* Is an RDS encoder */ |
258 | 263 | ||
264 | /* Is a video capture device that supports multiplanar formats */ | ||
265 | #define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000 | ||
266 | /* Is a video output device that supports multiplanar formats */ | ||
267 | #define V4L2_CAP_VIDEO_OUTPUT_MPLANE 0x00002000 | ||
268 | |||
259 | #define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ | 269 | #define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ |
260 | #define V4L2_CAP_AUDIO 0x00020000 /* has audio support */ | 270 | #define V4L2_CAP_AUDIO 0x00020000 /* has audio support */ |
261 | #define V4L2_CAP_RADIO 0x00040000 /* is a radio device */ | 271 | #define V4L2_CAP_RADIO 0x00040000 /* is a radio device */ |
@@ -288,6 +298,7 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { | |||
288 | #define <link linkend="V4L2-PIX-FMT-RGB565">V4L2_PIX_FMT_RGB565</link> v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ | 298 | #define <link linkend="V4L2-PIX-FMT-RGB565">V4L2_PIX_FMT_RGB565</link> v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ |
289 | #define <link linkend="V4L2-PIX-FMT-RGB555X">V4L2_PIX_FMT_RGB555X</link> v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ | 299 | #define <link linkend="V4L2-PIX-FMT-RGB555X">V4L2_PIX_FMT_RGB555X</link> v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ |
290 | #define <link linkend="V4L2-PIX-FMT-RGB565X">V4L2_PIX_FMT_RGB565X</link> v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ | 300 | #define <link linkend="V4L2-PIX-FMT-RGB565X">V4L2_PIX_FMT_RGB565X</link> v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ |
301 | #define <link linkend="V4L2-PIX-FMT-BGR666">V4L2_PIX_FMT_BGR666</link> v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */ | ||
291 | #define <link linkend="V4L2-PIX-FMT-BGR24">V4L2_PIX_FMT_BGR24</link> v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ | 302 | #define <link linkend="V4L2-PIX-FMT-BGR24">V4L2_PIX_FMT_BGR24</link> v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ |
292 | #define <link linkend="V4L2-PIX-FMT-RGB24">V4L2_PIX_FMT_RGB24</link> v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */ | 303 | #define <link linkend="V4L2-PIX-FMT-RGB24">V4L2_PIX_FMT_RGB24</link> v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */ |
293 | #define <link linkend="V4L2-PIX-FMT-BGR32">V4L2_PIX_FMT_BGR32</link> v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */ | 304 | #define <link linkend="V4L2-PIX-FMT-BGR32">V4L2_PIX_FMT_BGR32</link> v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */ |
@@ -295,8 +306,14 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { | |||
295 | 306 | ||
296 | /* Grey formats */ | 307 | /* Grey formats */ |
297 | #define <link linkend="V4L2-PIX-FMT-GREY">V4L2_PIX_FMT_GREY</link> v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ | 308 | #define <link linkend="V4L2-PIX-FMT-GREY">V4L2_PIX_FMT_GREY</link> v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ |
309 | #define <link linkend="V4L2-PIX-FMT-Y4">V4L2_PIX_FMT_Y4</link> v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */ | ||
310 | #define <link linkend="V4L2-PIX-FMT-Y6">V4L2_PIX_FMT_Y6</link> v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */ | ||
311 | #define <link linkend="V4L2-PIX-FMT-Y10">V4L2_PIX_FMT_Y10</link> v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */ | ||
298 | #define <link linkend="V4L2-PIX-FMT-Y16">V4L2_PIX_FMT_Y16</link> v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */ | 312 | #define <link linkend="V4L2-PIX-FMT-Y16">V4L2_PIX_FMT_Y16</link> v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */ |
299 | 313 | ||
314 | /* Grey bit-packed formats */ | ||
315 | #define <link linkend="V4L2-PIX-FMT-Y10BPACK">V4L2_PIX_FMT_Y10BPACK</link> v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */ | ||
316 | |||
300 | /* Palette formats */ | 317 | /* Palette formats */ |
301 | #define <link linkend="V4L2-PIX-FMT-PAL8">V4L2_PIX_FMT_PAL8</link> v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ | 318 | #define <link linkend="V4L2-PIX-FMT-PAL8">V4L2_PIX_FMT_PAL8</link> v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ |
302 | 319 | ||
@@ -319,6 +336,7 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { | |||
319 | #define <link linkend="V4L2-PIX-FMT-YUV420">V4L2_PIX_FMT_YUV420</link> v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */ | 336 | #define <link linkend="V4L2-PIX-FMT-YUV420">V4L2_PIX_FMT_YUV420</link> v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */ |
320 | #define <link linkend="V4L2-PIX-FMT-HI240">V4L2_PIX_FMT_HI240</link> v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */ | 337 | #define <link linkend="V4L2-PIX-FMT-HI240">V4L2_PIX_FMT_HI240</link> v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */ |
321 | #define <link linkend="V4L2-PIX-FMT-HM12">V4L2_PIX_FMT_HM12</link> v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */ | 338 | #define <link linkend="V4L2-PIX-FMT-HM12">V4L2_PIX_FMT_HM12</link> v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */ |
339 | #define <link linkend="V4L2-PIX-FMT-M420">V4L2_PIX_FMT_M420</link> v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */ | ||
322 | 340 | ||
323 | /* two planes -- one Y, one Cr + Cb interleaved */ | 341 | /* two planes -- one Y, one Cr + Cb interleaved */ |
324 | #define <link linkend="V4L2-PIX-FMT-NV12">V4L2_PIX_FMT_NV12</link> v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */ | 342 | #define <link linkend="V4L2-PIX-FMT-NV12">V4L2_PIX_FMT_NV12</link> v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */ |
@@ -326,11 +344,22 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { | |||
326 | #define <link linkend="V4L2-PIX-FMT-NV16">V4L2_PIX_FMT_NV16</link> v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */ | 344 | #define <link linkend="V4L2-PIX-FMT-NV16">V4L2_PIX_FMT_NV16</link> v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */ |
327 | #define <link linkend="V4L2-PIX-FMT-NV61">V4L2_PIX_FMT_NV61</link> v4l2_fourcc('N', 'V', '6', '1') /* 16 Y/CrCb 4:2:2 */ | 345 | #define <link linkend="V4L2-PIX-FMT-NV61">V4L2_PIX_FMT_NV61</link> v4l2_fourcc('N', 'V', '6', '1') /* 16 Y/CrCb 4:2:2 */ |
328 | 346 | ||
347 | /* two non contiguous planes - one Y, one Cr + Cb interleaved */ | ||
348 | #define <link linkend="V4L2-PIX-FMT-NV12M">V4L2_PIX_FMT_NV12M</link> v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 */ | ||
349 | #define <link linkend="V4L2-PIX-FMT-NV12MT">V4L2_PIX_FMT_NV12MT</link> v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 macroblocks */ | ||
350 | |||
351 | /* three non contiguous planes - Y, Cb, Cr */ | ||
352 | #define <link linkend="V4L2-PIX-FMT-YUV420M">V4L2_PIX_FMT_YUV420M</link> v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */ | ||
353 | |||
329 | /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ | 354 | /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ |
330 | #define <link linkend="V4L2-PIX-FMT-SBGGR8">V4L2_PIX_FMT_SBGGR8</link> v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */ | 355 | #define <link linkend="V4L2-PIX-FMT-SBGGR8">V4L2_PIX_FMT_SBGGR8</link> v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */ |
331 | #define <link linkend="V4L2-PIX-FMT-SGBRG8">V4L2_PIX_FMT_SGBRG8</link> v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */ | 356 | #define <link linkend="V4L2-PIX-FMT-SGBRG8">V4L2_PIX_FMT_SGBRG8</link> v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */ |
332 | #define <link linkend="V4L2-PIX-FMT-SGRBG8">V4L2_PIX_FMT_SGRBG8</link> v4l2_fourcc('G', 'R', 'B', 'G') /* 8 GRGR.. BGBG.. */ | 357 | #define <link linkend="V4L2-PIX-FMT-SGRBG8">V4L2_PIX_FMT_SGRBG8</link> v4l2_fourcc('G', 'R', 'B', 'G') /* 8 GRGR.. BGBG.. */ |
333 | #define <link linkend="V4L2-PIX-FMT-SGRBG10">V4L2_PIX_FMT_SGRBG10</link> v4l2_fourcc('B', 'A', '1', '0') /* 10bit raw bayer */ | 358 | #define <link linkend="V4L2-PIX-FMT-SRGGB8">V4L2_PIX_FMT_SRGGB8</link> v4l2_fourcc('R', 'G', 'G', 'B') /* 8 RGRG.. GBGB.. */ |
359 | #define <link linkend="V4L2-PIX-FMT-SBGGR10">V4L2_PIX_FMT_SBGGR10</link> v4l2_fourcc('B', 'G', '1', '0') /* 10 BGBG.. GRGR.. */ | ||
360 | #define <link linkend="V4L2-PIX-FMT-SGBRG10">V4L2_PIX_FMT_SGBRG10</link> v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */ | ||
361 | #define <link linkend="V4L2-PIX-FMT-SGRBG10">V4L2_PIX_FMT_SGRBG10</link> v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */ | ||
362 | #define <link linkend="V4L2-PIX-FMT-SRGGB10">V4L2_PIX_FMT_SRGGB10</link> v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */ | ||
334 | /* 10bit raw bayer DPCM compressed to 8 bits */ | 363 | /* 10bit raw bayer DPCM compressed to 8 bits */ |
335 | #define <link linkend="V4L2-PIX-FMT-SGRBG10DPCM8">V4L2_PIX_FMT_SGRBG10DPCM8</link> v4l2_fourcc('B', 'D', '1', '0') | 364 | #define <link linkend="V4L2-PIX-FMT-SGRBG10DPCM8">V4L2_PIX_FMT_SGRBG10DPCM8</link> v4l2_fourcc('B', 'D', '1', '0') |
336 | /* | 365 | /* |
@@ -346,6 +375,7 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { | |||
346 | #define <link linkend="V4L2-PIX-FMT-MPEG">V4L2_PIX_FMT_MPEG</link> v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 */ | 375 | #define <link linkend="V4L2-PIX-FMT-MPEG">V4L2_PIX_FMT_MPEG</link> v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 */ |
347 | 376 | ||
348 | /* Vendor-specific formats */ | 377 | /* Vendor-specific formats */ |
378 | #define <link linkend="V4L2-PIX-FMT-CPIA1">V4L2_PIX_FMT_CPIA1</link> v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */ | ||
349 | #define <link linkend="V4L2-PIX-FMT-WNVA">V4L2_PIX_FMT_WNVA</link> v4l2_fourcc('W', 'N', 'V', 'A') /* Winnov hw compress */ | 379 | #define <link linkend="V4L2-PIX-FMT-WNVA">V4L2_PIX_FMT_WNVA</link> v4l2_fourcc('W', 'N', 'V', 'A') /* Winnov hw compress */ |
350 | #define <link linkend="V4L2-PIX-FMT-SN9C10X">V4L2_PIX_FMT_SN9C10X</link> v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compression */ | 380 | #define <link linkend="V4L2-PIX-FMT-SN9C10X">V4L2_PIX_FMT_SN9C10X</link> v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compression */ |
351 | #define <link linkend="V4L2-PIX-FMT-SN9C20X-I420">V4L2_PIX_FMT_SN9C20X_I420</link> v4l2_fourcc('S', '9', '2', '0') /* SN9C20x YUV 4:2:0 */ | 381 | #define <link linkend="V4L2-PIX-FMT-SN9C20X-I420">V4L2_PIX_FMT_SN9C20X_I420</link> v4l2_fourcc('S', '9', '2', '0') /* SN9C20x YUV 4:2:0 */ |
@@ -358,12 +388,15 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { | |||
358 | #define <link linkend="V4L2-PIX-FMT-SPCA561">V4L2_PIX_FMT_SPCA561</link> v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ | 388 | #define <link linkend="V4L2-PIX-FMT-SPCA561">V4L2_PIX_FMT_SPCA561</link> v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ |
359 | #define <link linkend="V4L2-PIX-FMT-PAC207">V4L2_PIX_FMT_PAC207</link> v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ | 389 | #define <link linkend="V4L2-PIX-FMT-PAC207">V4L2_PIX_FMT_PAC207</link> v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ |
360 | #define <link linkend="V4L2-PIX-FMT-MR97310A">V4L2_PIX_FMT_MR97310A</link> v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */ | 390 | #define <link linkend="V4L2-PIX-FMT-MR97310A">V4L2_PIX_FMT_MR97310A</link> v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */ |
391 | #define <link linkend="V4L2-PIX-FMT-SN9C2028">V4L2_PIX_FMT_SN9C2028</link> v4l2_fourcc('S', 'O', 'N', 'X') /* compressed GBRG bayer */ | ||
361 | #define <link linkend="V4L2-PIX-FMT-SQ905C">V4L2_PIX_FMT_SQ905C</link> v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */ | 392 | #define <link linkend="V4L2-PIX-FMT-SQ905C">V4L2_PIX_FMT_SQ905C</link> v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */ |
362 | #define <link linkend="V4L2-PIX-FMT-PJPG">V4L2_PIX_FMT_PJPG</link> v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */ | 393 | #define <link linkend="V4L2-PIX-FMT-PJPG">V4L2_PIX_FMT_PJPG</link> v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */ |
363 | #define <link linkend="V4L2-PIX-FMT-OV511">V4L2_PIX_FMT_OV511</link> v4l2_fourcc('O', '5', '1', '1') /* ov511 JPEG */ | 394 | #define <link linkend="V4L2-PIX-FMT-OV511">V4L2_PIX_FMT_OV511</link> v4l2_fourcc('O', '5', '1', '1') /* ov511 JPEG */ |
364 | #define <link linkend="V4L2-PIX-FMT-OV518">V4L2_PIX_FMT_OV518</link> v4l2_fourcc('O', '5', '1', '8') /* ov518 JPEG */ | 395 | #define <link linkend="V4L2-PIX-FMT-OV518">V4L2_PIX_FMT_OV518</link> v4l2_fourcc('O', '5', '1', '8') /* ov518 JPEG */ |
365 | #define <link linkend="V4L2-PIX-FMT-TM6000">V4L2_PIX_FMT_TM6000</link> v4l2_fourcc('T', 'M', '6', '0') /* tm5600/tm60x0 */ | ||
366 | #define <link linkend="V4L2-PIX-FMT-STV0680">V4L2_PIX_FMT_STV0680</link> v4l2_fourcc('S', '6', '8', '0') /* stv0680 bayer */ | 396 | #define <link linkend="V4L2-PIX-FMT-STV0680">V4L2_PIX_FMT_STV0680</link> v4l2_fourcc('S', '6', '8', '0') /* stv0680 bayer */ |
397 | #define <link linkend="V4L2-PIX-FMT-TM6000">V4L2_PIX_FMT_TM6000</link> v4l2_fourcc('T', 'M', '6', '0') /* tm5600/tm60x0 */ | ||
398 | #define <link linkend="V4L2-PIX-FMT-CIT-YYVYUY">V4L2_PIX_FMT_CIT_YYVYUY</link> v4l2_fourcc('C', 'I', 'T', 'V') /* one line of Y then 1 line of VYUY */ | ||
399 | #define <link linkend="V4L2-PIX-FMT-KONICA420">V4L2_PIX_FMT_KONICA420</link> v4l2_fourcc('K', 'O', 'N', 'I') /* YUV420 planar in blocks of 256 pixels */ | ||
367 | 400 | ||
368 | /* | 401 | /* |
369 | * F O R M A T E N U M E R A T I O N | 402 | * F O R M A T E N U M E R A T I O N |
@@ -380,7 +413,7 @@ struct <link linkend="v4l2-fmtdesc">v4l2_fmtdesc</link> { | |||
380 | #define V4L2_FMT_FLAG_COMPRESSED 0x0001 | 413 | #define V4L2_FMT_FLAG_COMPRESSED 0x0001 |
381 | #define V4L2_FMT_FLAG_EMULATED 0x0002 | 414 | #define V4L2_FMT_FLAG_EMULATED 0x0002 |
382 | 415 | ||
383 | #if 1 /*KEEP*/ | 416 | #if 1 |
384 | /* Experimental Frame Size and frame rate enumeration */ | 417 | /* Experimental Frame Size and frame rate enumeration */ |
385 | /* | 418 | /* |
386 | * F R A M E S I Z E E N U M E R A T I O N | 419 | * F R A M E S I Z E E N U M E R A T I O N |
@@ -516,6 +549,62 @@ struct <link linkend="v4l2-requestbuffers">v4l2_requestbuffers</link> { | |||
516 | __u32 reserved[2]; | 549 | __u32 reserved[2]; |
517 | }; | 550 | }; |
518 | 551 | ||
552 | /** | ||
553 | * struct <link linkend="v4l2-plane">v4l2_plane</link> - plane info for multi-planar buffers | ||
554 | * @bytesused: number of bytes occupied by data in the plane (payload) | ||
555 | * @length: size of this plane (NOT the payload) in bytes | ||
556 | * @mem_offset: when memory in the associated struct <link linkend="v4l2-buffer">v4l2_buffer</link> is | ||
557 | * V4L2_MEMORY_MMAP, equals the offset from the start of | ||
558 | * the device memory for this plane (or is a "cookie" that | ||
559 | * should be passed to mmap() called on the video node) | ||
560 | * @userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer | ||
561 | * pointing to this plane | ||
562 | * @data_offset: offset in the plane to the start of data; usually 0, | ||
563 | * unless there is a header in front of the data | ||
564 | * | ||
565 | * Multi-planar buffers consist of one or more planes, e.g. an YCbCr buffer | ||
566 | * with two planes can have one plane for Y, and another for interleaved CbCr | ||
567 | * components. Each plane can reside in a separate memory buffer, or even in | ||
568 | * a completely separate memory node (e.g. in embedded devices). | ||
569 | */ | ||
570 | struct <link linkend="v4l2-plane">v4l2_plane</link> { | ||
571 | __u32 bytesused; | ||
572 | __u32 length; | ||
573 | union { | ||
574 | __u32 mem_offset; | ||
575 | unsigned long userptr; | ||
576 | } m; | ||
577 | __u32 data_offset; | ||
578 | __u32 reserved[11]; | ||
579 | }; | ||
580 | |||
581 | /** | ||
582 | * struct <link linkend="v4l2-buffer">v4l2_buffer</link> - video buffer info | ||
583 | * @index: id number of the buffer | ||
584 | * @type: buffer type (type == *_MPLANE for multiplanar buffers) | ||
585 | * @bytesused: number of bytes occupied by data in the buffer (payload); | ||
586 | * unused (set to 0) for multiplanar buffers | ||
587 | * @flags: buffer informational flags | ||
588 | * @field: field order of the image in the buffer | ||
589 | * @timestamp: frame timestamp | ||
590 | * @timecode: frame timecode | ||
591 | * @sequence: sequence count of this frame | ||
592 | * @memory: the method, in which the actual video data is passed | ||
593 | * @offset: for non-multiplanar buffers with memory == V4L2_MEMORY_MMAP; | ||
594 | * offset from the start of the device memory for this plane, | ||
595 | * (or a "cookie" that should be passed to mmap() as offset) | ||
596 | * @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR; | ||
597 | * a userspace pointer pointing to this buffer | ||
598 | * @planes: for multiplanar buffers; userspace pointer to the array of plane | ||
599 | * info structs for this buffer | ||
600 | * @length: size in bytes of the buffer (NOT its payload) for single-plane | ||
601 | * buffers (when type != *_MPLANE); number of elements in the | ||
602 | * planes array for multi-plane buffers | ||
603 | * @input: input number from which the video data has has been captured | ||
604 | * | ||
605 | * Contains data exchanged by application and driver using one of the Streaming | ||
606 | * I/O methods. | ||
607 | */ | ||
519 | struct <link linkend="v4l2-buffer">v4l2_buffer</link> { | 608 | struct <link linkend="v4l2-buffer">v4l2_buffer</link> { |
520 | __u32 index; | 609 | __u32 index; |
521 | enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; | 610 | enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; |
@@ -531,6 +620,7 @@ struct <link linkend="v4l2-buffer">v4l2_buffer</link> { | |||
531 | union { | 620 | union { |
532 | __u32 offset; | 621 | __u32 offset; |
533 | unsigned long userptr; | 622 | unsigned long userptr; |
623 | struct <link linkend="v4l2-plane">v4l2_plane</link> *planes; | ||
534 | } m; | 624 | } m; |
535 | __u32 length; | 625 | __u32 length; |
536 | __u32 input; | 626 | __u32 input; |
@@ -544,6 +634,8 @@ struct <link linkend="v4l2-buffer">v4l2_buffer</link> { | |||
544 | #define V4L2_BUF_FLAG_KEYFRAME 0x0008 /* Image is a keyframe (I-frame) */ | 634 | #define V4L2_BUF_FLAG_KEYFRAME 0x0008 /* Image is a keyframe (I-frame) */ |
545 | #define V4L2_BUF_FLAG_PFRAME 0x0010 /* Image is a P-frame */ | 635 | #define V4L2_BUF_FLAG_PFRAME 0x0010 /* Image is a P-frame */ |
546 | #define V4L2_BUF_FLAG_BFRAME 0x0020 /* Image is a B-frame */ | 636 | #define V4L2_BUF_FLAG_BFRAME 0x0020 /* Image is a B-frame */ |
637 | /* Buffer is ready, but the data contained within is corrupted. */ | ||
638 | #define V4L2_BUF_FLAG_ERROR 0x0040 | ||
547 | #define V4L2_BUF_FLAG_TIMECODE 0x0100 /* timecode field is valid */ | 639 | #define V4L2_BUF_FLAG_TIMECODE 0x0100 /* timecode field is valid */ |
548 | #define V4L2_BUF_FLAG_INPUT 0x0200 /* input field is valid */ | 640 | #define V4L2_BUF_FLAG_INPUT 0x0200 /* input field is valid */ |
549 | 641 | ||
@@ -934,6 +1026,16 @@ struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link> { | |||
934 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) | 1026 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) |
935 | #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000) | 1027 | #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000) |
936 | 1028 | ||
1029 | enum <link linkend="v4l2-ctrl-type">v4l2_ctrl_type</link> { | ||
1030 | V4L2_CTRL_TYPE_INTEGER = 1, | ||
1031 | V4L2_CTRL_TYPE_BOOLEAN = 2, | ||
1032 | V4L2_CTRL_TYPE_MENU = 3, | ||
1033 | V4L2_CTRL_TYPE_BUTTON = 4, | ||
1034 | V4L2_CTRL_TYPE_INTEGER64 = 5, | ||
1035 | V4L2_CTRL_TYPE_CTRL_CLASS = 6, | ||
1036 | V4L2_CTRL_TYPE_STRING = 7, | ||
1037 | }; | ||
1038 | |||
937 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ | 1039 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ |
938 | struct <link linkend="v4l2-queryctrl">v4l2_queryctrl</link> { | 1040 | struct <link linkend="v4l2-queryctrl">v4l2_queryctrl</link> { |
939 | __u32 id; | 1041 | __u32 id; |
@@ -1018,21 +1120,27 @@ enum <link linkend="v4l2-colorfx">v4l2_colorfx</link> { | |||
1018 | V4L2_COLORFX_NONE = 0, | 1120 | V4L2_COLORFX_NONE = 0, |
1019 | V4L2_COLORFX_BW = 1, | 1121 | V4L2_COLORFX_BW = 1, |
1020 | V4L2_COLORFX_SEPIA = 2, | 1122 | V4L2_COLORFX_SEPIA = 2, |
1021 | V4L2_COLORFX_NEGATIVE = 3, | 1123 | V4L2_COLORFX_NEGATIVE = 3, |
1022 | V4L2_COLORFX_EMBOSS = 4, | 1124 | V4L2_COLORFX_EMBOSS = 4, |
1023 | V4L2_COLORFX_SKETCH = 5, | 1125 | V4L2_COLORFX_SKETCH = 5, |
1024 | V4L2_COLORFX_SKY_BLUE = 6, | 1126 | V4L2_COLORFX_SKY_BLUE = 6, |
1025 | V4L2_COLORFX_GRASS_GREEN = 7, | 1127 | V4L2_COLORFX_GRASS_GREEN = 7, |
1026 | V4L2_COLORFX_SKIN_WHITEN = 8, | 1128 | V4L2_COLORFX_SKIN_WHITEN = 8, |
1027 | V4L2_COLORFX_VIVID = 9. | 1129 | V4L2_COLORFX_VIVID = 9, |
1028 | }; | 1130 | }; |
1029 | #define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32) | 1131 | #define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32) |
1030 | #define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33) | 1132 | #define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33) |
1031 | 1133 | ||
1032 | #define V4L2_CID_ROTATE (V4L2_CID_BASE+34) | 1134 | #define V4L2_CID_ROTATE (V4L2_CID_BASE+34) |
1033 | #define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35) | 1135 | #define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35) |
1136 | |||
1137 | #define V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36) | ||
1138 | |||
1139 | #define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37) | ||
1140 | #define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38) | ||
1141 | |||
1034 | /* last CID + 1 */ | 1142 | /* last CID + 1 */ |
1035 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+36) | 1143 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+39) |
1036 | 1144 | ||
1037 | /* MPEG-class control IDs defined by V4L2 */ | 1145 | /* MPEG-class control IDs defined by V4L2 */ |
1038 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) | 1146 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) |
@@ -1349,6 +1457,8 @@ struct <link linkend="v4l2-modulator">v4l2_modulator</link> { | |||
1349 | #define V4L2_TUNER_CAP_SAP 0x0020 | 1457 | #define V4L2_TUNER_CAP_SAP 0x0020 |
1350 | #define V4L2_TUNER_CAP_LANG1 0x0040 | 1458 | #define V4L2_TUNER_CAP_LANG1 0x0040 |
1351 | #define V4L2_TUNER_CAP_RDS 0x0080 | 1459 | #define V4L2_TUNER_CAP_RDS 0x0080 |
1460 | #define V4L2_TUNER_CAP_RDS_BLOCK_IO 0x0100 | ||
1461 | #define V4L2_TUNER_CAP_RDS_CONTROLS 0x0200 | ||
1352 | 1462 | ||
1353 | /* Flags for the 'rxsubchans' field */ | 1463 | /* Flags for the 'rxsubchans' field */ |
1354 | #define V4L2_TUNER_SUB_MONO 0x0001 | 1464 | #define V4L2_TUNER_SUB_MONO 0x0001 |
@@ -1378,7 +1488,8 @@ struct <link linkend="v4l2-hw-freq-seek">v4l2_hw_freq_seek</link> { | |||
1378 | enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type; | 1488 | enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type; |
1379 | __u32 seek_upward; | 1489 | __u32 seek_upward; |
1380 | __u32 wrap_around; | 1490 | __u32 wrap_around; |
1381 | __u32 reserved[8]; | 1491 | __u32 spacing; |
1492 | __u32 reserved[7]; | ||
1382 | }; | 1493 | }; |
1383 | 1494 | ||
1384 | /* | 1495 | /* |
@@ -1433,7 +1544,7 @@ struct <link linkend="v4l2-audioout">v4l2_audioout</link> { | |||
1433 | * | 1544 | * |
1434 | * NOTE: EXPERIMENTAL API | 1545 | * NOTE: EXPERIMENTAL API |
1435 | */ | 1546 | */ |
1436 | #if 1 /*KEEP*/ | 1547 | #if 1 |
1437 | #define V4L2_ENC_IDX_FRAME_I (0) | 1548 | #define V4L2_ENC_IDX_FRAME_I (0) |
1438 | #define V4L2_ENC_IDX_FRAME_P (1) | 1549 | #define V4L2_ENC_IDX_FRAME_P (1) |
1439 | #define V4L2_ENC_IDX_FRAME_B (2) | 1550 | #define V4L2_ENC_IDX_FRAME_B (2) |
@@ -1600,12 +1711,56 @@ struct <link linkend="v4l2-mpeg-vbi-fmt-ivtv">v4l2_mpeg_vbi_fmt_ivtv</link> { | |||
1600 | * A G G R E G A T E S T R U C T U R E S | 1711 | * A G G R E G A T E S T R U C T U R E S |
1601 | */ | 1712 | */ |
1602 | 1713 | ||
1603 | /* Stream data format | 1714 | /** |
1715 | * struct <link linkend="v4l2-plane-pix-format">v4l2_plane_pix_format</link> - additional, per-plane format definition | ||
1716 | * @sizeimage: maximum size in bytes required for data, for which | ||
1717 | * this plane will be used | ||
1718 | * @bytesperline: distance in bytes between the leftmost pixels in two | ||
1719 | * adjacent lines | ||
1720 | */ | ||
1721 | struct <link linkend="v4l2-plane-pix-format">v4l2_plane_pix_format</link> { | ||
1722 | __u32 sizeimage; | ||
1723 | __u16 bytesperline; | ||
1724 | __u16 reserved[7]; | ||
1725 | } __attribute__ ((packed)); | ||
1726 | |||
1727 | /** | ||
1728 | * struct <link linkend="v4l2-pix-format-mplane">v4l2_pix_format_mplane</link> - multiplanar format definition | ||
1729 | * @width: image width in pixels | ||
1730 | * @height: image height in pixels | ||
1731 | * @pixelformat: little endian four character code (fourcc) | ||
1732 | * @field: field order (for interlaced video) | ||
1733 | * @colorspace: supplemental to pixelformat | ||
1734 | * @plane_fmt: per-plane information | ||
1735 | * @num_planes: number of planes for this format | ||
1736 | */ | ||
1737 | struct <link linkend="v4l2-pix-format-mplane">v4l2_pix_format_mplane</link> { | ||
1738 | __u32 width; | ||
1739 | __u32 height; | ||
1740 | __u32 pixelformat; | ||
1741 | enum <link linkend="v4l2-field">v4l2_field</link> field; | ||
1742 | enum <link linkend="v4l2-colorspace">v4l2_colorspace</link> colorspace; | ||
1743 | |||
1744 | struct <link linkend="v4l2-plane-pix-format">v4l2_plane_pix_format</link> plane_fmt[VIDEO_MAX_PLANES]; | ||
1745 | __u8 num_planes; | ||
1746 | __u8 reserved[11]; | ||
1747 | } __attribute__ ((packed)); | ||
1748 | |||
1749 | /** | ||
1750 | * struct <link linkend="v4l2-format">v4l2_format</link> - stream data format | ||
1751 | * @type: type of the data stream | ||
1752 | * @pix: definition of an image format | ||
1753 | * @pix_mp: definition of a multiplanar image format | ||
1754 | * @win: definition of an overlaid image | ||
1755 | * @vbi: raw VBI capture or output parameters | ||
1756 | * @sliced: sliced VBI capture or output parameters | ||
1757 | * @raw_data: placeholder for future extensions and custom formats | ||
1604 | */ | 1758 | */ |
1605 | struct <link linkend="v4l2-format">v4l2_format</link> { | 1759 | struct <link linkend="v4l2-format">v4l2_format</link> { |
1606 | enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; | 1760 | enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; |
1607 | union { | 1761 | union { |
1608 | struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> pix; /* V4L2_BUF_TYPE_VIDEO_CAPTURE */ | 1762 | struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> pix; /* V4L2_BUF_TYPE_VIDEO_CAPTURE */ |
1763 | struct <link linkend="v4l2-pix-format-mplane">v4l2_pix_format_mplane</link> pix_mp; /* V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE */ | ||
1609 | struct <link linkend="v4l2-window">v4l2_window</link> win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */ | 1764 | struct <link linkend="v4l2-window">v4l2_window</link> win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */ |
1610 | struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */ | 1765 | struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */ |
1611 | struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */ | 1766 | struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */ |
@@ -1613,7 +1768,6 @@ struct <link linkend="v4l2-format">v4l2_format</link> { | |||
1613 | } fmt; | 1768 | } fmt; |
1614 | }; | 1769 | }; |
1615 | 1770 | ||
1616 | |||
1617 | /* Stream type-dependent parameters | 1771 | /* Stream type-dependent parameters |
1618 | */ | 1772 | */ |
1619 | struct <link linkend="v4l2-streamparm">v4l2_streamparm</link> { | 1773 | struct <link linkend="v4l2-streamparm">v4l2_streamparm</link> { |
@@ -1626,6 +1780,38 @@ struct <link linkend="v4l2-streamparm">v4l2_streamparm</link> { | |||
1626 | }; | 1780 | }; |
1627 | 1781 | ||
1628 | /* | 1782 | /* |
1783 | * E V E N T S | ||
1784 | */ | ||
1785 | |||
1786 | #define V4L2_EVENT_ALL 0 | ||
1787 | #define V4L2_EVENT_VSYNC 1 | ||
1788 | #define V4L2_EVENT_EOS 2 | ||
1789 | #define V4L2_EVENT_PRIVATE_START 0x08000000 | ||
1790 | |||
1791 | /* Payload for V4L2_EVENT_VSYNC */ | ||
1792 | struct <link linkend="v4l2-event-vsync">v4l2_event_vsync</link> { | ||
1793 | /* Can be V4L2_FIELD_ANY, _NONE, _TOP or _BOTTOM */ | ||
1794 | __u8 field; | ||
1795 | } __attribute__ ((packed)); | ||
1796 | |||
1797 | struct <link linkend="v4l2-event">v4l2_event</link> { | ||
1798 | __u32 type; | ||
1799 | union { | ||
1800 | struct <link linkend="v4l2-event-vsync">v4l2_event_vsync</link> vsync; | ||
1801 | __u8 data[64]; | ||
1802 | } u; | ||
1803 | __u32 pending; | ||
1804 | __u32 sequence; | ||
1805 | struct timespec timestamp; | ||
1806 | __u32 reserved[9]; | ||
1807 | }; | ||
1808 | |||
1809 | struct <link linkend="v4l2-event-subscription">v4l2_event_subscription</link> { | ||
1810 | __u32 type; | ||
1811 | __u32 reserved[7]; | ||
1812 | }; | ||
1813 | |||
1814 | /* | ||
1629 | * A D V A N C E D D E B U G G I N G | 1815 | * A D V A N C E D D E B U G G I N G |
1630 | * | 1816 | * |
1631 | * NOTE: EXPERIMENTAL API, NEVER RELY ON THIS IN APPLICATIONS! | 1817 | * NOTE: EXPERIMENTAL API, NEVER RELY ON THIS IN APPLICATIONS! |
@@ -1720,7 +1906,7 @@ struct <link linkend="v4l2-dbg-chip-ident">v4l2_dbg_chip_ident</link> { | |||
1720 | #define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>) | 1906 | #define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>) |
1721 | #define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>) | 1907 | #define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>) |
1722 | #define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>) | 1908 | #define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>) |
1723 | #if 1 /*KEEP*/ | 1909 | #if 1 |
1724 | #define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct <link linkend="v4l2-frmsizeenum">v4l2_frmsizeenum</link>) | 1910 | #define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct <link linkend="v4l2-frmsizeenum">v4l2_frmsizeenum</link>) |
1725 | #define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct <link linkend="v4l2-frmivalenum">v4l2_frmivalenum</link>) | 1911 | #define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct <link linkend="v4l2-frmivalenum">v4l2_frmivalenum</link>) |
1726 | #define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct <link linkend="v4l2-enc-idx">v4l2_enc_idx</link>) | 1912 | #define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct <link linkend="v4l2-enc-idx">v4l2_enc_idx</link>) |
@@ -1728,7 +1914,7 @@ struct <link linkend="v4l2-dbg-chip-ident">v4l2_dbg_chip_ident</link> { | |||
1728 | #define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct <link linkend="v4l2-encoder-cmd">v4l2_encoder_cmd</link>) | 1914 | #define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct <link linkend="v4l2-encoder-cmd">v4l2_encoder_cmd</link>) |
1729 | #endif | 1915 | #endif |
1730 | 1916 | ||
1731 | #if 1 /*KEEP*/ | 1917 | #if 1 |
1732 | /* Experimental, meant for debugging, testing and internal use. | 1918 | /* Experimental, meant for debugging, testing and internal use. |
1733 | Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined. | 1919 | Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined. |
1734 | You must be root to use these ioctls. Never use these in applications! */ | 1920 | You must be root to use these ioctls. Never use these in applications! */ |
@@ -1747,20 +1933,13 @@ struct <link linkend="v4l2-dbg-chip-ident">v4l2_dbg_chip_ident</link> { | |||
1747 | #define VIDIOC_QUERY_DV_PRESET _IOR('V', 86, struct <link linkend="v4l2-dv-preset">v4l2_dv_preset</link>) | 1933 | #define VIDIOC_QUERY_DV_PRESET _IOR('V', 86, struct <link linkend="v4l2-dv-preset">v4l2_dv_preset</link>) |
1748 | #define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct <link linkend="v4l2-dv-timings">v4l2_dv_timings</link>) | 1934 | #define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct <link linkend="v4l2-dv-timings">v4l2_dv_timings</link>) |
1749 | #define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct <link linkend="v4l2-dv-timings">v4l2_dv_timings</link>) | 1935 | #define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct <link linkend="v4l2-dv-timings">v4l2_dv_timings</link>) |
1936 | #define VIDIOC_DQEVENT _IOR('V', 89, struct <link linkend="v4l2-event">v4l2_event</link>) | ||
1937 | #define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct <link linkend="v4l2-event-subscription">v4l2_event_subscription</link>) | ||
1938 | #define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct <link linkend="v4l2-event-subscription">v4l2_event_subscription</link>) | ||
1750 | 1939 | ||
1751 | /* Reminder: when adding new ioctls please add support for them to | 1940 | /* Reminder: when adding new ioctls please add support for them to |
1752 | drivers/media/video/v4l2-compat-ioctl32.c as well! */ | 1941 | drivers/media/video/v4l2-compat-ioctl32.c as well! */ |
1753 | 1942 | ||
1754 | #ifdef __OLD_VIDIOC_ | ||
1755 | /* for compatibility, will go away some day */ | ||
1756 | #define VIDIOC_OVERLAY_OLD _IOWR('V', 14, int) | ||
1757 | #define VIDIOC_S_PARM_OLD _IOW('V', 22, struct <link linkend="v4l2-streamparm">v4l2_streamparm</link>) | ||
1758 | #define VIDIOC_S_CTRL_OLD _IOW('V', 28, struct <link linkend="v4l2-control">v4l2_control</link>) | ||
1759 | #define VIDIOC_G_AUDIO_OLD _IOWR('V', 33, struct <link linkend="v4l2-audio">v4l2_audio</link>) | ||
1760 | #define VIDIOC_G_AUDOUT_OLD _IOWR('V', 49, struct <link linkend="v4l2-audioout">v4l2_audioout</link>) | ||
1761 | #define VIDIOC_CROPCAP_OLD _IOR('V', 58, struct <link linkend="v4l2-cropcap">v4l2_cropcap</link>) | ||
1762 | #endif | ||
1763 | |||
1764 | #define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */ | 1943 | #define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */ |
1765 | 1944 | ||
1766 | #endif /* __LINUX_VIDEODEV2_H */ | 1945 | #endif /* __LINUX_VIDEODEV2_H */ |