am7xxx: add support for a new AM7XXX_ZOOM_TELE zoom mode
authorAntonio Ospite <ao2@ao2.it>
Wed, 7 May 2014 15:59:30 +0000 (17:59 +0200)
committerAntonio Ospite <ao2@ao2.it>
Wed, 7 May 2014 19:39:49 +0000 (21:39 +0200)
Some PicoPix projectors support a different zoom mode than the Acer
C110, in this mode the image uses a different lens distortion but the
frame aspect ratio does not change.

src/am7xxx.c
src/am7xxx.h

index 4ac2461..6fbee5c 100644 (file)
@@ -949,6 +949,7 @@ static int default_set_zoom_mode(am7xxx_device *dev, am7xxx_zoom_mode zoom)
                h.header_data.zoom.bit0 = 1;
                break;
 
                h.header_data.zoom.bit0 = 1;
                break;
 
+       case AM7XXX_ZOOM_TELE:
        default:
                error(dev->ctx, "Unsupported zoom mode.\n");
                return -EINVAL;
        default:
                error(dev->ctx, "Unsupported zoom mode.\n");
                return -EINVAL;
index ec9869d..77c2030 100644 (file)
@@ -114,12 +114,17 @@ typedef enum {
  *
  * @note On the zoom test screen the version of the firmware running on the
  * device is shown as well (e.g SPI_V21.0.0_2011.03.18).
  *
  * @note On the zoom test screen the version of the firmware running on the
  * device is shown as well (e.g SPI_V21.0.0_2011.03.18).
+ *
+ * @note The Tele mode is available only on some PicoPix models, when using it
+ * the image is distorted like if a different lens was used, but the global
+ * aspect ratio of the image does not change.
  */
 typedef enum {
        AM7XXX_ZOOM_ORIGINAL = 0, /**< Original Size, as retrieved via #am7xxx_device_info. */
        AM7XXX_ZOOM_H        = 1, /**< Zoom 1: H Scale (changes aspect ratio). */
        AM7XXX_ZOOM_H_V      = 2, /**< Zoom 2: H/V Scale (changes aspect ratio). */
        AM7XXX_ZOOM_TEST     = 3, /**< Zoom test screen, the firmware version is shown as well. */
  */
 typedef enum {
        AM7XXX_ZOOM_ORIGINAL = 0, /**< Original Size, as retrieved via #am7xxx_device_info. */
        AM7XXX_ZOOM_H        = 1, /**< Zoom 1: H Scale (changes aspect ratio). */
        AM7XXX_ZOOM_H_V      = 2, /**< Zoom 2: H/V Scale (changes aspect ratio). */
        AM7XXX_ZOOM_TEST     = 3, /**< Zoom test screen, the firmware version is shown as well. */
+       AM7XXX_ZOOM_TELE     = 4, /**< Zoom Tele: available on some PicoPix models. */
 } am7xxx_zoom_mode;
 
 /**
 } am7xxx_zoom_mode;
 
 /**