diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-30 03:08:53 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-30 03:08:53 -0400 |
| commit | 664a41b8a91bf78a01a751e15175e0008977685a (patch) | |
| tree | d9dc15c83400ad2dfb430ff27ae3e7fdc9395856 /include/linux | |
| parent | 983236b5741e557451f3ed4ec5ebf1f62a5b2c15 (diff) | |
| parent | ee2ce3a0b43d14d792d34cf88e7bc2091096744b (diff) | |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (430 commits)
[media] ir-mce_kbd-decoder: include module.h for its facilities
[media] ov5642: include module.h for its facilities
[media] em28xx: Fix DVB-C maxsize for em2884
[media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz
[media] v4l: mt9v032: Fix Bayer pattern
[media] V4L: mt9m111: rewrite set_pixfmt
[media] V4L: mt9m111: fix missing return value check mt9m111_reg_clear
[media] V4L: initial driver for ov5642 CMOS sensor
[media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping fails
[media] V4L: soc-camera: remove soc-camera bus and devices on it
[media] V4L: soc-camera: un-export the soc-camera bus
[media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifier
[media] V4L: add media bus configuration subdev operations
[media] V4L: soc-camera: group struct field initialisations together
[media] V4L: soc-camera: remove now unused soc-camera specific PM hooks
[media] V4L: pxa-camera: switch to using standard PM hooks
[media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module param
[media] Don't OOPS if videobuf_dvb_get_frontend return NULL
[media] NetUP Dual DVB-T/C CI RF: load firmware according card revision
[media] omap3isp: Support configurable HS/VS polarities
...
Fix up conflicts:
- arch/arm/mach-omap2/board-rx51-peripherals.c:
cleanup regulator supply definitions in mach-omap2
vs
OMAP3: RX-51: define vdds_csib regulator supply
- drivers/staging/tm6000/tm6000-alsa.c (trivial)
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/dvb/audio.h | 2 | ||||
| -rw-r--r-- | include/linux/videodev2.h | 254 |
2 files changed, 248 insertions, 8 deletions
diff --git a/include/linux/dvb/audio.h b/include/linux/dvb/audio.h index fec66bd24f22..d47bccd604e4 100644 --- a/include/linux/dvb/audio.h +++ b/include/linux/dvb/audio.h | |||
| @@ -67,7 +67,7 @@ typedef struct audio_status { | |||
| 67 | 67 | ||
| 68 | 68 | ||
| 69 | typedef | 69 | typedef |
| 70 | struct audio_karaoke{ /* if Vocal1 or Vocal2 are non-zero, they get mixed */ | 70 | struct audio_karaoke { /* if Vocal1 or Vocal2 are non-zero, they get mixed */ |
| 71 | int vocal1; /* into left and right t at 70% each */ | 71 | int vocal1; /* into left and right t at 70% each */ |
| 72 | int vocal2; /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/ | 72 | int vocal2; /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/ |
| 73 | int melody; /* mixed into the left channel and */ | 73 | int melody; /* mixed into the left channel and */ |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 8a4c309d2344..fca24cc50436 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
| @@ -376,7 +376,16 @@ struct v4l2_pix_format { | |||
| 376 | #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */ | 376 | #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */ |
| 377 | #define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') /* JFIF JPEG */ | 377 | #define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') /* JFIF JPEG */ |
| 378 | #define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd') /* 1394 */ | 378 | #define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd') /* 1394 */ |
| 379 | #define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 */ | 379 | #define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 Multiplexed */ |
| 380 | #define V4L2_PIX_FMT_H264 v4l2_fourcc('H', '2', '6', '4') /* H264 with start codes */ | ||
| 381 | #define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1') /* H264 without start codes */ | ||
| 382 | #define V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3') /* H263 */ | ||
| 383 | #define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES */ | ||
| 384 | #define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES */ | ||
| 385 | #define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') /* MPEG-4 ES */ | ||
| 386 | #define V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D') /* Xvid */ | ||
| 387 | #define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') /* SMPTE 421M Annex G compliant stream */ | ||
| 388 | #define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */ | ||
| 380 | 389 | ||
| 381 | /* Vendor-specific formats */ | 390 | /* Vendor-specific formats */ |
| 382 | #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */ | 391 | #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */ |
| @@ -402,6 +411,7 @@ struct v4l2_pix_format { | |||
| 402 | #define V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc('C', 'I', 'T', 'V') /* one line of Y then 1 line of VYUY */ | 411 | #define V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc('C', 'I', 'T', 'V') /* one line of Y then 1 line of VYUY */ |
| 403 | #define V4L2_PIX_FMT_KONICA420 v4l2_fourcc('K', 'O', 'N', 'I') /* YUV420 planar in blocks of 256 pixels */ | 412 | #define V4L2_PIX_FMT_KONICA420 v4l2_fourcc('K', 'O', 'N', 'I') /* YUV420 planar in blocks of 256 pixels */ |
| 404 | #define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L') /* JPEG-Lite */ | 413 | #define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L') /* JPEG-Lite */ |
| 414 | #define V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1') /* se401 janggu compressed rgb */ | ||
| 405 | 415 | ||
| 406 | /* | 416 | /* |
| 407 | * F O R M A T E N U M E R A T I O N | 417 | * F O R M A T E N U M E R A T I O N |
| @@ -1026,6 +1036,7 @@ struct v4l2_ext_controls { | |||
| 1026 | #define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ | 1036 | #define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ |
| 1027 | #define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ | 1037 | #define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ |
| 1028 | #define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator control class */ | 1038 | #define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator control class */ |
| 1039 | #define V4L2_CTRL_CLASS_FLASH 0x009c0000 /* Camera flash controls */ | ||
| 1029 | 1040 | ||
| 1030 | #define V4L2_CTRL_ID_MASK (0x0fffffff) | 1041 | #define V4L2_CTRL_ID_MASK (0x0fffffff) |
| 1031 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) | 1042 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) |
| @@ -1039,6 +1050,7 @@ enum v4l2_ctrl_type { | |||
| 1039 | V4L2_CTRL_TYPE_INTEGER64 = 5, | 1050 | V4L2_CTRL_TYPE_INTEGER64 = 5, |
| 1040 | V4L2_CTRL_TYPE_CTRL_CLASS = 6, | 1051 | V4L2_CTRL_TYPE_CTRL_CLASS = 6, |
| 1041 | V4L2_CTRL_TYPE_STRING = 7, | 1052 | V4L2_CTRL_TYPE_STRING = 7, |
| 1053 | V4L2_CTRL_TYPE_BITMASK = 8, | ||
| 1042 | }; | 1054 | }; |
| 1043 | 1055 | ||
| 1044 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ | 1056 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ |
| @@ -1144,14 +1156,19 @@ enum v4l2_colorfx { | |||
| 1144 | #define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37) | 1156 | #define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37) |
| 1145 | #define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38) | 1157 | #define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38) |
| 1146 | 1158 | ||
| 1159 | #define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39) | ||
| 1160 | #define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40) | ||
| 1161 | |||
| 1147 | /* last CID + 1 */ | 1162 | /* last CID + 1 */ |
| 1148 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+39) | 1163 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+41) |
| 1164 | |||
| 1165 | /* Minimum number of buffer neede by the device */ | ||
| 1149 | 1166 | ||
| 1150 | /* MPEG-class control IDs defined by V4L2 */ | 1167 | /* MPEG-class control IDs defined by V4L2 */ |
| 1151 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) | 1168 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) |
| 1152 | #define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1) | 1169 | #define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1) |
| 1153 | 1170 | ||
| 1154 | /* MPEG streams */ | 1171 | /* MPEG streams, specific to multiplexed streams */ |
| 1155 | #define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0) | 1172 | #define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0) |
| 1156 | enum v4l2_mpeg_stream_type { | 1173 | enum v4l2_mpeg_stream_type { |
| 1157 | V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */ | 1174 | V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */ |
| @@ -1173,7 +1190,7 @@ enum v4l2_mpeg_stream_vbi_fmt { | |||
| 1173 | V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */ | 1190 | V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */ |
| 1174 | }; | 1191 | }; |
| 1175 | 1192 | ||
| 1176 | /* MPEG audio */ | 1193 | /* MPEG audio controls specific to multiplexed streams */ |
| 1177 | #define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100) | 1194 | #define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100) |
| 1178 | enum v4l2_mpeg_audio_sampling_freq { | 1195 | enum v4l2_mpeg_audio_sampling_freq { |
| 1179 | V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0, | 1196 | V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0, |
| @@ -1289,7 +1306,7 @@ enum v4l2_mpeg_audio_ac3_bitrate { | |||
| 1289 | V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18, | 1306 | V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18, |
| 1290 | }; | 1307 | }; |
| 1291 | 1308 | ||
| 1292 | /* MPEG video */ | 1309 | /* MPEG video controls specific to multiplexed streams */ |
| 1293 | #define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200) | 1310 | #define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200) |
| 1294 | enum v4l2_mpeg_video_encoding { | 1311 | enum v4l2_mpeg_video_encoding { |
| 1295 | V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0, | 1312 | V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0, |
| @@ -1317,6 +1334,141 @@ enum v4l2_mpeg_video_bitrate_mode { | |||
| 1317 | #define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209) | 1334 | #define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209) |
| 1318 | #define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) | 1335 | #define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) |
| 1319 | #define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) | 1336 | #define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) |
| 1337 | #define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212) | ||
| 1338 | #define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213) | ||
| 1339 | #define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214) | ||
| 1340 | #define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215) | ||
| 1341 | #define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216) | ||
| 1342 | enum v4l2_mpeg_video_header_mode { | ||
| 1343 | V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0, | ||
| 1344 | V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1, | ||
| 1345 | |||
| 1346 | }; | ||
| 1347 | #define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217) | ||
| 1348 | #define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218) | ||
| 1349 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219) | ||
| 1350 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220) | ||
| 1351 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221) | ||
| 1352 | enum v4l2_mpeg_video_multi_slice_mode { | ||
| 1353 | V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0, | ||
| 1354 | V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1, | ||
| 1355 | V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2, | ||
| 1356 | }; | ||
| 1357 | #define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222) | ||
| 1358 | #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) | ||
| 1359 | #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) | ||
| 1360 | #define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302) | ||
| 1361 | #define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303) | ||
| 1362 | #define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304) | ||
| 1363 | #define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350) | ||
| 1364 | #define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351) | ||
| 1365 | #define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352) | ||
| 1366 | #define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353) | ||
| 1367 | #define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354) | ||
| 1368 | #define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355) | ||
| 1369 | #define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356) | ||
| 1370 | #define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357) | ||
| 1371 | enum v4l2_mpeg_video_h264_entropy_mode { | ||
| 1372 | V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0, | ||
| 1373 | V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1, | ||
| 1374 | }; | ||
| 1375 | #define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358) | ||
| 1376 | #define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359) | ||
| 1377 | enum v4l2_mpeg_video_h264_level { | ||
| 1378 | V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0, | ||
| 1379 | V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1, | ||
| 1380 | V4L2_MPEG_VIDEO_H264_LEVEL_1_1 = 2, | ||
| 1381 | V4L2_MPEG_VIDEO_H264_LEVEL_1_2 = 3, | ||
| 1382 | V4L2_MPEG_VIDEO_H264_LEVEL_1_3 = 4, | ||
| 1383 | V4L2_MPEG_VIDEO_H264_LEVEL_2_0 = 5, | ||
| 1384 | V4L2_MPEG_VIDEO_H264_LEVEL_2_1 = 6, | ||
| 1385 | V4L2_MPEG_VIDEO_H264_LEVEL_2_2 = 7, | ||
| 1386 | V4L2_MPEG_VIDEO_H264_LEVEL_3_0 = 8, | ||
| 1387 | V4L2_MPEG_VIDEO_H264_LEVEL_3_1 = 9, | ||
| 1388 | V4L2_MPEG_VIDEO_H264_LEVEL_3_2 = 10, | ||
| 1389 | V4L2_MPEG_VIDEO_H264_LEVEL_4_0 = 11, | ||
| 1390 | V4L2_MPEG_VIDEO_H264_LEVEL_4_1 = 12, | ||
| 1391 | V4L2_MPEG_VIDEO_H264_LEVEL_4_2 = 13, | ||
| 1392 | V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14, | ||
| 1393 | V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15, | ||
| 1394 | }; | ||
| 1395 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360) | ||
| 1396 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361) | ||
| 1397 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362) | ||
| 1398 | enum v4l2_mpeg_video_h264_loop_filter_mode { | ||
| 1399 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0, | ||
| 1400 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1, | ||
| 1401 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2, | ||
| 1402 | }; | ||
| 1403 | #define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363) | ||
| 1404 | enum v4l2_mpeg_video_h264_profile { | ||
| 1405 | V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0, | ||
| 1406 | V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1, | ||
| 1407 | V4L2_MPEG_VIDEO_H264_PROFILE_MAIN = 2, | ||
| 1408 | V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED = 3, | ||
| 1409 | V4L2_MPEG_VIDEO_H264_PROFILE_HIGH = 4, | ||
| 1410 | V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10 = 5, | ||
| 1411 | V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422 = 6, | ||
| 1412 | V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE = 7, | ||
| 1413 | V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA = 8, | ||
| 1414 | V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA = 9, | ||
| 1415 | V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA = 10, | ||
| 1416 | V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA = 11, | ||
| 1417 | V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE = 12, | ||
| 1418 | V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH = 13, | ||
| 1419 | V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA = 14, | ||
| 1420 | V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH = 15, | ||
| 1421 | V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16, | ||
| 1422 | }; | ||
| 1423 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364) | ||
| 1424 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365) | ||
| 1425 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366) | ||
| 1426 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367) | ||
| 1427 | enum v4l2_mpeg_video_h264_vui_sar_idc { | ||
| 1428 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0, | ||
| 1429 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1, | ||
| 1430 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11 = 2, | ||
| 1431 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11 = 3, | ||
| 1432 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11 = 4, | ||
| 1433 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33 = 5, | ||
| 1434 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11 = 6, | ||
| 1435 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11 = 7, | ||
| 1436 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11 = 8, | ||
| 1437 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33 = 9, | ||
| 1438 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11 = 10, | ||
| 1439 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11 = 11, | ||
| 1440 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33 = 12, | ||
| 1441 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99 = 13, | ||
| 1442 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3 = 14, | ||
| 1443 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2 = 15, | ||
| 1444 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16, | ||
| 1445 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17, | ||
| 1446 | }; | ||
| 1447 | #define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400) | ||
| 1448 | #define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401) | ||
| 1449 | #define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402) | ||
| 1450 | #define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403) | ||
| 1451 | #define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404) | ||
| 1452 | #define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405) | ||
| 1453 | enum v4l2_mpeg_video_mpeg4_level { | ||
| 1454 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0, | ||
| 1455 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1, | ||
| 1456 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_1 = 2, | ||
| 1457 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_2 = 3, | ||
| 1458 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_3 = 4, | ||
| 1459 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B = 5, | ||
| 1460 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6, | ||
| 1461 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7, | ||
| 1462 | }; | ||
| 1463 | #define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406) | ||
| 1464 | enum v4l2_mpeg_video_mpeg4_profile { | ||
| 1465 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0, | ||
| 1466 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1, | ||
| 1467 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE = 2, | ||
| 1468 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3, | ||
| 1469 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4, | ||
| 1470 | }; | ||
| 1471 | #define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407) | ||
| 1320 | 1472 | ||
| 1321 | /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ | 1473 | /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ |
| 1322 | #define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) | 1474 | #define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) |
| @@ -1359,6 +1511,33 @@ enum v4l2_mpeg_cx2341x_video_median_filter_type { | |||
| 1359 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) | 1511 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) |
| 1360 | #define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) | 1512 | #define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) |
| 1361 | 1513 | ||
| 1514 | /* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */ | ||
| 1515 | #define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100) | ||
| 1516 | |||
| 1517 | #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0) | ||
| 1518 | #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1) | ||
| 1519 | #define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2) | ||
| 1520 | enum v4l2_mpeg_mfc51_video_frame_skip_mode { | ||
| 1521 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0, | ||
| 1522 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1, | ||
| 1523 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2, | ||
| 1524 | }; | ||
| 1525 | #define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3) | ||
| 1526 | enum v4l2_mpeg_mfc51_video_force_frame_type { | ||
| 1527 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0, | ||
| 1528 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1, | ||
| 1529 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2, | ||
| 1530 | }; | ||
| 1531 | #define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4) | ||
| 1532 | #define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5) | ||
| 1533 | #define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6) | ||
| 1534 | #define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7) | ||
| 1535 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50) | ||
| 1536 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51) | ||
| 1537 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52) | ||
| 1538 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53) | ||
| 1539 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54) | ||
| 1540 | |||
| 1362 | /* Camera class control IDs */ | 1541 | /* Camera class control IDs */ |
| 1363 | #define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) | 1542 | #define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) |
| 1364 | #define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1) | 1543 | #define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1) |
| @@ -1427,6 +1606,41 @@ enum v4l2_preemphasis { | |||
| 1427 | #define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113) | 1606 | #define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113) |
| 1428 | #define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114) | 1607 | #define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114) |
| 1429 | 1608 | ||
| 1609 | /* Flash and privacy (indicator) light controls */ | ||
| 1610 | #define V4L2_CID_FLASH_CLASS_BASE (V4L2_CTRL_CLASS_FLASH | 0x900) | ||
| 1611 | #define V4L2_CID_FLASH_CLASS (V4L2_CTRL_CLASS_FLASH | 1) | ||
| 1612 | |||
| 1613 | #define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1) | ||
| 1614 | enum v4l2_flash_led_mode { | ||
| 1615 | V4L2_FLASH_LED_MODE_NONE, | ||
| 1616 | V4L2_FLASH_LED_MODE_FLASH, | ||
| 1617 | V4L2_FLASH_LED_MODE_TORCH, | ||
| 1618 | }; | ||
| 1619 | |||
| 1620 | #define V4L2_CID_FLASH_STROBE_SOURCE (V4L2_CID_FLASH_CLASS_BASE + 2) | ||
| 1621 | enum v4l2_flash_strobe_source { | ||
| 1622 | V4L2_FLASH_STROBE_SOURCE_SOFTWARE, | ||
| 1623 | V4L2_FLASH_STROBE_SOURCE_EXTERNAL, | ||
| 1624 | }; | ||
| 1625 | |||
| 1626 | #define V4L2_CID_FLASH_STROBE (V4L2_CID_FLASH_CLASS_BASE + 3) | ||
| 1627 | #define V4L2_CID_FLASH_STROBE_STOP (V4L2_CID_FLASH_CLASS_BASE + 4) | ||
| 1628 | #define V4L2_CID_FLASH_STROBE_STATUS (V4L2_CID_FLASH_CLASS_BASE + 5) | ||
| 1629 | |||
| 1630 | #define V4L2_CID_FLASH_TIMEOUT (V4L2_CID_FLASH_CLASS_BASE + 6) | ||
| 1631 | #define V4L2_CID_FLASH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 7) | ||
| 1632 | #define V4L2_CID_FLASH_TORCH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 8) | ||
| 1633 | #define V4L2_CID_FLASH_INDICATOR_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 9) | ||
| 1634 | |||
| 1635 | #define V4L2_CID_FLASH_FAULT (V4L2_CID_FLASH_CLASS_BASE + 10) | ||
| 1636 | #define V4L2_FLASH_FAULT_OVER_VOLTAGE (1 << 0) | ||
| 1637 | #define V4L2_FLASH_FAULT_TIMEOUT (1 << 1) | ||
| 1638 | #define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2) | ||
| 1639 | #define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3) | ||
| 1640 | |||
| 1641 | #define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11) | ||
| 1642 | #define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12) | ||
| 1643 | |||
| 1430 | /* | 1644 | /* |
| 1431 | * T U N I N G | 1645 | * T U N I N G |
| 1432 | */ | 1646 | */ |
| @@ -1791,6 +2005,7 @@ struct v4l2_streamparm { | |||
| 1791 | #define V4L2_EVENT_ALL 0 | 2005 | #define V4L2_EVENT_ALL 0 |
| 1792 | #define V4L2_EVENT_VSYNC 1 | 2006 | #define V4L2_EVENT_VSYNC 1 |
| 1793 | #define V4L2_EVENT_EOS 2 | 2007 | #define V4L2_EVENT_EOS 2 |
| 2008 | #define V4L2_EVENT_CTRL 3 | ||
| 1794 | #define V4L2_EVENT_PRIVATE_START 0x08000000 | 2009 | #define V4L2_EVENT_PRIVATE_START 0x08000000 |
| 1795 | 2010 | ||
| 1796 | /* Payload for V4L2_EVENT_VSYNC */ | 2011 | /* Payload for V4L2_EVENT_VSYNC */ |
| @@ -1799,21 +2014,46 @@ struct v4l2_event_vsync { | |||
| 1799 | __u8 field; | 2014 | __u8 field; |
| 1800 | } __attribute__ ((packed)); | 2015 | } __attribute__ ((packed)); |
| 1801 | 2016 | ||
| 2017 | /* Payload for V4L2_EVENT_CTRL */ | ||
| 2018 | #define V4L2_EVENT_CTRL_CH_VALUE (1 << 0) | ||
| 2019 | #define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1) | ||
| 2020 | |||
| 2021 | struct v4l2_event_ctrl { | ||
| 2022 | __u32 changes; | ||
| 2023 | __u32 type; | ||
| 2024 | union { | ||
| 2025 | __s32 value; | ||
| 2026 | __s64 value64; | ||
| 2027 | }; | ||
| 2028 | __u32 flags; | ||
| 2029 | __s32 minimum; | ||
| 2030 | __s32 maximum; | ||
| 2031 | __s32 step; | ||
| 2032 | __s32 default_value; | ||
| 2033 | }; | ||
| 2034 | |||
| 1802 | struct v4l2_event { | 2035 | struct v4l2_event { |
| 1803 | __u32 type; | 2036 | __u32 type; |
| 1804 | union { | 2037 | union { |
| 1805 | struct v4l2_event_vsync vsync; | 2038 | struct v4l2_event_vsync vsync; |
| 2039 | struct v4l2_event_ctrl ctrl; | ||
| 1806 | __u8 data[64]; | 2040 | __u8 data[64]; |
| 1807 | } u; | 2041 | } u; |
| 1808 | __u32 pending; | 2042 | __u32 pending; |
| 1809 | __u32 sequence; | 2043 | __u32 sequence; |
| 1810 | struct timespec timestamp; | 2044 | struct timespec timestamp; |
| 1811 | __u32 reserved[9]; | 2045 | __u32 id; |
| 2046 | __u32 reserved[8]; | ||
| 1812 | }; | 2047 | }; |
| 1813 | 2048 | ||
| 2049 | #define V4L2_EVENT_SUB_FL_SEND_INITIAL (1 << 0) | ||
| 2050 | #define V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK (1 << 1) | ||
| 2051 | |||
| 1814 | struct v4l2_event_subscription { | 2052 | struct v4l2_event_subscription { |
| 1815 | __u32 type; | 2053 | __u32 type; |
| 1816 | __u32 reserved[7]; | 2054 | __u32 id; |
| 2055 | __u32 flags; | ||
| 2056 | __u32 reserved[5]; | ||
| 1817 | }; | 2057 | }; |
| 1818 | 2058 | ||
| 1819 | /* | 2059 | /* |
