Commit 475977ac authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB: ivtv: convert to use s_mbus_fmt

parent 6c69db9d
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -267,13 +267,13 @@ int ivtv_s_ext_ctrls(struct file *file, void *fh, struct v4l2_ext_controls *c)
		if (p.video_encoding != itv->params.video_encoding) {
			int is_mpeg1 = p.video_encoding ==
				V4L2_MPEG_VIDEO_ENCODING_MPEG_1;
			struct v4l2_format fmt;
			struct v4l2_mbus_framefmt fmt;

			/* fix videodecoder resolution */
			fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
			fmt.fmt.pix.width = itv->params.width / (is_mpeg1 ? 2 : 1);
			fmt.fmt.pix.height = itv->params.height;
			v4l2_subdev_call(itv->sd_video, video, s_fmt, &fmt);
			fmt.width = itv->params.width / (is_mpeg1 ? 2 : 1);
			fmt.height = itv->params.height;
			fmt.code = V4L2_MBUS_FMT_FIXED;
			v4l2_subdev_call(itv->sd_video, video, s_mbus_fmt, &fmt);
		}
		err = cx2341x_update(itv, ivtv_api_func, &itv->params, &p);
		if (!err && itv->params.stream_vbi_fmt != p.stream_vbi_fmt)
+5 −1
Original line number Diff line number Diff line
@@ -569,6 +569,7 @@ static int ivtv_s_fmt_vid_cap(struct file *file, void *fh, struct v4l2_format *f
	struct ivtv_open_id *id = fh;
	struct ivtv *itv = id->itv;
	struct cx2341x_mpeg_params *p = &itv->params;
	struct v4l2_mbus_framefmt mbus_fmt;
	int ret = ivtv_try_fmt_vid_cap(file, fh, fmt);
	int w = fmt->fmt.pix.width;
	int h = fmt->fmt.pix.height;
@@ -586,7 +587,10 @@ static int ivtv_s_fmt_vid_cap(struct file *file, void *fh, struct v4l2_format *f
	p->height = h;
	if (p->video_encoding == V4L2_MPEG_VIDEO_ENCODING_MPEG_1)
		fmt->fmt.pix.width /= 2;
	v4l2_subdev_call(itv->sd_video, video, s_fmt, fmt);
	mbus_fmt.width = fmt->fmt.pix.width;
	mbus_fmt.height = h;
	mbus_fmt.code = V4L2_MBUS_FMT_FIXED;
	v4l2_subdev_call(itv->sd_video, video, s_mbus_fmt, &mbus_fmt);
	return ivtv_g_fmt_vid_cap(file, fh, fmt);
}