Tsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftargetB/translations/zh_CN/userspace-api/media/v4l/ext-ctrls-image-sourcemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/zh_TW/userspace-api/media/v4l/ext-ctrls-image-sourcemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/it_IT/userspace-api/media/v4l/ext-ctrls-image-sourcemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/ja_JP/userspace-api/media/v4l/ext-ctrls-image-sourcemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/ko_KR/userspace-api/media/v4l/ext-ctrls-image-sourcemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/sp_SP/userspace-api/media/v4l/ext-ctrls-image-sourcemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-laterh]h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh\/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/ext-ctrls-image-source.rsthKubhtarget)}(h.. _image-source-controls:h]h}(h]h ]h"]h$]h&]refidimage-source-controlsuh1hhKhhhhhhubhsection)}(hhh](htitle)}(hImage Source Control Referenceh]hImage Source Control Reference}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hThe Image Source control class is intended for low-level control of image source devices such as image sensors. The devices feature an analogue to digital converter and a bus transmitter to transmit the image data out of the device.h]hThe Image Source control class is intended for low-level control of image source devices such as image sensors. The devices feature an analogue to digital converter and a bus transmitter to transmit the image data out of the device.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(h.. _image-source-control-id:h]h}(h]h ]h"]h$]h&]himage-source-control-iduh1hhKhhhhhhubh)}(hhh](h)}(hImage Source Control IDsh]hImage Source Control IDs}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhdefinition_list)}(hhh](hdefinition_list_item)}(hK``V4L2_CID_IMAGE_SOURCE_CLASS (class)`` The IMAGE_SOURCE class descriptor. h](hterm)}(h'``V4L2_CID_IMAGE_SOURCE_CLASS (class)``h]hliteral)}(hjh]h#V4L2_CID_IMAGE_SOURCE_CLASS (class)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubh definition)}(hhh]h)}(h"The IMAGE_SOURCE class descriptor.h]h"The IMAGE_SOURCE class descriptor.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j)hj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj )}(hX;``V4L2_CID_VBLANK (integer)`` Vertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by ``V4L2_CID_PIXEL_RATE`` control in the same sub-device. h](j)}(h``V4L2_CID_VBLANK (integer)``h]j)}(hjNh]hV4L2_CID_VBLANK (integer)}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1jhhhKhjHubj*)}(hhh]h)}(hXVertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by ``V4L2_CID_PIXEL_RATE`` control in the same sub-device.h](hVertical blanking. The idle period after every frame during which no image data is produced. The unit of vertical blanking is a line. Every line has length of the image width plus horizontal blanking at the pixel rate defined by }(hjfhhhNhNubj)}(h``V4L2_CID_PIXEL_RATE``h]hV4L2_CID_PIXEL_RATE}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubh control in the same sub-device.}(hjfhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjcubah}(h]h ]h"]h$]h&]uh1j)hjHubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj )}(h``V4L2_CID_HBLANK (integer)`` Horizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels. h](j)}(h``V4L2_CID_HBLANK (integer)``h]j)}(hjh]hV4L2_CID_HBLANK (integer)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK!hjubj*)}(hhh]h)}(hHorizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.h]hHorizontal blanking. The idle period after every line of image data during which no image data is produced. The unit of horizontal blanking is pixels.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j)hjubeh}(h]h ]h"]h$]h&]uh1jhhhK!hjhhubj )}(h``V4L2_CID_ANALOGUE_GAIN (integer)`` Analogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion. h](j)}(h$``V4L2_CID_ANALOGUE_GAIN (integer)``h]j)}(hjh]h V4L2_CID_ANALOGUE_GAIN (integer)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK&hjubj*)}(hhh]h)}(hAnalogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.h]hAnalogue gain is gain affecting all colour components in the pixel matrix. The gain operation is performed in the analogue domain before A/D conversion.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j)hjubeh}(h]h ]h"]h$]h&]uh1jhhhK&hjhhubj )}(hK``V4L2_CID_TEST_PATTERN_RED (integer)`` Test pattern red colour component. h](j)}(h'``V4L2_CID_TEST_PATTERN_RED (integer)``h]j)}(hjh]h#V4L2_CID_TEST_PATTERN_RED (integer)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK)hjubj*)}(hhh]h)}(h"Test pattern red colour component.h]h"Test pattern red colour component.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1j)hjubeh}(h]h ]h"]h$]h&]uh1jhhhK)hjhhubj )}(h^``V4L2_CID_TEST_PATTERN_GREENR (integer)`` Test pattern green (next to red) colour component. h](j)}(h*``V4L2_CID_TEST_PATTERN_GREENR (integer)``h]j)}(hj@h]h&V4L2_CID_TEST_PATTERN_GREENR (integer)}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhhhK,hj:ubj*)}(hhh]h)}(h2Test pattern green (next to red) colour component.h]h2Test pattern green (next to red) colour component.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjUubah}(h]h ]h"]h$]h&]uh1j)hj:ubeh}(h]h ]h"]h$]h&]uh1jhhhK,hjhhubj )}(hM``V4L2_CID_TEST_PATTERN_BLUE (integer)`` Test pattern blue colour component. h](j)}(h(``V4L2_CID_TEST_PATTERN_BLUE (integer)``h]j)}(hjxh]h$V4L2_CID_TEST_PATTERN_BLUE (integer)}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjvubah}(h]h ]h"]h$]h&]uh1jhhhK/hjrubj*)}(hhh]h)}(h#Test pattern blue colour component.h]h#Test pattern blue colour component.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1j)hjrubeh}(h]h ]h"]h$]h&]uh1jhhhK/hjhhubj )}(h_``V4L2_CID_TEST_PATTERN_GREENB (integer)`` Test pattern green (next to blue) colour component. h](j)}(h*``V4L2_CID_TEST_PATTERN_GREENB (integer)``h]j)}(hjh]h&V4L2_CID_TEST_PATTERN_GREENB (integer)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK2hjubj*)}(hhh]h)}(h3Test pattern green (next to blue) colour component.h]h3Test pattern green (next to blue) colour component.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjubah}(h]h ]h"]h$]h&]uh1j)hjubeh}(h]h ]h"]h$]h&]uh1jhhhK2hjhhubj )}(hX``V4L2_CID_UNIT_CELL_SIZE (struct)`` This control returns the unit cell size in nanometers. The struct :c:type:`v4l2_area` provides the width and the height in separate fields to take into consideration asymmetric pixels. This control does not take into consideration any possible hardware binning. The unit cell consists of the whole area of the pixel, sensitive and non-sensitive. This control is required for automatic calibration of sensors/cameras. h](j)}(h$``V4L2_CID_UNIT_CELL_SIZE (struct)``h]j)}(hjh]h V4L2_CID_UNIT_CELL_SIZE (struct)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKubhdesc_sig_space)}(h h]h }(hj|hhhNhNubah}(h]h ]wah"]h$]h&]uh1jzhjehhhhhK>ubh desc_name)}(h v4l2_areah]h desc_sig_name)}(hjah]h v4l2_area}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jhjehhhhhK>ubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1jcsphinx_line_type declaratorhj_hhhhhK>ubah}(h]jVah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j]hhhK>hjZhhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjZhhhhhK>ubeh}(h]h ](jtypeeh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1jXhhhhhNhNubhtable)}(hhh](h)}(hstruct v4l2_areah]hstruct v4l2_area}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``width``h]j)}(hj5h]hwidth}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1hhhhKFhj0ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hWidth of the area.h]hWidth of the area.}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjPubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjpubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(h ``height``h]j)}(hjh]hheight}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKIhjubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hHeight of the area.h]hHeight of the area.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjubah}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h]id1ah ]h"]h$]h&]uh1jhhhhhNhNubj)}(hhh]j )}(hX``V4L2_CID_NOTIFY_GAINS (integer array)`` The sensor is notified what gains will be applied to the different colour channels by subsequent processing (such as by an ISP). The sensor is merely informed of these values in case it performs processing that requires them, but it does not apply them itself to the output pixels. Currently it is defined only for Bayer sensors, and is an array control taking 4 gain values, being the gains for each of the Bayer channels. The gains are always in the order B, Gb, Gr and R, irrespective of the exact Bayer order of the sensor itself. The use of an array allows this control to be extended to sensors with, for example, non-Bayer CFAs (colour filter arrays). The units for the gain values are linear, with the default value representing a gain of exactly 1.0. For example, if this default value is reported as being (say) 128, then a value of 192 would represent a gain of exactly 1.5.h](j)}(h)``V4L2_CID_NOTIFY_GAINS (integer array)``h]j)}(hjh]h%V4L2_CID_NOTIFY_GAINS (integer array)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK]hjubj*)}(hhh](h)}(hXThe sensor is notified what gains will be applied to the different colour channels by subsequent processing (such as by an ISP). The sensor is merely informed of these values in case it performs processing that requires them, but it does not apply them itself to the output pixels.h]hXThe sensor is notified what gains will be applied to the different colour channels by subsequent processing (such as by an ISP). The sensor is merely informed of these values in case it performs processing that requires them, but it does not apply them itself to the output pixels.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhjubh)}(hCurrently it is defined only for Bayer sensors, and is an array control taking 4 gain values, being the gains for each of the Bayer channels. The gains are always in the order B, Gb, Gr and R, irrespective of the exact Bayer order of the sensor itself.h]hCurrently it is defined only for Bayer sensors, and is an array control taking 4 gain values, being the gains for each of the Bayer channels. The gains are always in the order B, Gb, Gr and R, irrespective of the exact Bayer order of the sensor itself.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjubh)}(h{The use of an array allows this control to be extended to sensors with, for example, non-Bayer CFAs (colour filter arrays).h]h{The use of an array allows this control to be extended to sensors with, for example, non-Bayer CFAs (colour filter arrays).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubh)}(hThe units for the gain values are linear, with the default value representing a gain of exactly 1.0. For example, if this default value is reported as being (say) 128, then a value of 192 would represent a gain of exactly 1.5.h]hThe units for the gain values are linear, with the default value representing a gain of exactly 1.0. For example, if this default value is reported as being (say) 128, then a value of 192 would represent a gain of exactly 1.5.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubeh}(h]h ]h"]h$]h&]uh1j)hjubeh}(h]h ]h"]h$]h&]uh1jhhhK]hjubah}(h]h ]h"]h$]h&]uh1jhhhhhhhNubeh}(h](image-source-control-idsheh ]h"](image source control idsimage-source-control-ideh$]h&]uh1hhhhhhhhKexpect_referenced_by_name}jIhsexpect_referenced_by_id}hhsubeh}(h](image-source-control-referenceheh ]h"](image source control referenceimage-source-controlseh$]h&]uh1hhhhhhhhKjL}jVhsjN}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj}error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}(h]hah]haunameids}(jVhjUjRjIhjHjEu nametypes}(jVjUjIjHuh}(hhjRhhhjEhjVj_jju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]transform_messages](hsystem_message)}(hhh]h)}(hhh]h;Hyperlink target "image-source-controls" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jubj)}(hhh]h)}(hhh]h=Hyperlink target "image-source-control-id" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehlineKuh1jube transformerN include_log] decorationNhhub.