diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-04-27 11:31:00 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:43:18 -0400 |
commit | 5eee72e88416ef11f55791626440ac3c9018c4c0 (patch) | |
tree | 0d4f7a69f2ec75c95a459d5ef6ab461e6750910a /drivers/media/video/v4l2-common.c | |
parent | b7eee616ad8db5db5441a7d82083003df3ab6d3b (diff) |
V4L/DVB (5268): Add support for three new MPEG controls.
Added V4L2_CID_MPEG_AUDIO_MUTE, V4L2_CID_MPEG_VIDEO_MUTE and
V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS controls together with
their implementation in the cx2341x module.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/v4l2-common.c')
-rw-r--r-- | drivers/media/video/v4l2-common.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/video/v4l2-common.c b/drivers/media/video/v4l2-common.c index 54747606eae1..43a8467f0209 100644 --- a/drivers/media/video/v4l2-common.c +++ b/drivers/media/video/v4l2-common.c | |||
@@ -680,6 +680,7 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 ste | |||
680 | case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION: name = "Audio Stereo Mode Extension"; break; | 680 | case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION: name = "Audio Stereo Mode Extension"; break; |
681 | case V4L2_CID_MPEG_AUDIO_EMPHASIS: name = "Audio Emphasis"; break; | 681 | case V4L2_CID_MPEG_AUDIO_EMPHASIS: name = "Audio Emphasis"; break; |
682 | case V4L2_CID_MPEG_AUDIO_CRC: name = "Audio CRC"; break; | 682 | case V4L2_CID_MPEG_AUDIO_CRC: name = "Audio CRC"; break; |
683 | case V4L2_CID_MPEG_AUDIO_MUTE: name = "Audio Mute"; break; | ||
683 | case V4L2_CID_MPEG_VIDEO_ENCODING: name = "Video Encoding"; break; | 684 | case V4L2_CID_MPEG_VIDEO_ENCODING: name = "Video Encoding"; break; |
684 | case V4L2_CID_MPEG_VIDEO_ASPECT: name = "Video Aspect"; break; | 685 | case V4L2_CID_MPEG_VIDEO_ASPECT: name = "Video Aspect"; break; |
685 | case V4L2_CID_MPEG_VIDEO_B_FRAMES: name = "Video B Frames"; break; | 686 | case V4L2_CID_MPEG_VIDEO_B_FRAMES: name = "Video B Frames"; break; |
@@ -690,6 +691,8 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 ste | |||
690 | case V4L2_CID_MPEG_VIDEO_BITRATE: name = "Video Bitrate"; break; | 691 | case V4L2_CID_MPEG_VIDEO_BITRATE: name = "Video Bitrate"; break; |
691 | case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK: name = "Video Peak Bitrate"; break; | 692 | case V4L2_CID_MPEG_VIDEO_BITRATE_PEAK: name = "Video Peak Bitrate"; break; |
692 | case V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION: name = "Video Temporal Decimation"; break; | 693 | case V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION: name = "Video Temporal Decimation"; break; |
694 | case V4L2_CID_MPEG_VIDEO_MUTE: name = "Video Mute"; break; | ||
695 | case V4L2_CID_MPEG_VIDEO_MUTE_YUV: name = "Video Mute YUV"; break; | ||
693 | case V4L2_CID_MPEG_STREAM_TYPE: name = "Stream Type"; break; | 696 | case V4L2_CID_MPEG_STREAM_TYPE: name = "Stream Type"; break; |
694 | case V4L2_CID_MPEG_STREAM_PID_PMT: name = "Stream PMT Program ID"; break; | 697 | case V4L2_CID_MPEG_STREAM_PID_PMT: name = "Stream PMT Program ID"; break; |
695 | case V4L2_CID_MPEG_STREAM_PID_AUDIO: name = "Stream Audio Program ID"; break; | 698 | case V4L2_CID_MPEG_STREAM_PID_AUDIO: name = "Stream Audio Program ID"; break; |
@@ -705,6 +708,7 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 ste | |||
705 | switch (qctrl->id) { | 708 | switch (qctrl->id) { |
706 | case V4L2_CID_AUDIO_MUTE: | 709 | case V4L2_CID_AUDIO_MUTE: |
707 | case V4L2_CID_AUDIO_LOUDNESS: | 710 | case V4L2_CID_AUDIO_LOUDNESS: |
711 | case V4L2_CID_MPEG_AUDIO_MUTE: | ||
708 | case V4L2_CID_MPEG_VIDEO_GOP_CLOSURE: | 712 | case V4L2_CID_MPEG_VIDEO_GOP_CLOSURE: |
709 | case V4L2_CID_MPEG_VIDEO_PULLDOWN: | 713 | case V4L2_CID_MPEG_VIDEO_PULLDOWN: |
710 | qctrl->type = V4L2_CTRL_TYPE_BOOLEAN; | 714 | qctrl->type = V4L2_CTRL_TYPE_BOOLEAN; |
@@ -838,6 +842,8 @@ int v4l2_ctrl_query_fill_std(struct v4l2_queryctrl *qctrl) | |||
838 | V4L2_MPEG_AUDIO_CRC_NONE, | 842 | V4L2_MPEG_AUDIO_CRC_NONE, |
839 | V4L2_MPEG_AUDIO_CRC_CRC16, 1, | 843 | V4L2_MPEG_AUDIO_CRC_CRC16, 1, |
840 | V4L2_MPEG_AUDIO_CRC_NONE); | 844 | V4L2_MPEG_AUDIO_CRC_NONE); |
845 | case V4L2_CID_MPEG_AUDIO_MUTE: | ||
846 | return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0); | ||
841 | case V4L2_CID_MPEG_VIDEO_ENCODING: | 847 | case V4L2_CID_MPEG_VIDEO_ENCODING: |
842 | return v4l2_ctrl_query_fill(qctrl, | 848 | return v4l2_ctrl_query_fill(qctrl, |
843 | V4L2_MPEG_VIDEO_ENCODING_MPEG_1, | 849 | V4L2_MPEG_VIDEO_ENCODING_MPEG_1, |
@@ -867,6 +873,10 @@ int v4l2_ctrl_query_fill_std(struct v4l2_queryctrl *qctrl) | |||
867 | return v4l2_ctrl_query_fill(qctrl, 0, 27000000, 1, 8000000); | 873 | return v4l2_ctrl_query_fill(qctrl, 0, 27000000, 1, 8000000); |
868 | case V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION: | 874 | case V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION: |
869 | return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 0); | 875 | return v4l2_ctrl_query_fill(qctrl, 0, 255, 1, 0); |
876 | case V4L2_CID_MPEG_VIDEO_MUTE: | ||
877 | return v4l2_ctrl_query_fill(qctrl, 0, 1, 1, 0); | ||
878 | case V4L2_CID_MPEG_VIDEO_MUTE_YUV: /* Init YUV (really YCbCr) to black */ | ||
879 | return v4l2_ctrl_query_fill(qctrl, 0, 0xffffff, 1, 0x008080); | ||
870 | case V4L2_CID_MPEG_STREAM_TYPE: | 880 | case V4L2_CID_MPEG_STREAM_TYPE: |
871 | return v4l2_ctrl_query_fill(qctrl, | 881 | return v4l2_ctrl_query_fill(qctrl, |
872 | V4L2_MPEG_STREAM_TYPE_MPEG2_PS, | 882 | V4L2_MPEG_STREAM_TYPE_MPEG2_PS, |