staging: Solo6x10: accept WxH >= screen dimentions.
authorKrzysztof Hałasa <khalasa@piap.pl>
Fri, 11 Feb 2011 12:10:30 +0000 (13:10 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Feb 2011 20:37:02 +0000 (12:37 -0800)
This makes it possible to request full resolution (704x576 or 704x480)
independently of the color system used (PAL or NTSC).

Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/solo6x10/solo6010-v4l2-enc.c

index 7bbb94097d2915458f3f17c6131872d9d6ee6f08..2b3d30b7f9fc0b418b10f6fddd456648037a7435 100644 (file)
@@ -1034,13 +1034,17 @@ static int solo_enc_try_fmt_cap(struct file *file, void *priv,
                if (pix->width != solo_enc->width ||
                    pix->height != solo_enc->height)
                        return -EBUSY;
-       } else if (!(pix->width == solo_dev->video_hsize &&
-             pix->height == solo_dev->video_vsize << 1) &&
-           !(pix->width == solo_dev->video_hsize >> 1 &&
-             pix->height == solo_dev->video_vsize)) {
+       }
+
+       if (pix->width < solo_dev->video_hsize ||
+           pix->height < solo_dev->video_vsize << 1) {
                /* Default to CIF 1/2 size */
                pix->width = solo_dev->video_hsize >> 1;
                pix->height = solo_dev->video_vsize;
+       } else {
+               /* Full frame */
+               pix->width = solo_dev->video_hsize;
+               pix->height = solo_dev->video_vsize << 1;
        }
 
        if (pix->field == V4L2_FIELD_ANY)