diff options
Diffstat (limited to 'linux')
-rw-r--r-- | linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt | 19 | ||||
-rw-r--r-- | linux/drivers/media/video/cafe_ccic.c | 3 | ||||
-rw-r--r-- | linux/drivers/media/video/v4l2-common.c | 4 | ||||
-rw-r--r-- | linux/include/linux/dvb/version.h | 2 | ||||
-rw-r--r-- | linux/include/linux/videodev2.h | 7 | ||||
-rw-r--r-- | linux/include/media/cx2341x.h | 2 | ||||
-rw-r--r-- | linux/include/media/v4l2-chip-ident.h | 4 |
7 files changed, 21 insertions, 20 deletions
diff --git a/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt b/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt index 242104ce5..5dd3109a8 100644 --- a/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt +++ b/linux/Documentation/video4linux/cx2341x/fw-encoder-api.txt @@ -663,12 +663,13 @@ Param[0] ------------------------------------------------------------------------------- -Name CX2341X_ENC_UNKNOWN +Name CX2341X_ENC_SET_VERT_CROP_LINE Enum 219/0xDB Description - Unknown API, it's used by Hauppauge though. + Something to do with 'Vertical Crop Line' Param[0] - 0 This is the value Hauppauge uses, Unknown what it means. + If saa7114 and raw VBI capture and 60 Hz, then set to 10001. + Else 0. ------------------------------------------------------------------------------- @@ -682,11 +683,9 @@ Param[0] Command number: 1=set initial SCR value when starting encoding (works). 2=set quality mode (apparently some test setting). - 3=setup advanced VIM protection handling (supposedly only for the cx23416 - for raw YUV). - Actually it looks like this should be 0 for saa7114/5 based card and 1 - for cx25840 based cards. - 4=generate artificial PTS timestamps + 3=setup advanced VIM protection handling. + Always 1 for the cx23416 and 0 for cx23415. + 4=generate DVD compatible PTS timestamps 5=USB flush mode 6=something to do with the quantization matrix 7=set navigation pack insertion for DVD: adds 0xbf (private stream 2) @@ -698,7 +697,9 @@ Param[0] 9=set history parameters of the video input module 10=set input field order of VIM 11=set quantization matrix - 12=reset audio interface + 12=reset audio interface after channel change or input switch (has no argument). + Needed for the cx2584x, not needed for the mspx4xx, but it doesn't seem to + do any harm calling it regardless. 13=set audio volume delay 14=set audio delay diff --git a/linux/drivers/media/video/cafe_ccic.c b/linux/drivers/media/video/cafe_ccic.c index 5f35836ad..b96d45654 100644 --- a/linux/drivers/media/video/cafe_ccic.c +++ b/linux/drivers/media/video/cafe_ccic.c @@ -826,7 +826,7 @@ static int __cafe_cam_reset(struct cafe_camera *cam) */ static int cafe_cam_init(struct cafe_camera *cam) { - struct v4l2_chip_ident chip = { V4L2_CHIP_MATCH_ALWAYS }; + struct v4l2_chip_ident chip = { V4L2_CHIP_MATCH_I2C_ADDR, 0, 0, 0 }; int ret; mutex_lock(&cam->s_mutex); @@ -836,6 +836,7 @@ static int cafe_cam_init(struct cafe_camera *cam) ret = __cafe_cam_reset(cam); if (ret) goto out; + chip.match_chip = cam->sensor->addr; ret = __cafe_cam_cmd(cam, VIDIOC_G_CHIP_IDENT, &chip); if (ret) goto out; diff --git a/linux/drivers/media/video/v4l2-common.c b/linux/drivers/media/video/v4l2-common.c index b2d57d888..60c56a8b0 100644 --- a/linux/drivers/media/video/v4l2-common.c +++ b/linux/drivers/media/video/v4l2-common.c @@ -1596,8 +1596,6 @@ u32 v4l2_ctrl_next(const u32 * const * ctrl_classes, u32 id) int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 match_type, u32 match_chip) { switch (match_type) { - case V4L2_CHIP_MATCH_ALWAYS: - return 1; case V4L2_CHIP_MATCH_I2C_DRIVER: return (c != NULL && c->driver != NULL && c->driver->id == match_chip); case V4L2_CHIP_MATCH_I2C_ADDR: @@ -1610,8 +1608,6 @@ int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 match_type, u32 match_c int v4l2_chip_match_host(u32 match_type, u32 match_chip) { switch (match_type) { - case V4L2_CHIP_MATCH_ALWAYS: - return 1; case V4L2_CHIP_MATCH_HOST: return match_chip == 0; default: diff --git a/linux/include/linux/dvb/version.h b/linux/include/linux/dvb/version.h index 6183c9c48..126e0c26c 100644 --- a/linux/include/linux/dvb/version.h +++ b/linux/include/linux/dvb/version.h @@ -24,6 +24,6 @@ #define _DVBVERSION_H_ #define DVB_API_VERSION 3 -#define DVB_API_VERSION_MINOR 1 +#define DVB_API_VERSION_MINOR 2 #endif /*_DVBVERSION_H_*/ diff --git a/linux/include/linux/videodev2.h b/linux/include/linux/videodev2.h index 8a5aabb84..76af1e16a 100644 --- a/linux/include/linux/videodev2.h +++ b/linux/include/linux/videodev2.h @@ -1387,10 +1387,9 @@ struct v4l2_streamparm /* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */ -#define V4L2_CHIP_MATCH_ALWAYS 0 /* Match always (match_chip is not used) */ -#define V4L2_CHIP_MATCH_HOST 1 /* Match against chip ID on host (0 for the host) */ -#define V4L2_CHIP_MATCH_I2C_DRIVER 2 /* Match against I2C driver ID */ -#define V4L2_CHIP_MATCH_I2C_ADDR 3 /* Match against I2C 7-bit address */ +#define V4L2_CHIP_MATCH_HOST 0 /* Match against chip ID on host (0 for the host) */ +#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver ID */ +#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */ struct v4l2_register { __u32 match_type; /* Match type */ diff --git a/linux/include/media/cx2341x.h b/linux/include/media/cx2341x.h index 583b0621f..38c12fed7 100644 --- a/linux/include/media/cx2341x.h +++ b/linux/include/media/cx2341x.h @@ -166,7 +166,7 @@ void cx2341x_log_status(struct cx2341x_mpeg_params *p, const char *prefix); #define CX2341X_ENC_SET_PLACEHOLDER 0xd7 #define CX2341X_ENC_MUTE_VIDEO 0xd9 #define CX2341X_ENC_MUTE_AUDIO 0xda -#define CX2341X_ENC_UNKNOWN 0xdb +#define CX2341X_ENC_SET_VERT_CROP_LINE 0xdb #define CX2341X_ENC_MISC 0xdc /* OSD API, specific to the cx23415 */ diff --git a/linux/include/media/v4l2-chip-ident.h b/linux/include/media/v4l2-chip-ident.h index 67a34d528..5698fcd1d 100644 --- a/linux/include/media/v4l2-chip-ident.h +++ b/linux/include/media/v4l2-chip-ident.h @@ -55,6 +55,10 @@ enum { /* OmniVision sensors - range 250-299 */ V4L2_IDENT_OV7670 = 250, + + /* Conexant MPEG encoder/decoders: range 410-420 */ + V4L2_IDENT_CX23415 = 415, + V4L2_IDENT_CX23416 = 416, }; #endif |