diff options
-rw-r--r-- | Documentation/DocBook/media/v4l/biblio.xml | 11 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/controls.xml | 38 | ||||
-rw-r--r-- | drivers/media/video/v4l2-ctrls.c | 11 | ||||
-rw-r--r-- | include/linux/videodev2.h | 7 |
4 files changed, 67 insertions, 0 deletions
diff --git a/Documentation/DocBook/media/v4l/biblio.xml b/Documentation/DocBook/media/v4l/biblio.xml index 7dc65c592a87..66a0ef251c79 100644 --- a/Documentation/DocBook/media/v4l/biblio.xml +++ b/Documentation/DocBook/media/v4l/biblio.xml | |||
@@ -197,4 +197,15 @@ in the frequency range from 87,5 to 108,0 MHz</title> | |||
197 | <title>NTSC-4: United States RBDS Standard</title> | 197 | <title>NTSC-4: United States RBDS Standard</title> |
198 | </biblioentry> | 198 | </biblioentry> |
199 | 199 | ||
200 | <biblioentry id="iso12232"> | ||
201 | <abbrev>ISO 12232:2006</abbrev> | ||
202 | <authorgroup> | ||
203 | <corpauthor>International Organization for Standardization | ||
204 | (<ulink url="http://www.iso.org">http://www.iso.org</ulink>)</corpauthor> | ||
205 | </authorgroup> | ||
206 | <title>Photography — Digital still cameras — Determination | ||
207 | of exposure index, ISO speed ratings, standard output sensitivity, and | ||
208 | recommended exposure index</title> | ||
209 | </biblioentry> | ||
210 | |||
200 | </bibliography> | 211 | </bibliography> |
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml index 74876b423bc3..8fccfe1b2058 100644 --- a/Documentation/DocBook/media/v4l/controls.xml +++ b/Documentation/DocBook/media/v4l/controls.xml | |||
@@ -3117,6 +3117,44 @@ control in the future, if more options are required.</para></footnote></entry> | |||
3117 | </row> | 3117 | </row> |
3118 | <row><entry></entry></row> | 3118 | <row><entry></entry></row> |
3119 | 3119 | ||
3120 | <row> | ||
3121 | <entry spanname="id"><constant>V4L2_CID_ISO_SENSITIVITY</constant> </entry> | ||
3122 | <entry>integer menu</entry> | ||
3123 | </row><row><entry spanname="descr">Determines ISO equivalent of an | ||
3124 | image sensor indicating the sensor's sensitivity to light. The numbers are | ||
3125 | expressed in arithmetic scale, as per <xref linkend="iso12232" /> standard, | ||
3126 | where doubling the sensor sensitivity is represented by doubling the numerical | ||
3127 | ISO value. Applications should interpret the values as standard ISO values | ||
3128 | multiplied by 1000, e.g. control value 800 stands for ISO 0.8. Drivers will | ||
3129 | usually support only a subset of standard ISO values. The effect of setting | ||
3130 | this control while the <constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant> | ||
3131 | control is set to a value other than <constant>V4L2_CID_ISO_SENSITIVITY_MANUAL | ||
3132 | </constant> is undefined, drivers should ignore such requests.</entry> | ||
3133 | </row> | ||
3134 | <row><entry></entry></row> | ||
3135 | |||
3136 | <row id="v4l2-iso-sensitivity-auto-type"> | ||
3137 | <entry spanname="id"><constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant> </entry> | ||
3138 | <entry>enum v4l2_iso_sensitivity_type</entry> | ||
3139 | </row><row><entry spanname="descr">Enables or disables automatic ISO | ||
3140 | sensitivity adjustments.</entry> | ||
3141 | </row> | ||
3142 | <row> | ||
3143 | <entrytbl spanname="descr" cols="2"> | ||
3144 | <tbody valign="top"> | ||
3145 | <row> | ||
3146 | <entry><constant>V4L2_CID_ISO_SENSITIVITY_MANUAL</constant> </entry> | ||
3147 | <entry>Manual ISO sensitivity.</entry> | ||
3148 | </row> | ||
3149 | <row> | ||
3150 | <entry><constant>V4L2_CID_ISO_SENSITIVITY_AUTO</constant> </entry> | ||
3151 | <entry>Automatic ISO sensitivity adjustments.</entry> | ||
3152 | </row> | ||
3153 | </tbody> | ||
3154 | </entrytbl> | ||
3155 | </row> | ||
3156 | <row><entry></entry></row> | ||
3157 | |||
3120 | </tbody> | 3158 | </tbody> |
3121 | </tgroup> | 3159 | </tgroup> |
3122 | </table> | 3160 | </table> |
diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c index 2da8b98ac757..debaf9fb9004 100644 --- a/drivers/media/video/v4l2-ctrls.c +++ b/drivers/media/video/v4l2-ctrls.c | |||
@@ -262,6 +262,11 @@ const char * const *v4l2_ctrl_get_menu(u32 id) | |||
262 | "Shade", | 262 | "Shade", |
263 | NULL, | 263 | NULL, |
264 | }; | 264 | }; |
265 | static const char * const camera_iso_sensitivity_auto[] = { | ||
266 | "Manual", | ||
267 | "Auto", | ||
268 | NULL | ||
269 | }; | ||
265 | static const char * const tune_preemphasis[] = { | 270 | static const char * const tune_preemphasis[] = { |
266 | "No Preemphasis", | 271 | "No Preemphasis", |
267 | "50 Microseconds", | 272 | "50 Microseconds", |
@@ -433,6 +438,8 @@ const char * const *v4l2_ctrl_get_menu(u32 id) | |||
433 | return colorfx; | 438 | return colorfx; |
434 | case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE: | 439 | case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE: |
435 | return auto_n_preset_white_balance; | 440 | return auto_n_preset_white_balance; |
441 | case V4L2_CID_ISO_SENSITIVITY_AUTO: | ||
442 | return camera_iso_sensitivity_auto; | ||
436 | case V4L2_CID_TUNE_PREEMPHASIS: | 443 | case V4L2_CID_TUNE_PREEMPHASIS: |
437 | return tune_preemphasis; | 444 | return tune_preemphasis; |
438 | case V4L2_CID_FLASH_LED_MODE: | 445 | case V4L2_CID_FLASH_LED_MODE: |
@@ -623,6 +630,8 @@ const char *v4l2_ctrl_get_name(u32 id) | |||
623 | case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE: return "White Balance, Auto & Preset"; | 630 | case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE: return "White Balance, Auto & Preset"; |
624 | case V4L2_CID_WIDE_DYNAMIC_RANGE: return "Wide Dynamic Range"; | 631 | case V4L2_CID_WIDE_DYNAMIC_RANGE: return "Wide Dynamic Range"; |
625 | case V4L2_CID_IMAGE_STABILIZATION: return "Image Stabilization"; | 632 | case V4L2_CID_IMAGE_STABILIZATION: return "Image Stabilization"; |
633 | case V4L2_CID_ISO_SENSITIVITY: return "ISO Sensitivity"; | ||
634 | case V4L2_CID_ISO_SENSITIVITY_AUTO: return "ISO Sensitivity, Auto"; | ||
626 | 635 | ||
627 | /* FM Radio Modulator control */ | 636 | /* FM Radio Modulator control */ |
628 | /* Keep the order of the 'case's the same as in videodev2.h! */ | 637 | /* Keep the order of the 'case's the same as in videodev2.h! */ |
@@ -773,6 +782,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, | |||
773 | case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL: | 782 | case V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL: |
774 | case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE: | 783 | case V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE: |
775 | case V4L2_CID_JPEG_CHROMA_SUBSAMPLING: | 784 | case V4L2_CID_JPEG_CHROMA_SUBSAMPLING: |
785 | case V4L2_CID_ISO_SENSITIVITY_AUTO: | ||
776 | *type = V4L2_CTRL_TYPE_MENU; | 786 | *type = V4L2_CTRL_TYPE_MENU; |
777 | break; | 787 | break; |
778 | case V4L2_CID_LINK_FREQ: | 788 | case V4L2_CID_LINK_FREQ: |
@@ -782,6 +792,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, | |||
782 | case V4L2_CID_RDS_TX_RADIO_TEXT: | 792 | case V4L2_CID_RDS_TX_RADIO_TEXT: |
783 | *type = V4L2_CTRL_TYPE_STRING; | 793 | *type = V4L2_CTRL_TYPE_STRING; |
784 | break; | 794 | break; |
795 | case V4L2_CID_ISO_SENSITIVITY: | ||
785 | case V4L2_CID_AUTO_EXPOSURE_BIAS: | 796 | case V4L2_CID_AUTO_EXPOSURE_BIAS: |
786 | *type = V4L2_CTRL_TYPE_INTEGER_MENU; | 797 | *type = V4L2_CTRL_TYPE_INTEGER_MENU; |
787 | break; | 798 | break; |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index e94601a7ae5f..593a1bd33111 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -1726,6 +1726,13 @@ enum v4l2_auto_n_preset_white_balance { | |||
1726 | #define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21) | 1726 | #define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21) |
1727 | #define V4L2_CID_IMAGE_STABILIZATION (V4L2_CID_CAMERA_CLASS_BASE+22) | 1727 | #define V4L2_CID_IMAGE_STABILIZATION (V4L2_CID_CAMERA_CLASS_BASE+22) |
1728 | 1728 | ||
1729 | #define V4L2_CID_ISO_SENSITIVITY (V4L2_CID_CAMERA_CLASS_BASE+23) | ||
1730 | #define V4L2_CID_ISO_SENSITIVITY_AUTO (V4L2_CID_CAMERA_CLASS_BASE+24) | ||
1731 | enum v4l2_iso_sensitivity_auto_type { | ||
1732 | V4L2_ISO_SENSITIVITY_MANUAL = 0, | ||
1733 | V4L2_ISO_SENSITIVITY_AUTO = 1, | ||
1734 | }; | ||
1735 | |||
1729 | /* FM Modulator class control IDs */ | 1736 | /* FM Modulator class control IDs */ |
1730 | #define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900) | 1737 | #define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900) |
1731 | #define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1) | 1738 | #define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1) |