} dmx_input_t;
-typedef enum
+typedef enum dmx_ts_pes
{
DMX_PES_AUDIO0,
DMX_PES_VIDEO0,
longer and field 2 is really one half-line shorter, so each field has
exactly the same number of half-lines. Whether half-lines can be detected
or used depends on the hardware. */
-#define V4L2_DV_FL_HALF_LINE (1 << 0)
+#define V4L2_DV_FL_HALF_LINE (1 << 3)
/** struct v4l2_dv_timings - DV timings
#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */
#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */
#define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */
-#define V4L2_CHIP_MATCH_SUBDEV_NAME 4 /* Match against subdev name */
-#define V4L2_CHIP_MATCH_SUBDEV_IDX 5 /* Match against subdev index */
+#define V4L2_CHIP_MATCH_SUBDEV 4 /* Match against subdev index */
struct v4l2_dbg_match {
uint32_t type; /* Match type */
#define V4L2_CHIP_FL_READABLE (1 << 0)
#define V4L2_CHIP_FL_WRITABLE (1 << 1)
-/* VIDIOC_DBG_G_CHIP_NAME */
-struct v4l2_dbg_chip_name {
+/* VIDIOC_DBG_G_CHIP_INFO */
+struct v4l2_dbg_chip_info {
struct v4l2_dbg_match match;
char name[32];
uint32_t flags;
- uint32_t reserved[8];
+ uint32_t reserved[32];
} __attribute__ ((packed));
/**
/* Experimental, meant for debugging, testing and internal use.
Never use this ioctl in applications!
- Note: this ioctl is deprecated in favor of VIDIOC_DBG_G_CHIP_NAME and
+ Note: this ioctl is deprecated in favor of VIDIOC_DBG_G_CHIP_INFO and
will go away in the future. */
#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident)
/* Experimental, meant for debugging, testing and internal use.
Never use these in applications! */
-#define VIDIOC_DBG_G_CHIP_NAME _IOWR('V', 102, struct v4l2_dbg_chip_name)
+#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
/* Reminder: when adding new ioctls please add support for them to
drivers/media/video/v4l2-compat-ioctl32.c as well! */
struct v4l2_crop p_v4l2_crop;
struct v4l2_cropcap p_v4l2_cropcap;
struct v4l2_dbg_chip_ident p_v4l2_dbg_chip_ident;
- struct v4l2_dbg_chip_name p_v4l2_dbg_chip_name;
+ struct v4l2_dbg_chip_info p_v4l2_dbg_chip_info;
struct v4l2_dbg_register p_v4l2_dbg_register;
struct v4l2_decoder_cmd p_v4l2_decoder_cmd;
struct v4l2_dv_timings p_v4l2_dv_timings;
ioc(video, VIDIOC_CREATE_BUFS), /* struct v4l2_create_buffers */
ioc(video, VIDIOC_CROPCAP), /* struct v4l2_cropcap */
ioc(video, VIDIOC_DBG_G_CHIP_IDENT), /* struct v4l2_dbg_chip_ident */
- ioc(video, VIDIOC_DBG_G_CHIP_NAME), /* struct v4l2_dbg_chip_name */
+ ioc(video, VIDIOC_DBG_G_CHIP_INFO), /* struct v4l2_dbg_chip_info */
ioc(video, VIDIOC_DBG_G_REGISTER), /* struct v4l2_dbg_register */
ioc(video, VIDIOC_DBG_S_REGISTER), /* struct v4l2_dbg_register */
ioc(video, VIDIOC_DECODER_CMD), /* struct v4l2_decoder_cmd */
#define CMD32_VIDIOC_CREATE_BUFS 0xc0f8565c
#define CMD32_VIDIOC_CROPCAP 0xc02c563a
#define CMD32_VIDIOC_DBG_G_CHIP_IDENT 0xc02c5651
-#define CMD32_VIDIOC_DBG_G_CHIP_NAME 0xc0685666
+#define CMD32_VIDIOC_DBG_G_CHIP_INFO 0xc0c85666
#define CMD32_VIDIOC_DBG_G_REGISTER 0xc0385650
#define CMD32_VIDIOC_DBG_S_REGISTER 0x4038564f
#define CMD32_VIDIOC_DECODER_CMD 0xc0485660
#define CMD64_VIDIOC_CREATE_BUFS 0xc100565c
#define CMD64_VIDIOC_CROPCAP 0xc02c563a
#define CMD64_VIDIOC_DBG_G_CHIP_IDENT 0xc02c5651
-#define CMD64_VIDIOC_DBG_G_CHIP_NAME 0xc0685666
+#define CMD64_VIDIOC_DBG_G_CHIP_INFO 0xc0c85666
#define CMD64_VIDIOC_DBG_G_REGISTER 0xc0385650
#define CMD64_VIDIOC_DBG_S_REGISTER 0x4038564f
#define CMD64_VIDIOC_DECODER_CMD 0xc0485660
} dmx_input_t;
-typedef enum
+typedef enum dmx_ts_pes
{
DMX_PES_AUDIO0,
DMX_PES_VIDEO0,
longer and field 2 is really one half-line shorter, so each field has
exactly the same number of half-lines. Whether half-lines can be detected
or used depends on the hardware. */
-#define V4L2_DV_FL_HALF_LINE (1 << 0)
+#define V4L2_DV_FL_HALF_LINE (1 << 3)
/** struct v4l2_dv_timings - DV timings
#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */
#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */
#define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */
-#define V4L2_CHIP_MATCH_SUBDEV_NAME 4 /* Match against subdev name */
-#define V4L2_CHIP_MATCH_SUBDEV_IDX 5 /* Match against subdev index */
+#define V4L2_CHIP_MATCH_SUBDEV 4 /* Match against subdev index */
struct v4l2_dbg_match {
__u32 type; /* Match type */
#define V4L2_CHIP_FL_READABLE (1 << 0)
#define V4L2_CHIP_FL_WRITABLE (1 << 1)
-/* VIDIOC_DBG_G_CHIP_NAME */
-struct v4l2_dbg_chip_name {
+/* VIDIOC_DBG_G_CHIP_INFO */
+struct v4l2_dbg_chip_info {
struct v4l2_dbg_match match;
char name[32];
__u32 flags;
- __u32 reserved[8];
+ __u32 reserved[32];
} __attribute__ ((packed));
/**
/* Experimental, meant for debugging, testing and internal use.
Never use this ioctl in applications!
- Note: this ioctl is deprecated in favor of VIDIOC_DBG_G_CHIP_NAME and
+ Note: this ioctl is deprecated in favor of VIDIOC_DBG_G_CHIP_INFO and
will go away in the future. */
#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident)
/* Experimental, meant for debugging, testing and internal use.
Never use these in applications! */
-#define VIDIOC_DBG_G_CHIP_NAME _IOWR('V', 102, struct v4l2_dbg_chip_name)
+#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
/* Reminder: when adding new ioctls please add support for them to
drivers/media/video/v4l2-compat-ioctl32.c as well! */
* rc-asus-ps3-100 asus_ps3_100
* rc-pv951 pv951
* rc-avermedia-m135a avermedia_m135a
+* rc-reddo reddo
* rc-kworld-pc150u kworld_pc150u
* rc-kaiomy kaiomy
* rc-avermedia-dvbt avermedia_dvbt
int testRegister(struct node *node)
{
struct v4l2_dbg_register reg;
- struct v4l2_dbg_chip_name chip;
+ struct v4l2_dbg_chip_info chip;
int ret;
int uid = getuid();
fail_on_test(uid == 0 && ret);
chip.match.type = V4L2_CHIP_MATCH_BRIDGE;
chip.match.addr = 0;
- fail_on_test(doioctl(node, VIDIOC_DBG_G_CHIP_NAME, &chip));
+ fail_on_test(doioctl(node, VIDIOC_DBG_G_CHIP_INFO, &chip));
if (uid) {
// Don't test S_REGISTER as root, don't want to risk
// messing with registers in the compliance test.