mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 05:45:20 +00:00
[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: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
35fa5d4c48
commit
6188a0f151
@ -499,31 +499,35 @@ static int ctrl_cropt_max_get(struct pvr2_ctrl *cptr, int *top)
|
|||||||
return 0;
|
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;
|
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) {
|
if (stat != 0) {
|
||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
*val = 0;
|
bleftend = cap->bounds.left+cap->bounds.width;
|
||||||
if (cap->bounds.width > cptr->hdw->cropl_val) {
|
cleft = cptr->hdw->cropl_val;
|
||||||
*val = cap->bounds.width - cptr->hdw->cropl_val;
|
|
||||||
}
|
*width = cleft < bleftend ? bleftend-cleft : 0;
|
||||||
return 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;
|
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) {
|
if (stat != 0) {
|
||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
*val = 0;
|
btopend = cap->bounds.top+cap->bounds.height;
|
||||||
if (cap->bounds.height > cptr->hdw->cropt_val) {
|
ctop = cptr->hdw->cropt_val;
|
||||||
*val = cap->bounds.height - cptr->hdw->cropt_val;
|
|
||||||
}
|
*height = ctop < btopend ? btopend-ctop : 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user