From: Antonio Ospite <ao2@ao2.it>
Date: Wed, 7 May 2014 15:59:30 +0000 (+0200)
Subject: am7xxx: add support for a new AM7XXX_ZOOM_TELE zoom mode
X-Git-Tag: v0.1.5~10^2~3
X-Git-Url: https://git.ao2.it/libam7xxx.git/commitdiff_plain/0b7bc28411a51a87402b341f1928daadc5ca6dbb?hp=--cc

am7xxx: add support for a new AM7XXX_ZOOM_TELE zoom mode

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.
---

0b7bc28411a51a87402b341f1928daadc5ca6dbb
diff --git a/src/am7xxx.c b/src/am7xxx.c
index 4ac2461..6fbee5c 100644
--- a/src/am7xxx.c
+++ b/src/am7xxx.c
@@ -949,6 +949,7 @@ static int default_set_zoom_mode(am7xxx_device *dev, am7xxx_zoom_mode zoom)
 		h.header_data.zoom.bit0 = 1;
 		break;
 
+	case AM7XXX_ZOOM_TELE:
 	default:
 		error(dev->ctx, "Unsupported zoom mode.\n");
 		return -EINVAL;
diff --git a/src/am7xxx.h b/src/am7xxx.h
index ec9869d..77c2030 100644
--- a/src/am7xxx.h
+++ b/src/am7xxx.h
@@ -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 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. */
+	AM7XXX_ZOOM_TELE     = 4, /**< Zoom Tele: available on some PicoPix models. */
 } am7xxx_zoom_mode;
 
 /**