コード例 #1
0
static int fimc_is_sen_video_set_format_mplane(struct file *file, void *fh,
	struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_ctx *vctx = file->private_data;
	struct fimc_is_queue *queue;
	struct fimc_is_device_sensor *device;

	BUG_ON(!vctx);

	mdbgv_sensor("%s\n", vctx, __func__);

	queue = GET_DST_QUEUE(vctx);
	device = vctx->device;

	ret = fimc_is_video_set_format_mplane(file, vctx, format);
	if (ret) {
		merr("fimc_is_video_set_format_mplane is fail(%d)", vctx, ret);
		goto p_err;
	}

	ret = fimc_is_sensor_s_format(device,
		&queue->framecfg.format,
		queue->framecfg.width,
		queue->framecfg.height);
	if (ret) {
		merr("fimc_is_sensor_s_format is fail(%d)", vctx, ret);
		goto p_err;
	}

p_err:
	return ret;
}
コード例 #2
0
static int fimc_is_scp_video_set_format_mplane(struct file *file, void *fh,
	struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_ctx *vctx = file->private_data;
	struct fimc_is_queue *queue;
	struct fimc_is_device_ischain *ischain;

	BUG_ON(!vctx);
	BUG_ON(!vctx->device);
	BUG_ON(!format);

	mdbgv_scp("%s\n", vctx, __func__);

	queue = GET_DST_QUEUE(vctx);
	ischain = vctx->device;

	ret = fimc_is_video_set_format_mplane(file, vctx, format);
	if (ret) {
		merr("fimc_is_video_set_format_mplane is fail(%d)", vctx, ret);
		goto p_err;
	}

	ret = fimc_is_ischain_scp_s_format(ischain,
		queue->framecfg.format.pixelformat,
		queue->framecfg.width,
		queue->framecfg.height);
	if (ret)
		merr("fimc_is_ischain_scp_s_format is fail(%d)", vctx, ret);

p_err:
	return ret;
}
コード例 #3
0
static int fimc_is_isp_video_set_format_mplane(struct file *file, void *fh,
	struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_ctx *vctx = file->private_data;
	struct fimc_is_queue *queue;
	struct fimc_is_device_ischain *device;

	BUG_ON(!vctx);

	mdbgv_isp("%s\n", vctx, __func__);

	queue = GET_VCTX_QUEUE(vctx, format);
	device = vctx->device;

	ret = fimc_is_video_set_format_mplane(file, vctx, format);
	if (ret)
		merr("fimc_is_video_set_format_mplane is fail(%d)", vctx, ret);

	fimc_is_ischain_isp_s_format(device,
		queue->framecfg.width,
		queue->framecfg.height);

	return ret;
}
コード例 #4
0
static int fimc_is_scc_video_set_format_mplane(struct file *file, void *fh,
						struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_ctx *vctx = file->private_data;

	mdbgv_scc("%s\n", vctx, __func__);

	ret = fimc_is_video_set_format_mplane(file, vctx, format);
	if (ret)
		merr("fimc_is_video_set_format_mplane is fail(%d)", vctx, ret);

	return ret;
}
コード例 #5
0
ファイル: fimc-is-video-scc.c プロジェクト: hedongjie/m35x
static int fimc_is_scc_video_set_format_mplane(struct file *file, void *fh,
						struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_ctx *video_ctx = file->private_data;

	dbg_scp("%s\n", __func__);

	ret = fimc_is_video_set_format_mplane(video_ctx, format);

	dbg_scc("req w : %d req h : %d\n",
		video_ctx->frame.width,
		video_ctx->frame.height);

	return ret;
}
コード例 #6
0
static int fimc_is_bayer_video_set_format_mplane(struct file *file, void *fh,
						struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_sensor *video = file->private_data;

	dbg_scp("%s\n", __func__);

	ret = fimc_is_video_set_format_mplane(&video->common, format);

	dbg_sensor("req w : %d req h : %d\n",
		video->common.frame.width,
		video->common.frame.height);

	return ret;
}
コード例 #7
0
static int fimc_is_vdo_video_set_format_mplane(struct file *file, void *fh,
	struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_ctx *vctx = file->private_data;

	mdbgv_vdo("%s\n", vctx, __func__);

	ret = fimc_is_video_set_format_mplane(file, vctx, format);
	if (ret)
		merr("fimc_is_video_set_format_mplane is fail(%d)", vctx, ret);

	dbg_vdiso("req w : %d req h : %d\n",
		vctx->q_src.framecfg.width,
		vctx->q_src.framecfg.height);

	return ret;
}
コード例 #8
0
static int fimc_is_ixc_video_set_format_mplane(struct file *file, void *fh,
	struct v4l2_format *format)
{
		int ret = 0;
	struct fimc_is_video_ctx *vctx = file->private_data;

	BUG_ON(!vctx);
	BUG_ON(!format);

	mdbgv_ixc("%s\n", vctx, __func__);

	ret = fimc_is_video_set_format_mplane(file, vctx, format);
	if (ret) {
		merr("fimc_is_video_set_format_mplane is fail(%d)", vctx, ret);
		goto p_err;
	}

p_err:
	return ret;
}
コード例 #9
0
static int fimc_is_3a1_video_set_format_mplane(struct file *file, void *fh,
	struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_ctx *vctx = file->private_data;
	struct fimc_is_device_ischain *device;
	struct fimc_is_group *group;
	struct fimc_is_subdev *subdev;
	struct fimc_is_queue *queue;

	BUG_ON(!vctx);

	mdbgv_3a1("%s\n", vctx, __func__);

	device = vctx->device;
	BUG_ON(!device);
	group = &device->group_3ax;
	BUG_ON(!group);
	subdev = &group->leader;

	ret = fimc_is_video_set_format_mplane(file, vctx, format);
	if (ret)
		merr("fimc_is_video_set_format_mplane is fail(%d)", vctx, ret);

	if (V4L2_TYPE_IS_OUTPUT(format->type)) {
		queue = &vctx->q_src;
		fimc_is_ischain_3a1_s_format(device,
			queue->framecfg.width,
			queue->framecfg.height);
	} else {
		queue = &vctx->q_dst;
		fimc_is_subdev_s_format(subdev,
			queue->framecfg.width,
			queue->framecfg.height);
	}

	return ret;
}
コード例 #10
0
static int fimc_is_vdc_video_set_format_mplane(struct file *file, void *fh,
	struct v4l2_format *format)
{
	int ret = 0;
	struct fimc_is_video_ctx *vctx = file->private_data;
	struct fimc_is_queue *queue = &vctx->q_dst;
	struct fimc_is_device_ischain *ischain = vctx->device;

	mdbgv_vdc("%s\n", vctx, __func__);

	ret = fimc_is_video_set_format_mplane(file, vctx, format);
	if (ret)
		merr("fimc_is_video_set_format_mplane is fail(%d)", vctx, ret);

	dbg_vdisc("req w : %d req h : %d\n",
		queue->framecfg.width,
		queue->framecfg.height);

	fimc_is_ischain_vdc_s_format(ischain,
		queue->framecfg.width,
		queue->framecfg.height);

	return ret;
}