aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-04-27 11:31:09 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-04-27 14:43:28 -0400
commit2435be11ae1afb64ac7dfb25e10b6e3037ab0522 (patch)
tree14bd2585f0e2b909d4ae47556e972d876b2edabb /drivers
parent3434eb7e14d9587ee56f3462bcfa5726b62dadb9 (diff)
V4L/DVB (5307): Add support for the cx23415 MPEG decoding features.
The cx23415 adds some extra features that this DVB decoding API did not support. This API has been expanded to support the required features. Both source and binary backwards compatibility is kept intact by these changes. So existing applications are not affected. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de> Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/ttpci/av7110_av.c24
-rw-r--r--drivers/media/dvb/ttpci/av7110_hw.h10
2 files changed, 17 insertions, 17 deletions
diff --git a/drivers/media/dvb/ttpci/av7110_av.c b/drivers/media/dvb/ttpci/av7110_av.c
index e719af80768..654c9e919e0 100644
--- a/drivers/media/dvb/ttpci/av7110_av.c
+++ b/drivers/media/dvb/ttpci/av7110_av.c
@@ -1009,7 +1009,7 @@ static int dvb_video_ioctl(struct inode *inode, struct file *file,
1009 if (av7110->videostate.stream_source == VIDEO_SOURCE_MEMORY) 1009 if (av7110->videostate.stream_source == VIDEO_SOURCE_MEMORY)
1010 ret = av7110_av_stop(av7110, RP_VIDEO); 1010 ret = av7110_av_stop(av7110, RP_VIDEO);
1011 else 1011 else
1012 ret = vidcom(av7110, VIDEO_CMD_STOP, 1012 ret = vidcom(av7110, AV_VIDEO_CMD_STOP,
1013 av7110->videostate.video_blank ? 0 : 1); 1013 av7110->videostate.video_blank ? 0 : 1);
1014 if (!ret) 1014 if (!ret)
1015 av7110->trickmode = TRICK_NONE; 1015 av7110->trickmode = TRICK_NONE;
@@ -1019,7 +1019,7 @@ static int dvb_video_ioctl(struct inode *inode, struct file *file,
1019 av7110->trickmode = TRICK_NONE; 1019 av7110->trickmode = TRICK_NONE;
1020 if (av7110->videostate.play_state == VIDEO_FREEZED) { 1020 if (av7110->videostate.play_state == VIDEO_FREEZED) {
1021 av7110->videostate.play_state = VIDEO_PLAYING; 1021 av7110->videostate.play_state = VIDEO_PLAYING;
1022 ret = vidcom(av7110, VIDEO_CMD_PLAY, 0); 1022 ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
1023 if (ret) 1023 if (ret)
1024 break; 1024 break;
1025 } 1025 }
@@ -1034,7 +1034,7 @@ static int dvb_video_ioctl(struct inode *inode, struct file *file,
1034 ret = av7110_av_start_play(av7110, RP_VIDEO); 1034 ret = av7110_av_start_play(av7110, RP_VIDEO);
1035 } 1035 }
1036 if (!ret) 1036 if (!ret)
1037 ret = vidcom(av7110, VIDEO_CMD_PLAY, 0); 1037 ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
1038 if (!ret) 1038 if (!ret)
1039 av7110->videostate.play_state = VIDEO_PLAYING; 1039 av7110->videostate.play_state = VIDEO_PLAYING;
1040 break; 1040 break;
@@ -1044,7 +1044,7 @@ static int dvb_video_ioctl(struct inode *inode, struct file *file,
1044 if (av7110->playing & RP_VIDEO) 1044 if (av7110->playing & RP_VIDEO)
1045 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Pause, 0); 1045 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Pause, 0);
1046 else 1046 else
1047 ret = vidcom(av7110, VIDEO_CMD_FREEZE, 1); 1047 ret = vidcom(av7110, AV_VIDEO_CMD_FREEZE, 1);
1048 if (!ret) 1048 if (!ret)
1049 av7110->trickmode = TRICK_FREEZE; 1049 av7110->trickmode = TRICK_FREEZE;
1050 break; 1050 break;
@@ -1053,7 +1053,7 @@ static int dvb_video_ioctl(struct inode *inode, struct file *file,
1053 if (av7110->playing & RP_VIDEO) 1053 if (av7110->playing & RP_VIDEO)
1054 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Continue, 0); 1054 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Continue, 0);
1055 if (!ret) 1055 if (!ret)
1056 ret = vidcom(av7110, VIDEO_CMD_PLAY, 0); 1056 ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
1057 if (!ret) { 1057 if (!ret) {
1058 av7110->videostate.play_state = VIDEO_PLAYING; 1058 av7110->videostate.play_state = VIDEO_PLAYING;
1059 av7110->trickmode = TRICK_NONE; 1059 av7110->trickmode = TRICK_NONE;
@@ -1136,7 +1136,7 @@ static int dvb_video_ioctl(struct inode *inode, struct file *file,
1136 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, 1136 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
1137 __Scan_I, 2, AV_PES, 0); 1137 __Scan_I, 2, AV_PES, 0);
1138 else 1138 else
1139 ret = vidcom(av7110, VIDEO_CMD_FFWD, arg); 1139 ret = vidcom(av7110, AV_VIDEO_CMD_FFWD, arg);
1140 if (!ret) { 1140 if (!ret) {
1141 av7110->trickmode = TRICK_FAST; 1141 av7110->trickmode = TRICK_FAST;
1142 av7110->videostate.play_state = VIDEO_PLAYING; 1142 av7110->videostate.play_state = VIDEO_PLAYING;
@@ -1147,13 +1147,13 @@ static int dvb_video_ioctl(struct inode *inode, struct file *file,
1147 if (av7110->playing&RP_VIDEO) { 1147 if (av7110->playing&RP_VIDEO) {
1148 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Slow, 2, 0, 0); 1148 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Slow, 2, 0, 0);
1149 if (!ret) 1149 if (!ret)
1150 ret = vidcom(av7110, VIDEO_CMD_SLOW, arg); 1150 ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
1151 } else { 1151 } else {
1152 ret = vidcom(av7110, VIDEO_CMD_PLAY, 0); 1152 ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
1153 if (!ret) 1153 if (!ret)
1154 ret = vidcom(av7110, VIDEO_CMD_STOP, 0); 1154 ret = vidcom(av7110, AV_VIDEO_CMD_STOP, 0);
1155 if (!ret) 1155 if (!ret)
1156 ret = vidcom(av7110, VIDEO_CMD_SLOW, arg); 1156 ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
1157 } 1157 }
1158 if (!ret) { 1158 if (!ret) {
1159 av7110->trickmode = TRICK_SLOW; 1159 av7110->trickmode = TRICK_SLOW;
@@ -1182,10 +1182,10 @@ static int dvb_video_ioctl(struct inode *inode, struct file *file,
1182 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, 1182 ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
1183 __Slow, 2, 0, 0); 1183 __Slow, 2, 0, 0);
1184 if (!ret) 1184 if (!ret)
1185 ret = vidcom(av7110, VIDEO_CMD_SLOW, arg); 1185 ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
1186 } 1186 }
1187 if (av7110->trickmode == TRICK_FREEZE) 1187 if (av7110->trickmode == TRICK_FREEZE)
1188 ret = vidcom(av7110, VIDEO_CMD_STOP, 1); 1188 ret = vidcom(av7110, AV_VIDEO_CMD_STOP, 1);
1189 } 1189 }
1190 break; 1190 break;
1191 1191
diff --git a/drivers/media/dvb/ttpci/av7110_hw.h b/drivers/media/dvb/ttpci/av7110_hw.h
index 4e173c67fbb..673d9b3f064 100644
--- a/drivers/media/dvb/ttpci/av7110_hw.h
+++ b/drivers/media/dvb/ttpci/av7110_hw.h
@@ -216,11 +216,11 @@ enum av7110_command_type {
216#define VID_CENTRE_CUT_PREF 0x05 /* PanScan with zero vector */ 216#define VID_CENTRE_CUT_PREF 0x05 /* PanScan with zero vector */
217 217
218/* MPEG video decoder commands */ 218/* MPEG video decoder commands */
219#define VIDEO_CMD_STOP 0x000e 219#define AV_VIDEO_CMD_STOP 0x000e
220#define VIDEO_CMD_PLAY 0x000d 220#define AV_VIDEO_CMD_PLAY 0x000d
221#define VIDEO_CMD_FREEZE 0x0102 221#define AV_VIDEO_CMD_FREEZE 0x0102
222#define VIDEO_CMD_FFWD 0x0016 222#define AV_VIDEO_CMD_FFWD 0x0016
223#define VIDEO_CMD_SLOW 0x0022 223#define AV_VIDEO_CMD_SLOW 0x0022
224 224
225/* MPEG audio decoder commands */ 225/* MPEG audio decoder commands */
226#define AUDIO_CMD_MUTE 0x0001 226#define AUDIO_CMD_MUTE 0x0001