diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-04-27 11:31:04 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:43:22 -0400 |
commit | 045290b2a90ff1be60196a061aadecf70eb6bcc3 (patch) | |
tree | cbdf9547b5dbcc60f67793e4d64eff85f7accd35 /drivers/media | |
parent | b2787845fb91da18ebb079dc9297f92d990e9fe1 (diff) |
V4L/DVB (5290): Add support for VIDIOC_INT_G/S_STD_OUTPUT
Added VIDIOC_INT_G_STD_OUTPUT and VIDIOC_INT_S_STD_OUTPUT to allow drivers
to set the TV standard for video output separately from the video capture.
This is needed for cx23415 support where the decoder is separate from the
encoder and can have a different TV standard.
Modified the saa7127 module to listen to VIDIOC_INT_G/S_STD_OUTPUT instead
of VIDIOC_G/S_STD.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/saa7127.c | 4 | ||||
-rw-r--r-- | drivers/media/video/v4l2-common.c | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/video/saa7127.c b/drivers/media/video/saa7127.c index 654863db1591..50dbb76d4a7f 100644 --- a/drivers/media/video/saa7127.c +++ b/drivers/media/video/saa7127.c | |||
@@ -550,12 +550,12 @@ static int saa7127_command(struct i2c_client *client, | |||
550 | struct v4l2_routing *route = arg; | 550 | struct v4l2_routing *route = arg; |
551 | 551 | ||
552 | switch (cmd) { | 552 | switch (cmd) { |
553 | case VIDIOC_S_STD: | 553 | case VIDIOC_INT_S_STD_OUTPUT: |
554 | if (state->std == *(v4l2_std_id *)arg) | 554 | if (state->std == *(v4l2_std_id *)arg) |
555 | break; | 555 | break; |
556 | return saa7127_set_std(client, *(v4l2_std_id *)arg); | 556 | return saa7127_set_std(client, *(v4l2_std_id *)arg); |
557 | 557 | ||
558 | case VIDIOC_G_STD: | 558 | case VIDIOC_INT_G_STD_OUTPUT: |
559 | *(v4l2_std_id *)arg = state->std; | 559 | *(v4l2_std_id *)arg = state->std; |
560 | break; | 560 | break; |
561 | 561 | ||
diff --git a/drivers/media/video/v4l2-common.c b/drivers/media/video/v4l2-common.c index 740ea5a9202f..4a3635cd6f9e 100644 --- a/drivers/media/video/v4l2-common.c +++ b/drivers/media/video/v4l2-common.c | |||
@@ -420,7 +420,10 @@ static const char *v4l2_int_ioctls[] = { | |||
420 | [_IOC_NR(VIDIOC_INT_G_AUDIO_ROUTING)] = "VIDIOC_INT_G_AUDIO_ROUTING", | 420 | [_IOC_NR(VIDIOC_INT_G_AUDIO_ROUTING)] = "VIDIOC_INT_G_AUDIO_ROUTING", |
421 | [_IOC_NR(VIDIOC_INT_S_VIDEO_ROUTING)] = "VIDIOC_INT_S_VIDEO_ROUTING", | 421 | [_IOC_NR(VIDIOC_INT_S_VIDEO_ROUTING)] = "VIDIOC_INT_S_VIDEO_ROUTING", |
422 | [_IOC_NR(VIDIOC_INT_G_VIDEO_ROUTING)] = "VIDIOC_INT_G_VIDEO_ROUTING", | 422 | [_IOC_NR(VIDIOC_INT_G_VIDEO_ROUTING)] = "VIDIOC_INT_G_VIDEO_ROUTING", |
423 | [_IOC_NR(VIDIOC_INT_S_CRYSTAL_FREQ)] = "VIDIOC_INT_S_CRYSTAL_FREQ" | 423 | [_IOC_NR(VIDIOC_INT_S_CRYSTAL_FREQ)] = "VIDIOC_INT_S_CRYSTAL_FREQ", |
424 | [_IOC_NR(VIDIOC_INT_INIT)] = "VIDIOC_INT_INIT", | ||
425 | [_IOC_NR(VIDIOC_INT_G_STD_OUTPUT)] = "VIDIOC_INT_G_STD_OUTPUT", | ||
426 | [_IOC_NR(VIDIOC_INT_S_STD_OUTPUT)] = "VIDIOC_INT_S_STD_OUTPUT", | ||
424 | }; | 427 | }; |
425 | #define V4L2_INT_IOCTLS ARRAY_SIZE(v4l2_int_ioctls) | 428 | #define V4L2_INT_IOCTLS ARRAY_SIZE(v4l2_int_ioctls) |
426 | 429 | ||