|
@@ -1827,8 +1827,8 @@ w9968cf_set_window(struct w9968cf_device* cam, struct video_window win)
|
|
|
int err = 0;
|
|
|
|
|
|
/* Work around to avoid FP arithmetics */
|
|
|
- #define __SC(x) ((x) << 10)
|
|
|
- #define __UNSC(x) ((x) >> 10)
|
|
|
+ #define SC(x) ((x) << 10)
|
|
|
+ #define UNSC(x) ((x) >> 10)
|
|
|
|
|
|
/* Make sure we are using a supported resolution */
|
|
|
if ((err = w9968cf_adjust_window_size(cam, (u16*)&win.width,
|
|
@@ -1836,15 +1836,15 @@ w9968cf_set_window(struct w9968cf_device* cam, struct video_window win)
|
|
|
goto error;
|
|
|
|
|
|
/* Scaling factors */
|
|
|
- fw = __SC(win.width) / cam->maxwidth;
|
|
|
- fh = __SC(win.height) / cam->maxheight;
|
|
|
+ fw = SC(win.width) / cam->maxwidth;
|
|
|
+ fh = SC(win.height) / cam->maxheight;
|
|
|
|
|
|
/* Set up the width and height values used by the chip */
|
|
|
if ((win.width > cam->maxwidth) || (win.height > cam->maxheight)) {
|
|
|
cam->vpp_flag |= VPP_UPSCALE;
|
|
|
/* Calculate largest w,h mantaining the same w/h ratio */
|
|
|
- w = (fw >= fh) ? cam->maxwidth : __SC(win.width)/fh;
|
|
|
- h = (fw >= fh) ? __SC(win.height)/fw : cam->maxheight;
|
|
|
+ w = (fw >= fh) ? cam->maxwidth : SC(win.width)/fh;
|
|
|
+ h = (fw >= fh) ? SC(win.height)/fw : cam->maxheight;
|
|
|
if (w < cam->minwidth) /* just in case */
|
|
|
w = cam->minwidth;
|
|
|
if (h < cam->minheight) /* just in case */
|
|
@@ -1861,8 +1861,8 @@ w9968cf_set_window(struct w9968cf_device* cam, struct video_window win)
|
|
|
|
|
|
/* Calculate cropped area manteining the right w/h ratio */
|
|
|
if (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE)) {
|
|
|
- cw = (fw >= fh) ? cam->maxwidth : __SC(win.width)/fh;
|
|
|
- ch = (fw >= fh) ? __SC(win.height)/fw : cam->maxheight;
|
|
|
+ cw = (fw >= fh) ? cam->maxwidth : SC(win.width)/fh;
|
|
|
+ ch = (fw >= fh) ? SC(win.height)/fw : cam->maxheight;
|
|
|
} else {
|
|
|
cw = w;
|
|
|
ch = h;
|
|
@@ -1901,8 +1901,8 @@ w9968cf_set_window(struct w9968cf_device* cam, struct video_window win)
|
|
|
/* We have to scale win.x and win.y offsets */
|
|
|
if ( (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE))
|
|
|
|| (cam->vpp_flag & VPP_UPSCALE) ) {
|
|
|
- ax = __SC(win.x)/fw;
|
|
|
- ay = __SC(win.y)/fh;
|
|
|
+ ax = SC(win.x)/fw;
|
|
|
+ ay = SC(win.y)/fh;
|
|
|
} else {
|
|
|
ax = win.x;
|
|
|
ay = win.y;
|
|
@@ -1917,8 +1917,8 @@ w9968cf_set_window(struct w9968cf_device* cam, struct video_window win)
|
|
|
/* Adjust win.x, win.y */
|
|
|
if ( (cam->largeview && !(cam->vpp_flag & VPP_UPSCALE))
|
|
|
|| (cam->vpp_flag & VPP_UPSCALE) ) {
|
|
|
- win.x = __UNSC(ax*fw);
|
|
|
- win.y = __UNSC(ay*fh);
|
|
|
+ win.x = UNSC(ax*fw);
|
|
|
+ win.y = UNSC(ay*fh);
|
|
|
} else {
|
|
|
win.x = ax;
|
|
|
win.y = ay;
|