diff options
Diffstat (limited to 'drivers/media/video/cx18/cx18-controls.c')
-rw-r--r-- | drivers/media/video/cx18/cx18-controls.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/media/video/cx18/cx18-controls.c b/drivers/media/video/cx18/cx18-controls.c index 4b4b46544d5a..67043c7b452b 100644 --- a/drivers/media/video/cx18/cx18-controls.c +++ b/drivers/media/video/cx18/cx18-controls.c | |||
@@ -297,14 +297,13 @@ int cx18_s_ext_ctrls(struct file *file, void *fh, struct v4l2_ext_controls *c) | |||
297 | if (p.video_encoding != cx->params.video_encoding) { | 297 | if (p.video_encoding != cx->params.video_encoding) { |
298 | int is_mpeg1 = p.video_encoding == | 298 | int is_mpeg1 = p.video_encoding == |
299 | V4L2_MPEG_VIDEO_ENCODING_MPEG_1; | 299 | V4L2_MPEG_VIDEO_ENCODING_MPEG_1; |
300 | struct v4l2_format fmt; | 300 | struct v4l2_mbus_framefmt fmt; |
301 | 301 | ||
302 | /* fix videodecoder resolution */ | 302 | /* fix videodecoder resolution */ |
303 | fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | 303 | fmt.width = cx->params.width / (is_mpeg1 ? 2 : 1); |
304 | fmt.fmt.pix.width = cx->params.width | 304 | fmt.height = cx->params.height; |
305 | / (is_mpeg1 ? 2 : 1); | 305 | fmt.code = V4L2_MBUS_FMT_FIXED; |
306 | fmt.fmt.pix.height = cx->params.height; | 306 | v4l2_subdev_call(cx->sd_av, video, s_mbus_fmt, &fmt); |
307 | v4l2_subdev_call(cx->sd_av, video, s_fmt, &fmt); | ||
308 | } | 307 | } |
309 | priv.cx = cx; | 308 | priv.cx = cx; |
310 | priv.s = &cx->streams[id->type]; | 309 | priv.s = &cx->streams[id->type]; |