Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6188a0f1 authored by Servaas Vandenberghe's avatar Servaas Vandenberghe Committed by Mauro Carvalho Chehab
Browse files

[media] pvrusb2: width and height maximum values



pvrusb2: The origin of the capability bounds rectangle may differ from
(left=0,top=0) so the calculation should use absolute coordinates,
here below, or use relative coordinates like
cropl_val-cap->bounds.left and cropt_val-cap->bounds.top.

Signed-off-by: default avatarMike Isely <isely@pobox.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 35fa5d4c
Loading
Loading
Loading
Loading
+16 −12
Original line number Diff line number Diff line
@@ -499,31 +499,35 @@ static int ctrl_cropt_max_get(struct pvr2_ctrl *cptr, int *top)
	return 0;
}

static int ctrl_cropw_max_get(struct pvr2_ctrl *cptr, int *val)
static int ctrl_cropw_max_get(struct pvr2_ctrl *cptr, int *width)
{
	struct v4l2_cropcap *cap = &cptr->hdw->cropcap_info;
	int stat = pvr2_hdw_check_cropcap(cptr->hdw);
	int stat, bleftend, cleft;

	stat = pvr2_hdw_check_cropcap(cptr->hdw);
	if (stat != 0) {
		return stat;
	}
	*val = 0;
	if (cap->bounds.width > cptr->hdw->cropl_val) {
		*val = cap->bounds.width - cptr->hdw->cropl_val;
	}
	bleftend = cap->bounds.left+cap->bounds.width;
	cleft = cptr->hdw->cropl_val;

	*width = cleft < bleftend ? bleftend-cleft : 0;
	return 0;
}

static int ctrl_croph_max_get(struct pvr2_ctrl *cptr, int *val)
static int ctrl_croph_max_get(struct pvr2_ctrl *cptr, int *height)
{
	struct v4l2_cropcap *cap = &cptr->hdw->cropcap_info;
	int stat = pvr2_hdw_check_cropcap(cptr->hdw);
	int stat, btopend, ctop;

	stat = pvr2_hdw_check_cropcap(cptr->hdw);
	if (stat != 0) {
		return stat;
	}
	*val = 0;
	if (cap->bounds.height > cptr->hdw->cropt_val) {
		*val = cap->bounds.height - cptr->hdw->cropt_val;
	}
	btopend = cap->bounds.top+cap->bounds.height;
	ctop = cptr->hdw->cropt_val;

	*height = ctop < btopend ? btopend-ctop : 0;
	return 0;
}