From 71fec8b70c3662db3e3afa2f05e0558ac17b6f44 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Mon, 25 Mar 2013 18:09:57 +0100 Subject: [PATCH] v4l-utils: sync with kernel, remove all references to the DV_PRESET API. The DV_PRESET API has been removed from the kernel, so remove all references to that API. It has been superceded by the DV TIMINGS API. Signed-off-by: Hans Verkuil --- contrib/freebsd/include/linux/v4l2-controls.h | 1 + contrib/freebsd/include/linux/videodev2.h | 54 -------- contrib/freebsd/include/media/v4l2-chip-ident.h | 3 + contrib/test/ioctl-test.h | 6 - contrib/test/ioctl_32.h | 4 - contrib/test/ioctl_64.h | 4 - include/linux/v4l2-controls.h | 1 + include/linux/videodev2.h | 54 -------- include/media/v4l2-chip-ident.h | 3 + lib/libv4l2/libv4l2.c | 2 - lib/libv4l2/log.c | 4 - utils/keytable/rc_maps.cfg | 162 ++++++++++++------------ utils/qv4l2/general-tab.cpp | 80 ------------ utils/qv4l2/general-tab.h | 6 - utils/qv4l2/v4l2-api.cpp | 36 ------ utils/qv4l2/v4l2-api.h | 4 - utils/v4l2-compliance/v4l2-compliance.cpp | 1 - utils/v4l2-compliance/v4l2-compliance.h | 1 - utils/v4l2-compliance/v4l2-test-io-config.cpp | 105 --------------- utils/v4l2-ctl/v4l2-ctl-io.cpp | 6 +- utils/v4l2-ctl/v4l2-ctl-stds.cpp | 53 +------- utils/v4l2-ctl/v4l2-ctl.cpp | 5 - utils/v4l2-ctl/v4l2-ctl.h | 4 - utils/v4l2-dbg/v4l2-chipids.cpp | 1 + 24 files changed, 95 insertions(+), 505 deletions(-) diff --git a/contrib/freebsd/include/linux/v4l2-controls.h b/contrib/freebsd/include/linux/v4l2-controls.h index 7eab0b9..844dc02 100644 --- a/contrib/freebsd/include/linux/v4l2-controls.h +++ b/contrib/freebsd/include/linux/v4l2-controls.h @@ -360,6 +360,7 @@ enum v4l2_mpeg_video_multi_slice_mode { #define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223) #define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224) #define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225) +#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226) #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) diff --git a/contrib/freebsd/include/linux/videodev2.h b/contrib/freebsd/include/linux/videodev2.h index 562f71b..220ea0c 100644 --- a/contrib/freebsd/include/linux/videodev2.h +++ b/contrib/freebsd/include/linux/videodev2.h @@ -1015,52 +1015,6 @@ struct v4l2_standard { uint32_t reserved[4]; }; -/* The DV Preset API is deprecated in favor of the DV Timings API. - New drivers shouldn't use this anymore! */ - -/* - * V I D E O T I M I N G S D V P R E S E T - */ -struct v4l2_dv_preset { - uint32_t preset; - uint32_t reserved[4]; -}; - -/* - * D V P R E S E T S E N U M E R A T I O N - */ -struct v4l2_dv_enum_preset { - uint32_t index; - uint32_t preset; - uint8_t name[32]; /* Name of the preset timing */ - uint32_t width; - uint32_t height; - uint32_t reserved[4]; -}; - -/* - * D V P R E S E T V A L U E S - */ -#define V4L2_DV_INVALID 0 -#define V4L2_DV_480P59_94 1 /* BT.1362 */ -#define V4L2_DV_576P50 2 /* BT.1362 */ -#define V4L2_DV_720P24 3 /* SMPTE 296M */ -#define V4L2_DV_720P25 4 /* SMPTE 296M */ -#define V4L2_DV_720P30 5 /* SMPTE 296M */ -#define V4L2_DV_720P50 6 /* SMPTE 296M */ -#define V4L2_DV_720P59_94 7 /* SMPTE 274M */ -#define V4L2_DV_720P60 8 /* SMPTE 274M/296M */ -#define V4L2_DV_1080I29_97 9 /* BT.1120/ SMPTE 274M */ -#define V4L2_DV_1080I30 10 /* BT.1120/ SMPTE 274M */ -#define V4L2_DV_1080I25 11 /* BT.1120 */ -#define V4L2_DV_1080I50 12 /* SMPTE 296M */ -#define V4L2_DV_1080I60 13 /* SMPTE 296M */ -#define V4L2_DV_1080P24 14 /* SMPTE 296M */ -#define V4L2_DV_1080P25 15 /* SMPTE 296M */ -#define V4L2_DV_1080P30 16 /* SMPTE 296M */ -#define V4L2_DV_1080P50 17 /* BT.1120 */ -#define V4L2_DV_1080P60 18 /* BT.1120 */ - /* * D V B T T I M I N G S */ @@ -1274,7 +1228,6 @@ struct v4l2_input { #define V4L2_IN_ST_VTR 0x04000000 /* VTR time constant */ /* capabilities flags */ -#define V4L2_IN_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */ #define V4L2_IN_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ #define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS /* For compatibility */ #define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */ @@ -1298,7 +1251,6 @@ struct v4l2_output { #define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3 /* capabilities flags */ -#define V4L2_OUT_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */ #define V4L2_OUT_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ #define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS /* For compatibility */ #define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */ @@ -2015,12 +1967,6 @@ struct v4l2_create_buffers { #define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek) -/* These four DV Preset ioctls are deprecated in favor of the DV Timings - ioctls. */ -#define VIDIOC_ENUM_DV_PRESETS _IOWR('V', 83, struct v4l2_dv_enum_preset) -#define VIDIOC_S_DV_PRESET _IOWR('V', 84, struct v4l2_dv_preset) -#define VIDIOC_G_DV_PRESET _IOWR('V', 85, struct v4l2_dv_preset) -#define VIDIOC_QUERY_DV_PRESET _IOR('V', 86, struct v4l2_dv_preset) #define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings) #define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings) #define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event) diff --git a/contrib/freebsd/include/media/v4l2-chip-ident.h b/contrib/freebsd/include/media/v4l2-chip-ident.h index b5996f9..c259b36 100644 --- a/contrib/freebsd/include/media/v4l2-chip-ident.h +++ b/contrib/freebsd/include/media/v4l2-chip-ident.h @@ -188,6 +188,9 @@ enum { /* module adv7343: just ident 7343 */ V4L2_IDENT_ADV7343 = 7343, + /* module ths7353: just ident 7353 */ + V4L2_IDENT_THS7353 = 7353, + /* module adv7393: just ident 7393 */ V4L2_IDENT_ADV7393 = 7393, diff --git a/contrib/test/ioctl-test.h b/contrib/test/ioctl-test.h index 12e4936..67333d7 100644 --- a/contrib/test/ioctl-test.h +++ b/contrib/test/ioctl-test.h @@ -33,8 +33,6 @@ union v4l_parms { struct v4l2_dbg_chip_ident p_v4l2_dbg_chip_ident; struct v4l2_dbg_register p_v4l2_dbg_register; struct v4l2_decoder_cmd p_v4l2_decoder_cmd; - struct v4l2_dv_enum_preset p_v4l2_dv_enum_preset; - struct v4l2_dv_preset p_v4l2_dv_preset; struct v4l2_dv_timings p_v4l2_dv_timings; struct v4l2_dv_timings_cap p_v4l2_dv_timings_cap; struct v4l2_enc_idx p_v4l2_enc_idx; @@ -122,7 +120,6 @@ static const struct { ioc(video, VIDIOC_ENUMINPUT), /* struct v4l2_input */ ioc(video, VIDIOC_ENUMOUTPUT), /* struct v4l2_output */ ioc(video, VIDIOC_ENUMSTD), /* struct v4l2_standard */ - ioc(video, VIDIOC_ENUM_DV_PRESETS), /* struct v4l2_dv_enum_preset */ ioc(video, VIDIOC_ENUM_DV_TIMINGS), /* struct v4l2_enum_dv_timings */ ioc(video, VIDIOC_ENUM_FMT), /* struct v4l2_fmtdesc */ ioc(video, VIDIOC_ENUM_FRAMEINTERVALS), /* struct v4l2_frmivalenum */ @@ -133,7 +130,6 @@ static const struct { ioc(video, VIDIOC_G_AUDOUT), /* struct v4l2_audioout */ ioc(video, VIDIOC_G_CROP), /* struct v4l2_crop */ ioc(video, VIDIOC_G_CTRL), /* struct v4l2_control */ - ioc(video, VIDIOC_G_DV_PRESET), /* struct v4l2_dv_preset */ ioc(video, VIDIOC_G_DV_TIMINGS), /* struct v4l2_dv_timings */ ioc(video, VIDIOC_G_ENC_INDEX), /* struct v4l2_enc_idx */ ioc(video, VIDIOC_G_EXT_CTRLS), /* struct v4l2_ext_controls */ @@ -159,7 +155,6 @@ static const struct { ioc(video, VIDIOC_QUERYCTRL), /* struct v4l2_queryctrl */ ioc(video, VIDIOC_QUERYMENU), /* struct v4l2_querymenu */ ioc(video, VIDIOC_QUERYSTD), /* v4l2_std_id */ - ioc(video, VIDIOC_QUERY_DV_PRESET), /* struct v4l2_dv_preset */ ioc(video, VIDIOC_QUERY_DV_TIMINGS), /* struct v4l2_dv_timings */ ioc(video, VIDIOC_REQBUFS), /* struct v4l2_requestbuffers */ ioc(video, VIDIOC_RESERVED), /* void */ @@ -170,7 +165,6 @@ static const struct { ioc(video, VIDIOC_S_AUDOUT), /* struct v4l2_audioout */ ioc(video, VIDIOC_S_CROP), /* struct v4l2_crop */ ioc(video, VIDIOC_S_CTRL), /* struct v4l2_control */ - ioc(video, VIDIOC_S_DV_PRESET), /* struct v4l2_dv_preset */ ioc(video, VIDIOC_S_DV_TIMINGS), /* struct v4l2_dv_timings */ ioc(video, VIDIOC_S_EXT_CTRLS), /* struct v4l2_ext_controls */ ioc(video, VIDIOC_S_FBUF), /* struct v4l2_framebuffer */ diff --git a/contrib/test/ioctl_32.h b/contrib/test/ioctl_32.h index 7da55db..ce83b69 100644 --- a/contrib/test/ioctl_32.h +++ b/contrib/test/ioctl_32.h @@ -46,7 +46,6 @@ #define CMD32_VIDIOC_ENUMINPUT 0xc04c561a #define CMD32_VIDIOC_ENUMOUTPUT 0xc0485630 #define CMD32_VIDIOC_ENUMSTD 0xc0405619 -#define CMD32_VIDIOC_ENUM_DV_PRESETS 0xc0405653 #define CMD32_VIDIOC_ENUM_DV_TIMINGS 0xc0945662 #define CMD32_VIDIOC_ENUM_FMT 0xc0405602 #define CMD32_VIDIOC_ENUM_FRAMEINTERVALS 0xc034564b @@ -57,7 +56,6 @@ #define CMD32_VIDIOC_G_AUDOUT 0x80345631 #define CMD32_VIDIOC_G_CROP 0xc014563b #define CMD32_VIDIOC_G_CTRL 0xc008561b -#define CMD32_VIDIOC_G_DV_PRESET 0xc0145655 #define CMD32_VIDIOC_G_DV_TIMINGS 0xc0845658 #define CMD32_VIDIOC_G_ENC_INDEX 0x8818564c #define CMD32_VIDIOC_G_EXT_CTRLS 0xc0185647 @@ -83,7 +81,6 @@ #define CMD32_VIDIOC_QUERYCTRL 0xc0445624 #define CMD32_VIDIOC_QUERYMENU 0xc02c5625 #define CMD32_VIDIOC_QUERYSTD 0x8008563f -#define CMD32_VIDIOC_QUERY_DV_PRESET 0x80145656 #define CMD32_VIDIOC_QUERY_DV_TIMINGS 0x80845663 #define CMD32_VIDIOC_REQBUFS 0xc0145608 #define CMD32_VIDIOC_RESERVED 0x5601 @@ -94,7 +91,6 @@ #define CMD32_VIDIOC_S_AUDOUT 0x40345632 #define CMD32_VIDIOC_S_CROP 0x4014563c #define CMD32_VIDIOC_S_CTRL 0xc008561c -#define CMD32_VIDIOC_S_DV_PRESET 0xc0145654 #define CMD32_VIDIOC_S_DV_TIMINGS 0xc0845657 #define CMD32_VIDIOC_S_EXT_CTRLS 0xc0185648 #define CMD32_VIDIOC_S_FBUF 0x402c560b diff --git a/contrib/test/ioctl_64.h b/contrib/test/ioctl_64.h index b4354b1..171b1af 100644 --- a/contrib/test/ioctl_64.h +++ b/contrib/test/ioctl_64.h @@ -46,7 +46,6 @@ #define CMD64_VIDIOC_ENUMINPUT 0xc050561a #define CMD64_VIDIOC_ENUMOUTPUT 0xc0485630 #define CMD64_VIDIOC_ENUMSTD 0xc0485619 -#define CMD64_VIDIOC_ENUM_DV_PRESETS 0xc0405653 #define CMD64_VIDIOC_ENUM_DV_TIMINGS 0xc0945662 #define CMD64_VIDIOC_ENUM_FMT 0xc0405602 #define CMD64_VIDIOC_ENUM_FRAMEINTERVALS 0xc034564b @@ -57,7 +56,6 @@ #define CMD64_VIDIOC_G_AUDOUT 0x80345631 #define CMD64_VIDIOC_G_CROP 0xc014563b #define CMD64_VIDIOC_G_CTRL 0xc008561b -#define CMD64_VIDIOC_G_DV_PRESET 0xc0145655 #define CMD64_VIDIOC_G_DV_TIMINGS 0xc0845658 #define CMD64_VIDIOC_G_ENC_INDEX 0x8818564c #define CMD64_VIDIOC_G_EXT_CTRLS 0xc0205647 @@ -83,7 +81,6 @@ #define CMD64_VIDIOC_QUERYCTRL 0xc0445624 #define CMD64_VIDIOC_QUERYMENU 0xc02c5625 #define CMD64_VIDIOC_QUERYSTD 0x8008563f -#define CMD64_VIDIOC_QUERY_DV_PRESET 0x80145656 #define CMD64_VIDIOC_QUERY_DV_TIMINGS 0x80845663 #define CMD64_VIDIOC_REQBUFS 0xc0145608 #define CMD64_VIDIOC_RESERVED 0x5601 @@ -94,7 +91,6 @@ #define CMD64_VIDIOC_S_AUDOUT 0x40345632 #define CMD64_VIDIOC_S_CROP 0x4014563c #define CMD64_VIDIOC_S_CTRL 0xc008561c -#define CMD64_VIDIOC_S_DV_PRESET 0xc0145654 #define CMD64_VIDIOC_S_DV_TIMINGS 0xc0845657 #define CMD64_VIDIOC_S_EXT_CTRLS 0xc0205648 #define CMD64_VIDIOC_S_FBUF 0x4030560b diff --git a/include/linux/v4l2-controls.h b/include/linux/v4l2-controls.h index 7eab0b9..844dc02 100644 --- a/include/linux/v4l2-controls.h +++ b/include/linux/v4l2-controls.h @@ -360,6 +360,7 @@ enum v4l2_mpeg_video_multi_slice_mode { #define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223) #define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224) #define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225) +#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226) #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index b5f5cdd..9d57dba 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -981,52 +981,6 @@ struct v4l2_standard { __u32 reserved[4]; }; -/* The DV Preset API is deprecated in favor of the DV Timings API. - New drivers shouldn't use this anymore! */ - -/* - * V I D E O T I M I N G S D V P R E S E T - */ -struct v4l2_dv_preset { - __u32 preset; - __u32 reserved[4]; -}; - -/* - * D V P R E S E T S E N U M E R A T I O N - */ -struct v4l2_dv_enum_preset { - __u32 index; - __u32 preset; - __u8 name[32]; /* Name of the preset timing */ - __u32 width; - __u32 height; - __u32 reserved[4]; -}; - -/* - * D V P R E S E T V A L U E S - */ -#define V4L2_DV_INVALID 0 -#define V4L2_DV_480P59_94 1 /* BT.1362 */ -#define V4L2_DV_576P50 2 /* BT.1362 */ -#define V4L2_DV_720P24 3 /* SMPTE 296M */ -#define V4L2_DV_720P25 4 /* SMPTE 296M */ -#define V4L2_DV_720P30 5 /* SMPTE 296M */ -#define V4L2_DV_720P50 6 /* SMPTE 296M */ -#define V4L2_DV_720P59_94 7 /* SMPTE 274M */ -#define V4L2_DV_720P60 8 /* SMPTE 274M/296M */ -#define V4L2_DV_1080I29_97 9 /* BT.1120/ SMPTE 274M */ -#define V4L2_DV_1080I30 10 /* BT.1120/ SMPTE 274M */ -#define V4L2_DV_1080I25 11 /* BT.1120 */ -#define V4L2_DV_1080I50 12 /* SMPTE 296M */ -#define V4L2_DV_1080I60 13 /* SMPTE 296M */ -#define V4L2_DV_1080P24 14 /* SMPTE 296M */ -#define V4L2_DV_1080P25 15 /* SMPTE 296M */ -#define V4L2_DV_1080P30 16 /* SMPTE 296M */ -#define V4L2_DV_1080P50 17 /* BT.1120 */ -#define V4L2_DV_1080P60 18 /* BT.1120 */ - /* * D V B T T I M I N G S */ @@ -1240,7 +1194,6 @@ struct v4l2_input { #define V4L2_IN_ST_VTR 0x04000000 /* VTR time constant */ /* capabilities flags */ -#define V4L2_IN_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */ #define V4L2_IN_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ #define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS /* For compatibility */ #define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */ @@ -1264,7 +1217,6 @@ struct v4l2_output { #define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3 /* capabilities flags */ -#define V4L2_OUT_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */ #define V4L2_OUT_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */ #define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS /* For compatibility */ #define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */ @@ -1981,12 +1933,6 @@ struct v4l2_create_buffers { #define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek) -/* These four DV Preset ioctls are deprecated in favor of the DV Timings - ioctls. */ -#define VIDIOC_ENUM_DV_PRESETS _IOWR('V', 83, struct v4l2_dv_enum_preset) -#define VIDIOC_S_DV_PRESET _IOWR('V', 84, struct v4l2_dv_preset) -#define VIDIOC_G_DV_PRESET _IOWR('V', 85, struct v4l2_dv_preset) -#define VIDIOC_QUERY_DV_PRESET _IOR('V', 86, struct v4l2_dv_preset) #define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings) #define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings) #define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event) diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h index b5996f9..c259b36 100644 --- a/include/media/v4l2-chip-ident.h +++ b/include/media/v4l2-chip-ident.h @@ -188,6 +188,9 @@ enum { /* module adv7343: just ident 7343 */ V4L2_IDENT_ADV7343 = 7343, + /* module ths7353: just ident 7353 */ + V4L2_IDENT_THS7353 = 7353, + /* module adv7393: just ident 7393 */ V4L2_IDENT_ADV7393 = 7393, diff --git a/lib/libv4l2/libv4l2.c b/lib/libv4l2/libv4l2.c index c239801..2dea06e 100644 --- a/lib/libv4l2/libv4l2.c +++ b/lib/libv4l2/libv4l2.c @@ -1067,7 +1067,6 @@ int v4l2_ioctl(int fd, unsigned long int request, ...) break; case VIDIOC_S_STD: case VIDIOC_S_INPUT: - case VIDIOC_S_DV_PRESET: case VIDIOC_S_DV_TIMINGS: is_capture_request = 1; stream_needs_locking = 1; @@ -1167,7 +1166,6 @@ no_capture_request: case VIDIOC_S_STD: case VIDIOC_S_INPUT: - case VIDIOC_S_DV_PRESET: case VIDIOC_S_DV_TIMINGS: { struct v4l2_format src_fmt; diff --git a/lib/libv4l2/log.c b/lib/libv4l2/log.c index e8cb387..45c0e6b 100644 --- a/lib/libv4l2/log.c +++ b/lib/libv4l2/log.c @@ -98,10 +98,6 @@ const char *v4l2_ioctls[] = { [_IOC_NR(VIDIOC_DBG_G_REGISTER)] = "VIDIOC_DBG_G_REGISTER", [_IOC_NR(VIDIOC_DBG_G_CHIP_IDENT)] = "VIDIOC_DBG_G_CHIP_IDENT", [_IOC_NR(VIDIOC_S_HW_FREQ_SEEK)] = "VIDIOC_S_HW_FREQ_SEEK", - [_IOC_NR(VIDIOC_ENUM_DV_PRESETS)] = "VIDIOC_ENUM_DV_PRESETS", - [_IOC_NR(VIDIOC_S_DV_PRESET)] = "VIDIOC_S_DV_PRESET", - [_IOC_NR(VIDIOC_G_DV_PRESET)] = "VIDIOC_G_DV_PRESET", - [_IOC_NR(VIDIOC_QUERY_DV_PRESET)] = "VIDIOC_QUERY_DV_PRESET", [_IOC_NR(VIDIOC_S_DV_TIMINGS)] = "VIDIOC_S_DV_TIMINGS", [_IOC_NR(VIDIOC_G_DV_TIMINGS)] = "VIDIOC_G_DV_TIMINGS", [_IOC_NR(VIDIOC_DQEVENT)] = "VIDIOC_DQEVENT", diff --git a/utils/keytable/rc_maps.cfg b/utils/keytable/rc_maps.cfg index 24dc547..5eb6f9c 100644 --- a/utils/keytable/rc_maps.cfg +++ b/utils/keytable/rc_maps.cfg @@ -30,104 +30,104 @@ # devices supported by the linux kernel #driver table file -* rc-powercolor-real-angel powercolor_real_angel -* rc-kworld-315u kworld_315u -* rc-it913x-v2 it913x_v2 -* rc-em-terratec em_terratec -* rc-ati-tv-wonder-hd-600 ati_tv_wonder_hd_600 -* rc-dntv-live-dvbt-pro dntv_live_dvbt_pro -* rc-pinnacle-pctv-hd pinnacle_pctv_hd -* rc-nebula nebula -* rc-proteus-2309 proteus_2309 -* rc-asus-ps3-100 asus_ps3_100 -* rc-asus-pc39 asus_pc39 -* rc-fusionhdtv-mce fusionhdtv_mce -* rc-avermedia-dvbt avermedia_dvbt -* rc-kworld-plus-tv-analog kworld_plus_tv_analog -* rc-purpletv purpletv -* rc-pv951 pv951 -* rc-encore-enltv encore_enltv -* rc-medion-x10 medion_x10 * rc-winfast-usbii-deluxe winfast_usbii_deluxe -* rc-flydvb flydvb +* rc-eztv eztv +* rc-snapstream-firefly snapstream_firefly +* rc-digittrade digittrade * rc-digitalnow-tinytwin digitalnow_tinytwin -* rc-kworld-pc150u kworld_pc150u -* rc-evga-indtube evga_indtube -* rc-videomate-s350 videomate_s350 -* rc-avermedia-rm-ks avermedia_rm_ks -* rc-azurewave-ad-tu700 azurewave_ad_tu700 -* rc-pctv-sedna pctv_sedna -* rc-it913x-v1 it913x_v1 +* rc-tt-1500 tt_1500 +* rc-behold behold * rc-videomate-k100 videomate_k100 -* rc-dm1105-nec dm1105_nec -* rc-winfast winfast -* rc-kaiomy kaiomy -* rc-anysee anysee -* rc-technisat-usb2 technisat_usb2 -* rc-rc6-mce rc6_mce -* rc-terratec-slim terratec_slim -* rc-encore-enltv-fm53 encore_enltv_fm53 * rc-nec-terratec-cinergy-xs nec_terratec_cinergy_xs -* rc-gotview7135 gotview7135 -* rc-msi-digivox-ii msi_digivox_ii -* rc-pixelview-mk12 pixelview_mk12 -* rc-budget-ci-old budget_ci_old -* rc-videomate-tv-pvr videomate_tv_pvr -* rc-dib0700-rc5 dib0700_rc5 -* rc-flyvideo flyvideo -* rc-imon-mce imon_mce -* rc-lme2510 lme2510 +* rc-avermedia-dvbt avermedia_dvbt +* rc-cinergy cinergy +* rc-twinhan1027 twinhan_vp1027_dvbs +* rc-azurewave-ad-tu700 azurewave_ad_tu700 * rc-alink-dtu-m alink_dtu_m -* rc-leadtek-y04g0051 leadtek_y04g0051 -* rc-pixelview pixelview -* rc-total-media-in-hand total_media_in_hand -* rc-gadmei-rm008z gadmei_rm008z -* rc-msi-digivox-iii msi_digivox_iii -* rc-norwood norwood -* rc-tt-1500 tt_1500 -* rc-avertv-303 avertv_303 -* rc-msi-tvanywhere msi_tvanywhere -* rc-avermedia-m733a-rm-k6 avermedia_m733a_rm_k6 -* rc-pinnacle-grey pinnacle_grey * rc-terratec-slim-2 terratec_slim_2 -* rc-real-audio-220-32-keys real_audio_220_32_keys -* rc-iodata-bctv7e iodata_bctv7e -* rc-pinnacle-color pinnacle_color -* rc-avermedia-m135a avermedia_m135a -* rc-behold behold -* rc-cinergy cinergy * rc-apac-viewcomp apac_viewcomp -* rc-tivo tivo -* rc-msi-tvanywhere-plus msi_tvanywhere_plus -* rc-ati-x10 ati_x10 -* rc-avermedia-cardbus avermedia_cardbus -* rc-trekstor trekstor -* rc-terratec-cinergy-xs terratec_cinergy_xs +* rc-asus-ps3-100 asus_ps3_100 * rc-pixelview-002t pixelview_002t -* rc-manli manli -* rc-medion-x10-or2x medion_x10_or2x +* rc-videomate-tv-pvr videomate_tv_pvr * rc-dntv-live-dvb-t dntv_live_dvb_t +* rc-pv951 pv951 +* rc-imon-mce imon_mce * rc-adstech-dvb-t-pci adstech_dvb_t_pci +* rc-avermedia-rm-ks avermedia_rm_ks +* rc-medion-x10 medion_x10 * rc-npgtech npgtech +* rc-videomate-s350 videomate_s350 +* rc-fusionhdtv-mce fusionhdtv_mce +* rc-pixelview pixelview +* rc-encore-enltv-fm53 encore_enltv_fm53 +* rc-avermedia avermedia +* rc-pinnacle-pctv-hd pinnacle_pctv_hd +* rc-powercolor-real-angel powercolor_real_angel +* rc-dntv-live-dvbt-pro dntv_live_dvbt_pro +* rc-pinnacle-grey pinnacle_grey +* rc-encore-enltv2 encore_enltv2 +* rc-avermedia-m135a avermedia_m135a +* rc-terratec-slim terratec_slim +* rc-kworld-pc150u kworld_pc150u +* rc-flyvideo flyvideo +* rc-it913x-v2 it913x_v2 +* rc-manli manli * rc-avermedia-a16d avermedia_a16d -* rc-behold-columbus behold_columbus +* rc-real-audio-220-32-keys real_audio_220_32_keys +* rc-gadmei-rm008z gadmei_rm008z +* rc-pctv-sedna pctv_sedna * rc-genius-tvgo-a11mce genius_tvgo_a11mce -* rc-total-media-in-hand-02 total_media_in_hand_02 -* rc-hauppauge hauppauge -* rc-streamzap streamzap -* rc-encore-enltv2 encore_enltv2 -* rc-tbs-nec tbs_nec -* rc-twinhan1027 twinhan_vp1027_dvbs -* rc-snapstream-firefly snapstream_firefly -* rc-eztv eztv -* rc-avermedia avermedia -* rc-digittrade digittrade +* rc-purpletv purpletv +* rc-rc6-mce rc6_mce +* rc-proteus-2309 proteus_2309 +* rc-avermedia-m733a-rm-k6 avermedia_m733a_rm_k6 +* rc-trekstor trekstor +* rc-pixelview-mk12 pixelview_mk12 +* rc-gotview7135 gotview7135 +* rc-technisat-usb2 technisat_usb2 * rc-medion-x10-digitainer medion_x10_digitainer +* rc-msi-tvanywhere msi_tvanywhere * rc-tevii-nec tevii_nec +* rc-imon-pad imon_pad +* rc-winfast winfast +* rc-iodata-bctv7e iodata_bctv7e +* rc-avertv-303 avertv_303 +* rc-dm1105-nec dm1105_nec +* rc-total-media-in-hand-02 total_media_in_hand_02 +* rc-msi-tvanywhere-plus msi_tvanywhere_plus +* rc-encore-enltv encore_enltv +* rc-nebula nebula +* rc-asus-pc39 asus_pc39 +* rc-behold-columbus behold_columbus +* rc-total-media-in-hand total_media_in_hand +* rc-it913x-v1 it913x_v1 +* rc-pinnacle-color pinnacle_color +* rc-flydvb flydvb +* rc-terratec-cinergy-xs terratec_cinergy_xs +* rc-streamzap streamzap +* rc-leadtek-y04g0051 leadtek_y04g0051 +* rc-norwood norwood +* rc-msi-digivox-ii msi_digivox_ii +* rc-evga-indtube evga_indtube +* rc-tivo tivo +* rc-ati-tv-wonder-hd-600 ati_tv_wonder_hd_600 +* rc-dib0700-rc5 dib0700_rc5 +* rc-anysee anysee +* rc-ati-x10 ati_x10 * rc-dib0700-nec dib0700_nec -* rc-pixelview-new pixelview_new +* rc-kaiomy kaiomy +* rc-msi-digivox-iii msi_digivox_iii * rc-cinergy-1400 cinergy_1400 -* rc-imon-pad imon_pad +* rc-hauppauge hauppauge +* rc-pixelview-new pixelview_new +* rc-budget-ci-old budget_ci_old +* rc-tbs-nec tbs_nec +* rc-kworld-plus-tv-analog kworld_plus_tv_analog +* rc-medion-x10-or2x medion_x10_or2x +* rc-avermedia-cardbus avermedia_cardbus +* rc-lme2510 lme2510 +* rc-em-terratec em_terratec +* rc-kworld-315u kworld_315u # * * a800 # found in a800.c # * * af9005 # found in af9005-remote.c # * * cinergyt2 # found in cinergyT2-core.c diff --git a/utils/qv4l2/general-tab.cpp b/utils/qv4l2/general-tab.cpp index 615e40c..10b14ca 100644 --- a/utils/qv4l2/general-tab.cpp +++ b/utils/qv4l2/general-tab.cpp @@ -42,8 +42,6 @@ GeneralTab::GeneralTab(const QString &device, v4l2 &fd, int n, QWidget *parent) m_audioInput(NULL), m_tvStandard(NULL), m_qryStandard(NULL), - m_videoPreset(NULL), - m_qryPreset(NULL), m_videoTimings(NULL), m_qryTimings(NULL), m_freq(NULL), @@ -75,7 +73,6 @@ GeneralTab::GeneralTab(const QString &device, v4l2 &fd, int n, QWidget *parent) v4l2_input vin; bool needsStd = false; - bool needsPreset = false; bool needsTimings = false; if (m_tuner.capability && m_tuner.capability & V4L2_TUNER_CAP_LOW) @@ -92,8 +89,6 @@ GeneralTab::GeneralTab(const QString &device, v4l2 &fd, int n, QWidget *parent) m_videoInput->addItem((char *)vin.name); if (vin.capabilities & V4L2_IN_CAP_STD) needsStd = true; - if (vin.capabilities & V4L2_IN_CAP_PRESETS) - needsPreset = true; if (vin.capabilities & V4L2_IN_CAP_DV_TIMINGS) needsTimings = true; } while (enum_input(vin)); @@ -153,18 +148,6 @@ GeneralTab::GeneralTab(const QString &device, v4l2 &fd, int n, QWidget *parent) } } - if (needsPreset) { - addLabel("Video Preset"); - m_videoPreset = new QComboBox(parent); - addWidget(m_videoPreset); - connect(m_videoPreset, SIGNAL(activated(int)), SLOT(presetChanged(int))); - refreshPresets(); - addLabel(""); - m_qryPreset = new QPushButton("Query Preset", parent); - addWidget(m_qryPreset); - connect(m_qryPreset, SIGNAL(clicked()), SLOT(qryPresetClicked())); - } - if (needsTimings) { addLabel("Video Timings"); m_videoTimings = new QComboBox(parent); @@ -444,15 +427,6 @@ void GeneralTab::standardChanged(int std) updateStandard(); } -void GeneralTab::presetChanged(int index) -{ - v4l2_dv_enum_preset preset; - - enum_dv_preset(preset, true, index); - s_dv_preset(preset.preset); - updatePreset(); -} - void GeneralTab::timingsChanged(int index) { v4l2_enum_dv_timings timings; @@ -640,12 +614,6 @@ void GeneralTab::updateVideoInput() if (m_qryStandard) m_qryStandard->setEnabled(in.capabilities & V4L2_IN_CAP_STD); } - if (m_videoPreset) { - refreshPresets(); - updatePreset(); - m_videoPreset->setEnabled(in.capabilities & V4L2_IN_CAP_PRESETS); - m_qryPreset->setEnabled(in.capabilities & V4L2_IN_CAP_PRESETS); - } if (m_videoTimings) { refreshTimings(); updateTimings(); @@ -668,10 +636,6 @@ void GeneralTab::updateVideoOutput() if (m_qryStandard) m_qryStandard->setEnabled(out.capabilities & V4L2_OUT_CAP_STD); } - if (m_videoPreset) { - m_videoPreset->setEnabled(out.capabilities & V4L2_OUT_CAP_PRESETS); - m_qryPreset->setEnabled(out.capabilities & V4L2_OUT_CAP_PRESETS); - } if (m_videoTimings) { m_videoTimings->setEnabled(out.capabilities & V4L2_OUT_CAP_DV_TIMINGS); m_qryTimings->setEnabled(out.capabilities & V4L2_OUT_CAP_DV_TIMINGS); @@ -764,50 +728,6 @@ void GeneralTab::qryStdClicked() } } -void GeneralTab::refreshPresets() -{ - v4l2_dv_enum_preset preset; - m_videoPreset->clear(); - if (enum_dv_preset(preset, true)) { - do { - m_videoPreset->addItem((char *)preset.name); - } while (enum_dv_preset(preset)); - } -} - -void GeneralTab::updatePreset() -{ - __u32 preset; - v4l2_dv_enum_preset p; - QString what; - - g_dv_preset(preset); - if (enum_dv_preset(p, true)) { - do { - if (p.preset == preset) - break; - } while (enum_dv_preset(p)); - } - if (p.preset != preset) - return; - m_videoPreset->setCurrentIndex(p.index); - what.sprintf("Video Preset (%u)\n" - "Frame %ux%u\n", - p.preset, p.width, p.height); - m_videoPreset->setWhatsThis(what); - updateVidCapFormat(); -} - -void GeneralTab::qryPresetClicked() -{ - v4l2_dv_preset preset; - - if (query_dv_preset(preset)) { - s_dv_preset(preset.preset); - updatePreset(); - } -} - void GeneralTab::refreshTimings() { v4l2_enum_dv_timings timings; diff --git a/utils/qv4l2/general-tab.h b/utils/qv4l2/general-tab.h index 85871ee..5903ed8 100644 --- a/utils/qv4l2/general-tab.h +++ b/utils/qv4l2/general-tab.h @@ -76,8 +76,6 @@ private slots: void outputAudioChanged(int); void standardChanged(int); void qryStdClicked(); - void presetChanged(int); - void qryPresetClicked(); void timingsChanged(int); void qryTimingsClicked(); void freqTableChanged(int); @@ -102,8 +100,6 @@ private: void updateAudioOutput(); void refreshStandards(); void updateStandard(); - void refreshPresets(); - void updatePreset(); void refreshTimings(); void updateTimings(); void updateFreq(); @@ -149,8 +145,6 @@ private: QComboBox *m_audioOutput; QComboBox *m_tvStandard; QPushButton *m_qryStandard; - QComboBox *m_videoPreset; - QPushButton *m_qryPreset; QComboBox *m_videoTimings; QPushButton *m_qryTimings; QLineEdit *m_freq; diff --git a/utils/qv4l2/v4l2-api.cpp b/utils/qv4l2/v4l2-api.cpp index 2b3741b..9c37be3 100644 --- a/utils/qv4l2/v4l2-api.cpp +++ b/utils/qv4l2/v4l2-api.cpp @@ -236,31 +236,6 @@ bool v4l2::query_std(v4l2_std_id &std) return ioctl("Query TV Standard", VIDIOC_QUERYSTD, &std); } -bool v4l2::g_dv_preset(__u32 &preset) -{ - struct v4l2_dv_preset p; - int err; - - memset(&p, 0, sizeof(p)); - err = ioctl(VIDIOC_G_DV_PRESET, &p); - preset = p.preset; - return err >= 0; -} - -bool v4l2::s_dv_preset(__u32 preset) -{ - struct v4l2_dv_preset p; - - memset(&p, 0, sizeof(p)); - p.preset = preset; - return ioctl("Set Preset", VIDIOC_S_DV_PRESET, &p); -} - -bool v4l2::query_dv_preset(v4l2_dv_preset &preset) -{ - return ioctl("Query Preset", VIDIOC_QUERY_DV_PRESET, &preset); -} - bool v4l2::g_dv_timings(v4l2_dv_timings &timings) { int err = ioctl(VIDIOC_G_DV_TIMINGS, &timings); @@ -392,17 +367,6 @@ bool v4l2::enum_std(v4l2_standard &std, bool init, int index) return ioctl(VIDIOC_ENUMSTD, &std) >= 0; } -bool v4l2::enum_dv_preset(v4l2_dv_enum_preset &preset, bool init, int index) -{ - if (init) { - memset(&preset, 0, sizeof(preset)); - preset.index = index; - } else { - preset.index++; - } - return ioctl(VIDIOC_ENUM_DV_PRESETS, &preset) >= 0; -} - bool v4l2::enum_dv_timings(v4l2_enum_dv_timings &timings, bool init, int index) { if (init) { diff --git a/utils/qv4l2/v4l2-api.h b/utils/qv4l2/v4l2-api.h index 600c2bc..13029f2 100644 --- a/utils/qv4l2/v4l2-api.h +++ b/utils/qv4l2/v4l2-api.h @@ -74,9 +74,6 @@ public: bool s_std(v4l2_std_id std); bool g_std(v4l2_std_id &std); bool query_std(v4l2_std_id &std); - bool s_dv_preset(__u32 preset); - bool g_dv_preset(__u32 &preset); - bool query_dv_preset(v4l2_dv_preset &preset); bool s_dv_timings(v4l2_dv_timings &timings); bool g_dv_timings(v4l2_dv_timings &timings); bool query_dv_timings(v4l2_dv_timings &timings); @@ -94,7 +91,6 @@ public: bool enum_audio(v4l2_audio &audio, bool init = false); bool enum_audout(v4l2_audioout &audout, bool init = false); bool enum_std(v4l2_standard &std, bool init = false, int index = 0); - bool enum_dv_preset(v4l2_dv_enum_preset &preset, bool init = false, int index = 0); bool enum_dv_timings(v4l2_enum_dv_timings &timings, bool init = false, int index = 0); bool enum_fmt_cap(v4l2_fmtdesc &std, bool init = false, int index = 0); bool enum_fmt_out(v4l2_fmtdesc &std, bool init = false, int index = 0); diff --git a/utils/v4l2-compliance/v4l2-compliance.cpp b/utils/v4l2-compliance/v4l2-compliance.cpp index b8506f2..b27d60c 100644 --- a/utils/v4l2-compliance/v4l2-compliance.cpp +++ b/utils/v4l2-compliance/v4l2-compliance.cpp @@ -652,7 +652,6 @@ int main(int argc, char **argv) printf("Input/Output configuration ioctls:\n"); printf("\ttest VIDIOC_ENUM/G/S/QUERY_STD: %s\n", ok(testStd(&node))); - printf("\ttest VIDIOC_ENUM/G/S/QUERY_DV_PRESETS: %s\n", ok(testPresets(&node))); printf("\ttest VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: %s\n", ok(testTimings(&node))); printf("\ttest VIDIOC_DV_TIMINGS_CAP: %s\n", ok(testTimingsCap(&node))); printf("\n"); diff --git a/utils/v4l2-compliance/v4l2-compliance.h b/utils/v4l2-compliance/v4l2-compliance.h index 0520b58..08f1ec6 100644 --- a/utils/v4l2-compliance/v4l2-compliance.h +++ b/utils/v4l2-compliance/v4l2-compliance.h @@ -181,7 +181,6 @@ int testJpegComp(struct node *node); // I/O configuration ioctl tests int testStd(struct node *node); -int testPresets(struct node *node); int testTimings(struct node *node); int testTimingsCap(struct node *node); diff --git a/utils/v4l2-compliance/v4l2-test-io-config.cpp b/utils/v4l2-compliance/v4l2-test-io-config.cpp index 9ecfaa5..df2714d 100644 --- a/utils/v4l2-compliance/v4l2-test-io-config.cpp +++ b/utils/v4l2-compliance/v4l2-test-io-config.cpp @@ -150,111 +150,6 @@ int testStd(struct node *node) return has_std ? 0 : ENOTTY; } -static int checkPresets(struct node *node, bool has_presets, bool is_input) -{ - struct v4l2_dv_enum_preset enumpreset; - struct v4l2_dv_preset preset; - unsigned i; - int ret; - - memset(&preset, 0xff, sizeof(preset)); - ret = doioctl(node, VIDIOC_G_DV_PRESET, &preset); - if (!ret && check_0(preset.reserved, sizeof(preset.reserved))) - return fail("reserved not zeroed\n"); - if (ret && has_presets) - return fail("PRESET cap set, but could not get current preset\n"); - if (!ret && !has_presets) - return fail("PRESET cap not set, but could still get a preset\n"); - if (ret != ENOTTY && ret != ENODATA && !has_presets) - return fail("PRESET cap not set, but got wrong error code (%d)\n", ret); - if (preset.preset != V4L2_DV_INVALID) { - ret = doioctl(node, VIDIOC_S_DV_PRESET, &preset); - if (ret && has_presets) - return fail("PRESET cap set, but could not set preset\n"); - if (!ret && !has_presets) - return fail("PRESET cap not set, but could still set a preset\n"); - } - preset.preset = V4L2_DV_INVALID; - ret = doioctl(node, VIDIOC_S_DV_PRESET, &preset); - if (ret != EINVAL && ret != ENOTTY) - return fail("could set preset V4L2_DV_INVALID\n"); - - for (i = 0; ; i++) { - memset(&enumpreset, 0xff, sizeof(enumpreset)); - - enumpreset.index = i; - ret = doioctl(node, VIDIOC_ENUM_DV_PRESETS, &enumpreset); - if (ret) - break; - if (check_ustring(enumpreset.name, sizeof(enumpreset.name))) - return fail("invalid preset name\n"); - if (check_0(enumpreset.reserved, sizeof(enumpreset.reserved))) - return fail("reserved not zeroed\n"); - if (enumpreset.index != i) - return fail("index changed!\n"); - if (enumpreset.preset == V4L2_DV_INVALID) - return fail("invalid preset!\n"); - if (enumpreset.width == 0 || enumpreset.height == 0) - return fail("width or height not set\n"); - } - if (i == 0 && has_presets) - return fail("PRESET cap set, but no presets can be enumerated\n"); - if (i && !has_presets) - return fail("PRESET cap was not set, but presets can be enumerated\n"); - if (ret != ENOTTY && ret != ENODATA && !has_presets) - return fail("PRESET cap not set, but got wrong error code for enumeration (%d)\n", ret); - ret = doioctl(node, VIDIOC_QUERY_DV_PRESET, &preset); - if (!ret && !has_presets) - return fail("PRESET cap was not set, but could still query preset\n"); - if (ret != ENOTTY && ret != ENODATA && !has_presets) - return fail("PRESET cap not set, but got wrong error code for query (%d)\n", ret); - if (ret != ENOTTY && !is_input) - return fail("this is an output, but could still query preset\n"); - return 0; -} - -int testPresets(struct node *node) -{ - int ret; - unsigned i, o; - bool has_presets = false; - - for (i = 0; i < node->inputs; i++) { - struct v4l2_input input; - - input.index = i; - ret = doioctl(node, VIDIOC_ENUMINPUT, &input); - if (ret) - return fail("could not enumerate input %d?!\n", i); - ret = doioctl(node, VIDIOC_S_INPUT, &input.index); - if (ret) - return fail("could not select input %d.\n", i); - if (input.capabilities & V4L2_IN_CAP_PRESETS) - has_presets = true; - if (checkPresets(node, input.capabilities & V4L2_IN_CAP_PRESETS, true)) - return fail("Presets failed for input %d.\n", i); - } - - for (o = 0; o < node->outputs; o++) { - struct v4l2_output output; - - output.index = o; - ret = doioctl(node, VIDIOC_ENUMOUTPUT, &output); - if (ret) - return fail("could not enumerate output %d?!\n", o); - ret = doioctl(node, VIDIOC_S_OUTPUT, &output.index); - if (ret) - return fail("could not select output %d.\n", o); - if (output.capabilities & V4L2_OUT_CAP_PRESETS) - has_presets = true; - if (checkPresets(node, output.capabilities & V4L2_OUT_CAP_PRESETS, false)) - return fail("Presets check failed for output %d.\n", o); - } - if (has_presets) - warn("Presets are deprecated, use DV-TIMINGS instead\n"); - return has_presets ? 0 : ENOTTY; -} - static int checkTimings(struct node *node, bool has_timings, bool is_input) { struct v4l2_enum_dv_timings enumtimings; diff --git a/utils/v4l2-ctl/v4l2-ctl-io.cpp b/utils/v4l2-ctl/v4l2-ctl-io.cpp index 6c1c3c9..279c02d 100644 --- a/utils/v4l2-ctl/v4l2-ctl-io.cpp +++ b/utils/v4l2-ctl/v4l2-ctl-io.cpp @@ -76,9 +76,8 @@ static std::string status2s(__u32 status) static const flag_def input_cap_def[] = { - {V4L2_IN_CAP_PRESETS, "DV presets" }, {V4L2_IN_CAP_DV_TIMINGS, "DV timings" }, - {V4L2_IN_CAP_STD, "SD presets" }, + {V4L2_IN_CAP_STD, "SDTV standards" }, { 0, NULL } }; @@ -88,9 +87,8 @@ static std::string input_cap2s(__u32 capabilities) } static const flag_def output_cap_def[] = { - {V4L2_OUT_CAP_PRESETS, "DV presets" }, {V4L2_OUT_CAP_DV_TIMINGS, "DV timings" }, - {V4L2_OUT_CAP_STD, "SD presets" }, + {V4L2_OUT_CAP_STD, "SDTV standards" }, { 0, NULL } }; diff --git a/utils/v4l2-ctl/v4l2-ctl-stds.cpp b/utils/v4l2-ctl/v4l2-ctl-stds.cpp index 55a3b8a..f779718 100644 --- a/utils/v4l2-ctl/v4l2-ctl-stds.cpp +++ b/utils/v4l2-ctl/v4l2-ctl-stds.cpp @@ -22,14 +22,13 @@ #include "v4l2-ctl.h" static v4l2_std_id standard; /* get_std/set_std */ -static struct v4l2_dv_preset dv_preset; /* set_dv_preset/get_dv_preset/query_dv_preset */ static struct v4l2_dv_timings dv_timings; /* set_dv_bt_timings/get_dv_timings/query_dv_timings */ static bool query_and_set_dv_timings = false; static int enum_and_set_dv_timings = -1; void stds_usage(void) { - printf("\nStandards/Presets/Timings options:\n" + printf("\nStandards/Timings options:\n" " --list-standards display supported video standards [VIDIOC_ENUMSTD]\n" " -S, --get-standard\n" " query the video standard [VIDIOC_G_STD]\n" @@ -41,15 +40,10 @@ void stds_usage(void) " secam or secam-X (X = B/G/H/D/K/L/Lc) (V4L2_STD_SECAM)\n" " --get-detected-standard\n" " display detected input video standard [VIDIOC_QUERYSTD]\n" - " --list-dv-presets list supported dv presets [VIDIOC_ENUM_DV_PRESETS]\n" - " --set-dv-preset=\n" - " set the digital video preset to [VIDIOC_S_DV_PRESET]\n" - " --get-dv-preset query the digital video preset in use [VIDIOC_G_DV_PRESET]\n" - " --query-dv-preset query the detected dv preset [VIDIOC_QUERY_DV_PRESET]\n" " --list-dv-timings list supp. standard dv timings [VIDIOC_ENUM_DV_TIMINGS]\n" " --set-dv-bt-timings\n" - " query: use the output of VIDIOC_QUERY_DV_PRESET\n" - " index=: use the index as provided by --list-dv-presets\n" + " query: use the output of VIDIOC_QUERY_DV_TIMINGS\n" + " index=: use the index as provided by --list-dv-timings\n" " or give a fully specified timings:\n" " width=,height=,interlaced=<0/1>,\n" " polarities=,pixelclock=,\n" @@ -335,9 +329,6 @@ void stds_cmd(int ch, char *optarg) exit(1); } break; - case OptSetDvPreset: - dv_preset.preset = strtoul(optarg, 0L, 0); - break; case OptSetDvBtTimings: parse_dv_bt_timings(optarg, &dv_timings, query_and_set_dv_timings, enum_and_set_dv_timings); @@ -360,12 +351,6 @@ void stds_set(int fd) printf("Standard set to %08llx\n", (unsigned long long)standard); } - if (options[OptSetDvPreset]) { - if (doioctl(fd, VIDIOC_S_DV_PRESET, &dv_preset) >= 0) { - printf("Preset set: %d\n", dv_preset.preset); - } - } - if (options[OptSetDvBtTimings]) { struct v4l2_enum_dv_timings et; @@ -392,12 +377,6 @@ void stds_get(int fd) } } - if (options[OptGetDvPreset]) { - if (doioctl(fd, VIDIOC_G_DV_PRESET, &dv_preset) >= 0) { - printf("DV preset: %d\n", dv_preset.preset); - } - } - if (options[OptGetDvTimings]) { if (doioctl(fd, VIDIOC_G_DV_TIMINGS, &dv_timings) >= 0) { printf("DV timings:\n"); @@ -443,15 +422,6 @@ void stds_get(int fd) } } - if (options[OptQueryDvPreset]) { - doioctl(fd, VIDIOC_QUERY_DV_PRESET, &dv_preset); - if (dv_preset.preset != V4L2_DV_INVALID) { - printf("Preset: %d\n", dv_preset.preset); - } else { - fprintf(stderr, "No active input detected\n"); - } - } - if (options[OptQueryDvTimings]) { doioctl(fd, VIDIOC_QUERY_DV_TIMINGS, &dv_timings); print_dv_timings(&dv_timings); @@ -484,23 +454,6 @@ void stds_list(int fd) } } - if (options[OptListDvPresets]) { - struct v4l2_dv_enum_preset dv_enum_preset; - - dv_enum_preset.index = 0; - printf("ioctl: VIDIOC_ENUM_DV_PRESETS\n"); - while (test_ioctl(fd, VIDIOC_ENUM_DV_PRESETS, &dv_enum_preset) >= 0) { - if (dv_enum_preset.index) - printf("\n"); - printf("\tIndex : %d\n", dv_enum_preset.index); - printf("\tPreset : %d\n", dv_enum_preset.preset); - printf("\tName : %s\n", dv_enum_preset.name); - printf("\tWidth : %d\n", dv_enum_preset.width); - printf("\tHeight : %d\n", dv_enum_preset.height); - dv_enum_preset.index++; - } - } - if (options[OptListDvTimings]) { struct v4l2_enum_dv_timings dv_enum_timings; diff --git a/utils/v4l2-ctl/v4l2-ctl.cpp b/utils/v4l2-ctl/v4l2-ctl.cpp index 14406ca..6057cce 100644 --- a/utils/v4l2-ctl/v4l2-ctl.cpp +++ b/utils/v4l2-ctl/v4l2-ctl.cpp @@ -176,10 +176,6 @@ static struct option long_options[] = { {"overlay", required_argument, 0, OptOverlay}, {"sleep", required_argument, 0, OptSleep}, {"list-devices", no_argument, 0, OptListDevices}, - {"list-dv-presets", no_argument, 0, OptListDvPresets}, - {"set-dv-presets", required_argument, 0, OptSetDvPreset}, - {"get-dv-presets", no_argument, 0, OptGetDvPreset}, - {"query-dv-presets", no_argument, 0, OptQueryDvPreset}, {"list-dv-timings", no_argument, 0, OptListDvTimings}, {"query-dv-timings", no_argument, 0, OptQueryDvTimings}, {"get-dv-timings", no_argument, 0, OptGetDvTimings}, @@ -931,7 +927,6 @@ int main(int argc, char **argv) options[OptGetCropCap] = 1; options[OptGetOutputCropCap] = 1; options[OptGetJpegComp] = 1; - options[OptGetDvPreset] = 1; options[OptGetDvTimings] = 1; options[OptGetDvTimingsCap] = 1; options[OptGetPriority] = 1; diff --git a/utils/v4l2-ctl/v4l2-ctl.h b/utils/v4l2-ctl/v4l2-ctl.h index 26ecea0..8d6d50d 100644 --- a/utils/v4l2-ctl/v4l2-ctl.h +++ b/utils/v4l2-ctl/v4l2-ctl.h @@ -118,10 +118,6 @@ enum Option { OptWaitForEvent, OptGetPriority, OptSetPriority, - OptListDvPresets, - OptSetDvPreset, - OptGetDvPreset, - OptQueryDvPreset, OptListDvTimings, OptQueryDvTimings, OptGetDvTimings, diff --git a/utils/v4l2-dbg/v4l2-chipids.cpp b/utils/v4l2-dbg/v4l2-chipids.cpp index 551462f..1f021da 100644 --- a/utils/v4l2-dbg/v4l2-chipids.cpp +++ b/utils/v4l2-dbg/v4l2-chipids.cpp @@ -76,6 +76,7 @@ struct chipid { const char *name; unsigned id; } chipids[] = { { "saa7191", 7191 }, { "ths7303", 7303 }, { "adv7343", 7343 }, +{ "ths7353", 7353 }, { "adv7393", 7393 }, { "adv7604", 7604 }, { "saa7706h", 7706 }, -- 2.7.4