sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget:/translations/zh_CN/userspace-api/media/v4l/metafmt-c3-ispmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/zh_TW/userspace-api/media/v4l/metafmt-c3-ispmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/it_IT/userspace-api/media/v4l/metafmt-c3-ispmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/ja_JP/userspace-api/media/v4l/metafmt-c3-ispmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/ko_KR/userspace-api/media/v4l/metafmt-c3-ispmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget:/translations/sp_SP/userspace-api/media/v4l/metafmt-c3-ispmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h.SPDX-License-Identifier: (GPL-2.0-only OR MIT)h]h.SPDX-License-Identifier: (GPL-2.0-only OR MIT)}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhT/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp.rsthKubhtarget)}(h.. _v4l2-meta-fmt-c3isp-stats:h]h}(h]h ]h"]h$]h&]refidv4l2-meta-fmt-c3isp-statsuh1hhKhhhhhhubh)}(h.. _v4l2-meta-fmt-c3isp-params:h]h}(h]h ]h"]h$]h&]hv4l2-meta-fmt-c3isp-paramsuh1hhKhhhhhhexpect_referenced_by_name}v4l2-meta-fmt-c3isp-statshsexpect_referenced_by_id}hhsubhsection)}(hhh](htitle)}(hGV4L2_META_FMT_C3ISP_STATS ('C3ST'), V4L2_META_FMT_C3ISP_PARAMS ('C3PM')h]hOV4L2_META_FMT_C3ISP_STATS (‘C3ST’), V4L2_META_FMT_C3ISP_PARAMS (‘C3PM’)}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hc3_isp_stats_infoh]hc3_isp_stats_info}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhK ubh)}(hhh](h)}(h 3A Statisticsh]h 3A Statistics}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hXThe C3 ISP can collect different statistics over an input Bayer frame. Those statistics are obtained from the "c3-isp-stats" metadata capture video nodes, using the :c:type:`v4l2_meta_format` interface. They are formatted as described by the :c:type:`c3_isp_stats_info` structure.h](hThe C3 ISP can collect different statistics over an input Bayer frame. Those statistics are obtained from the “c3-isp-stats” metadata capture video nodes, using the }(hjhhhNhNubh)}(h:c:type:`v4l2_meta_format`h]hliteral)}(hjh]hv4l2_meta_format}(hjhhhNhNubah}(h]h ](xrefcc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc&userspace-api/media/v4l/metafmt-c3-isp refdomainj!reftypetype refexplicitrefwarn reftargetv4l2_meta_formatuh1hhhhKhjubh3 interface. They are formatted as described by the }(hjhhhNhNubh)}(h:c:type:`c3_isp_stats_info`h]j)}(hj;h]hc3_isp_stats_info}(hj=hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj3c3_isp_stats_infouh1hhhhKhjubh structure.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhhhKhhhhubj)}(h[The statistics collected are Auto-white balance, Auto-exposure and Auto-focus information.h]h[The statistics collected are Auto-white balance, Auto-exposure and Auto-focus information.}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh)}(hc3_isp_params_cfgh]hc3_isp_params_cfg}hjpsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubeh}(h] a-statisticsah ]h"] 3a statisticsah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hConfiguration Parametersh]hConfiguration Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubj)}(hXHThe configuration parameters are passed to the c3-isp-params metadata output video node, using the :c:type:`v4l2_meta_format` interface. Rather than a single struct containing sub-structs for each configurable area of the ISP, parameters for the C3-ISP are defined as distinct structs or "blocks" which may be added to the data member of :c:type:`c3_isp_params_cfg`. Userspace is responsible for populating the data member with the blocks that need to be configured by the driver, but need not populate it with **all** the blocks, or indeed with any at all if there are no configuration changes to make. Populated blocks **must** be consecutive in the buffer. To assist both userspace and the driver in identifying the blocks each block-specific struct embeds :c:type:`c3_isp_params_block_header` as its first member and userspace must populate the type member with a value from :c:type:`c3_isp_params_block_type`. Once the blocks have been populated into the data buffer, the combined size of all populated blocks shall be set in the data_size member of :c:type:`c3_isp_params_cfg`. For example:h](hcThe configuration parameters are passed to the c3-isp-params metadata output video node, using the }(hjhhhNhNubh)}(h:c:type:`v4l2_meta_format`h]j)}(hjh]hv4l2_meta_format}(hjhhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj3v4l2_meta_formatuh1hhhhKhjubh interface. Rather than a single struct containing sub-structs for each configurable area of the ISP, parameters for the C3-ISP are defined as distinct structs or “blocks” which may be added to the data member of }(hjhhhNhNubh)}(h:c:type:`c3_isp_params_cfg`h]j)}(hjh]hc3_isp_params_cfg}(hjhhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj3c3_isp_params_cfguh1hhhhKhjubh. Userspace is responsible for populating the data member with the blocks that need to be configured by the driver, but need not populate it with }(hjhhhNhNubhstrong)}(h**all**h]hall}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhg the blocks, or indeed with any at all if there are no configuration changes to make. Populated blocks }(hjhhhNhNubj)}(h**must**h]hmust}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh be consecutive in the buffer. To assist both userspace and the driver in identifying the blocks each block-specific struct embeds }(hjhhhNhNubh)}(h$:c:type:`c3_isp_params_block_header`h]j)}(hj h]hc3_isp_params_block_header}(hjhhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj3c3_isp_params_block_headeruh1hhhhKhjubhS as its first member and userspace must populate the type member with a value from }(hjhhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hj0h]hc3_isp_params_block_type}(hj2hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj3c3_isp_params_block_typeuh1hhhhKhjubh. Once the blocks have been populated into the data buffer, the combined size of all populated blocks shall be set in the data_size member of }(hjhhhNhNubh)}(h:c:type:`c3_isp_params_cfg`h]j)}(hjSh]hc3_isp_params_cfg}(hjUhhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj3c3_isp_params_cfguh1hhhhKhjubh. For example:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubh literal_block)}(hXLstruct c3_isp_params_cfg *params = (struct c3_isp_params_cfg *)buffer; params->version = C3_ISP_PARAM_BUFFER_V0; params->data_size = 0; void *data = (void *)params->data; struct c3_isp_params_awb_gains *gains = (struct c3_isp_params_awb_gains *)data; gains->header.type = C3_ISP_PARAMS_BLOCK_AWB_GAINS; gains->header.flags = C3_ISP_PARAMS_BLOCK_FL_ENABLE; gains->header.size = sizeof(struct c3_isp_params_awb_gains); gains->gr_gain = 256; gains->r_gain = 256; gains->b_gain = 256; gains->gb_gain = 256; data += sizeof(struct c3_isp__params_awb_gains); params->data_size += sizeof(struct c3_isp_params_awb_gains); struct c3_isp_params_awb_config *awb_cfg = (struct c3_isp_params_awb_config *)data; awb_cfg->header.type = C3_ISP_PARAMS_BLOCK_AWB_CONFIG; awb_cfg->header.flags = C3_ISP_PARAMS_BLOCK_FL_ENABLE; awb_cfg->header.size = sizeof(struct c3_isp_params_awb_config); awb_cfg->tap_point = C3_ISP_AWB_STATS_TAP_BEFORE_WB; awb_cfg->satur = 1; awb_cfg->horiz_zones_num = 32; awb_cfg->vert_zones_num = 24; params->data_size += sizeof(struct c3_isp_params_awb_config);h]hXLstruct c3_isp_params_cfg *params = (struct c3_isp_params_cfg *)buffer; params->version = C3_ISP_PARAM_BUFFER_V0; params->data_size = 0; void *data = (void *)params->data; struct c3_isp_params_awb_gains *gains = (struct c3_isp_params_awb_gains *)data; gains->header.type = C3_ISP_PARAMS_BLOCK_AWB_GAINS; gains->header.flags = C3_ISP_PARAMS_BLOCK_FL_ENABLE; gains->header.size = sizeof(struct c3_isp_params_awb_gains); gains->gr_gain = 256; gains->r_gain = 256; gains->b_gain = 256; gains->gb_gain = 256; data += sizeof(struct c3_isp__params_awb_gains); params->data_size += sizeof(struct c3_isp_params_awb_gains); struct c3_isp_params_awb_config *awb_cfg = (struct c3_isp_params_awb_config *)data; awb_cfg->header.type = C3_ISP_PARAMS_BLOCK_AWB_CONFIG; awb_cfg->header.flags = C3_ISP_PARAMS_BLOCK_FL_ENABLE; awb_cfg->header.size = sizeof(struct c3_isp_params_awb_config); awb_cfg->tap_point = C3_ISP_AWB_STATS_TAP_BEFORE_WB; awb_cfg->satur = 1; awb_cfg->horiz_zones_num = 32; awb_cfg->vert_zones_num = 24; params->data_size += sizeof(struct c3_isp_params_awb_config);}hj|sbah}(h]h ]h"]h$]h&]hhforcelanguagej!highlight_args}uh1jzhhhK,hjhhubeh}(h]configuration-parametersah ]h"]configuration parametersah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hAmlogic C3 ISP uAPI data typesh]hAmlogic C3 ISP uAPI data types}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKTubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single c3_isp_awb_zone_stats (C struct)c.c3_isp_awb_zone_statshNtauh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhNubhdesc)}(hhh](hdesc_signature)}(hc3_isp_awb_zone_statsh]hdesc_signature_line)}(hstruct c3_isp_awb_zone_statsh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjhhhjhKubh desc_name)}(hc3_isp_awb_zone_statsh]h desc_sig_name)}(hjh]hc3_isp_awb_zone_stats}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1jsphinx_line_type declaratorhjhhhjhKubah}(h]jah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhjhKhjhhubh desc_content)}(hhh]j)}(hAWB statistics of a zoneh]hAWB statistics of a zone}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj!hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](j!structeh"]h$]h&]domainj!objtypej<desctypej<noindex noindexentrynocontentsentryuh1jhhhjhjhNubh container)}(hX**Definition**:: struct c3_isp_awb_zone_stats { __u16 rg; __u16 bg; __u32 pixel_sum; }; **Members** ``rg`` the ratio of R / G in a zone ``bg`` the ratio of B / G in a zone ``pixel_sum`` the total number of pixels used in a zoneh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubh:}(hjLhhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjHubj{)}(hRstruct c3_isp_awb_zone_stats { __u16 rg; __u16 bg; __u32 pixel_sum; };h]hRstruct c3_isp_awb_zone_stats { __u16 rg; __u16 bg; __u32 pixel_sum; };}hjisbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK hjHubj)}(h **Members**h]j)}(hjzh]hMembers}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK&hjHubhdefinition_list)}(hhh](hdefinition_list_item)}(h$``rg`` the ratio of R / G in a zone h](hterm)}(h``rg``h]j)}(hjh]hrg}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubh definition)}(hhh]j)}(hthe ratio of R / G in a zoneh]hthe ratio of R / G in a zone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h$``bg`` the ratio of B / G in a zone h](j)}(h``bg``h]j)}(hjh]hbg}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK hjubj)}(hhh]j)}(hthe ratio of B / G in a zoneh]hthe ratio of B / G in a zone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhK hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK hjubj)}(h7``pixel_sum`` the total number of pixels used in a zoneh](j)}(h ``pixel_sum``h]j)}(hjh]h pixel_sum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK hj ubj)}(hhh]j)}(h)the total number of pixels used in a zoneh]h)the total number of pixels used in a zone}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK!hj)ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj(hK hjubeh}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hjVh]h Description}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK$hjhhubj)}(h&AWB zone stats is aligned with 8 bytesh]h&AWB zone stats is aligned with 8 bytes}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_awb_stats (C struct)c.c3_isp_awb_statshNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_awb_statsh]j)}(hstruct c3_isp_awb_statsh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhK ubj)}(hc3_isp_awb_statsh]j)}(hjh]hc3_isp_awb_stats}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhK ubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhK ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhK hjhhubj )}(hhh]j)}(h*Auto white balance statistics information.h]h*Auto white balance statistics information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK)hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhK ubeh}(h]h ](j!structeh"]h$]h&]j@j!jAjjBjjCjDjEuh1jhhhjhjhNubjG)}(h**Definition**:: struct c3_isp_awb_stats { struct c3_isp_awb_zone_stats stats[C3_ISP_AWB_MAX_ZONES]; }; **Members** ``stats`` array of auto white balance statisticsh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK-hjubj{)}(hZstruct c3_isp_awb_stats { struct c3_isp_awb_zone_stats stats[C3_ISP_AWB_MAX_ZONES]; };h]hZstruct c3_isp_awb_stats { struct c3_isp_awb_zone_stats stats[C3_ISP_AWB_MAX_ZONES]; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK/hjubj)}(h **Members**h]j)}(hj$h]hMembers}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK3hjubj)}(hhh]j)}(h0``stats`` array of auto white balance statisticsh](j)}(h ``stats``h]j)}(hjCh]hstats}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK-hj=ubj)}(hhh]j)}(h&array of auto white balance statisticsh]h&array of auto white balance statistics}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK.hjYubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjXhK-hj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK1hjhhubj)}(h)AWB statistical information of all zones.h]h)AWB statistical information of all zones.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK*hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_ae_zone_stats (C struct)c.c3_isp_ae_zone_statshNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_ae_zone_statsh]j)}(hstruct c3_isp_ae_zone_statsh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK/ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhK/ubj)}(hc3_isp_ae_zone_statsh]j)}(hjh]hc3_isp_ae_zone_stats}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhK/ubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhK/ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhK/hjhhubj )}(hhh]j)}(hAE statistics of a zoneh]hAE statistics of a zone}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK4hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhK/ubeh}(h]h ](j!structeh"]h$]h&]j@j!jAjjBjjCjDjEuh1jhhhjhjhNubjG)}(hXs**Definition**:: struct c3_isp_ae_zone_stats { __u16 hist0; __u16 hist1; __u16 hist3; __u16 hist4; }; **Members** ``hist0`` the global normalized pixel count for bin 0 ``hist1`` the global normalized pixel count for bin 1 ``hist3`` the global normalized pixel count for bin 3 ``hist4`` the global normalized pixel count for bin 4h](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubh:}(hj&hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK8hj"ubj{)}(hdstruct c3_isp_ae_zone_stats { __u16 hist0; __u16 hist1; __u16 hist3; __u16 hist4; };h]hdstruct c3_isp_ae_zone_stats { __u16 hist0; __u16 hist1; __u16 hist3; __u16 hist4; };}hjCsbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK:hj"ubj)}(h **Members**h]j)}(hjTh]hMembers}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKAhj"ubj)}(hhh](j)}(h6``hist0`` the global normalized pixel count for bin 0 h](j)}(h ``hist0``h]j)}(hjsh]hhist0}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK;hjmubj)}(hhh]j)}(h+the global normalized pixel count for bin 0h]h+the global normalized pixel count for bin 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhK;hjubah}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ]h"]h$]h&]uh1jhjhK;hjjubj)}(h6``hist1`` the global normalized pixel count for bin 1 h](j)}(h ``hist1``h]j)}(hjh]hhist1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj3hK=hjjubeh}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hjah]h Description}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKAhjhhubj)}(hAE zone stats is aligned with 8 bytes. This is a 5-bin histogram and the total sum is normalized to 0xffff. So hist2 = 0xffff - (hist0 + hist1 + hist3 + hist4)h]hAE zone stats is aligned with 8 bytes. This is a 5-bin histogram and the total sum is normalized to 0xffff. So hist2 = 0xffff - (hist0 + hist1 + hist3 + hist4)}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK5hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_ae_stats (C struct)c.c3_isp_ae_statshNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_ae_statsh]j)}(hstruct c3_isp_ae_statsh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK hK`hj? ubah}(h]h ]h"]h$]h&]uh1jhj# ubeh}(h]h ]h"]h$]h&]uh1jhj> hK`hj ubj)}(hD``e4_mat`` the mantissa of zonal multi-directional quartic edge sum h](j)}(h ``e4_mat``h]j)}(hjb h]he4_mat}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj` ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKahj\ ubj)}(hhh]j)}(h8the mantissa of zonal multi-directional quartic edge sumh]h8the mantissa of zonal multi-directional quartic edge sum}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjw hKahjx ubah}(h]h ]h"]h$]h&]uh1jhj\ ubeh}(h]h ]h"]h$]h&]uh1jhjw hKahj ubj)}(hD``e4_exp`` the exponent of zonal multi-directional quartic edge sum h](j)}(h ``e4_exp``h]j)}(hj h]he4_exp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKbhj ubj)}(hhh]j)}(h8the exponent of zonal multi-directional quartic edge sumh]h8the exponent of zonal multi-directional quartic edge sum}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKbhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKbhj ubj)}(h9``i2_exp`` the exponent of zonal squared image pixel sum h](j)}(h ``i2_exp``h]j)}(hj h]hi2_exp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKchj ubj)}(hhh]j)}(h-the exponent of zonal squared image pixel sumh]h-the exponent of zonal squared image pixel sum}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKchj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKchj ubj)}(h8``i4_exp`` the exponent of zonal quartic image pixel sumh](j)}(h ``i4_exp``h]j)}(hj h]hi4_exp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKchj ubj)}(hhh]j)}(h-the exponent of zonal quartic image pixel sumh]h-the exponent of zonal quartic image pixel sum}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKdhj# ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj" hKchj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hjP h]h Description}(hjR hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjN ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKghjhhubj)}(hAF zone stats is aligned with 8 bytes. The zonal accumulated contrast metrics are stored in floating point format with 16 bits mantissa and 5 or 6 bits exponent. Apart from contrast metrics we accumulate squared image and quartic image data over the zone.h]hAF zone stats is aligned with 8 bytes. The zonal accumulated contrast metrics are stored in floating point format with 16 bits mantissa and 5 or 6 bits exponent. Apart from contrast metrics we accumulate squared image and quartic image data over the zone.}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKXhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_af_stats (C struct)c.c3_isp_af_statshNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_af_statsh]j)}(hstruct c3_isp_af_statsh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK`ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hK`ubj)}(hc3_isp_af_statsh]j)}(hj h]hc3_isp_af_stats}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhhj hK`ubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj hhhj hK`ubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jhj hK`hj hhubj )}(hhh]j)}(h!Auto Focus statistics informationh]h!Auto Focus statistics information}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKohj hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj hK`ubeh}(h]h ](j!structeh"]h$]h&]j@j!jAj jBj jCjDjEuh1jhhhjhjhNubjG)}(h**Definition**:: struct c3_isp_af_stats { struct c3_isp_af_zone_stats stats[C3_ISP_AF_MAX_ZONES]; __u32 reserved[2]; }; **Members** ``stats`` array of auto focus block statistics ``reserved`` undefined buffer spaceh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKshj ubj{)}(hnstruct c3_isp_af_stats { struct c3_isp_af_zone_stats stats[C3_ISP_AF_MAX_ZONES]; __u32 reserved[2]; };h]hnstruct c3_isp_af_stats { struct c3_isp_af_zone_stats stats[C3_ISP_AF_MAX_ZONES]; __u32 reserved[2]; };}hj sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKuhj ubj)}(h **Members**h]j)}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKzhj ubj)}(hhh](j)}(h/``stats`` array of auto focus block statistics h](j)}(h ``stats``h]j)}(hj= h]hstats}(hj? hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj; ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKthj7 ubj)}(hhh]j)}(h$array of auto focus block statisticsh]h$array of auto focus block statistics}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjR hKthjS ubah}(h]h ]h"]h$]h&]uh1jhj7 ubeh}(h]h ]h"]h$]h&]uh1jhjR hKthj4 ubj)}(h#``reserved`` undefined buffer spaceh](j)}(h ``reserved``h]j)}(hjv h]hreserved}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjt ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKthjp ubj)}(hhh]j)}(hundefined buffer spaceh]hundefined buffer space}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKuhj ubah}(h]h ]h"]h$]h&]uh1jhjp ubeh}(h]h ]h"]h$]h&]uh1jhj hKthj4 ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKxhjhhubj)}(h'AF statistical information of each zoneh]h'AF statistical information of each zone}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKphjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_stats_info (C struct)c.c3_isp_stats_infohNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_stats_infoh]j)}(hstruct c3_isp_stats_infoh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKuubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hKuubj)}(hc3_isp_stats_infoh]j)}(hj h]hc3_isp_stats_info}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhhj hKuubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj hhhj hKuubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jhj hKuhj hhubj )}(hhh]j)}(hV4L2_META_FMT_C3ISP_STATSh]hV4L2_META_FMT_C3ISP_STATS}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK|hj6 hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj hKuubeh}(h]h ](j!structeh"]h$]h&]j@j!jAjQ jBjQ jCjDjEuh1jhhhjhjhNubjG)}(hX**Definition**:: struct c3_isp_stats_info { struct c3_isp_awb_stats awb; struct c3_isp_ae_stats ae; struct c3_isp_af_stats af; }; **Members** ``awb`` auto white balance stats ``ae`` auto exposure stats ``af`` auto focus statsh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY ubh:}(hjY hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjU ubj{)}(h|struct c3_isp_stats_info { struct c3_isp_awb_stats awb; struct c3_isp_ae_stats ae; struct c3_isp_af_stats af; };h]h|struct c3_isp_stats_info { struct c3_isp_awb_stats awb; struct c3_isp_ae_stats ae; struct c3_isp_af_stats af; };}hjv sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjU ubj)}(h **Members**h]j)}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjU ubj)}(hhh](j)}(h!``awb`` auto white balance stats h](j)}(h``awb``h]j)}(hj h]hawb}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj ubj)}(hhh]j)}(hauto white balance statsh]hauto white balance stats}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h``ae`` auto exposure stats h](j)}(h``ae``h]j)}(hj h]hae}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj ubj)}(hhh]j)}(hauto exposure statsh]hauto exposure stats}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h``af`` auto focus statsh](j)}(h``af``h]j)}(hjh]haf}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(hauto focus statsh]hauto focus stats}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj.ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-hKhj ubeh}(h]h ]h"]h$]h&]uh1jhjU ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj[h]h Description}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hContains ISP statisticsh]hContains ISP statistics}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhK}hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%c3_isp_params_buffer_version (C enum)c.c3_isp_params_buffer_versionhNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_buffer_versionh]j)}(h!enum c3_isp_params_buffer_versionh](j)}(henumh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hc3_isp_params_buffer_versionh]j)}(hjh]hc3_isp_params_buffer_version}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjhhubj )}(hhh]j)}(h"C3 ISP parameters block versioningh]h"C3 ISP parameters block versioning}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](j!enumeh"]h$]h&]j@j!jAjjBjjCjDjEuh1jhhhjhjhNubjG)}(hU**Constants** ``C3_ISP_PARAMS_BUFFER_V0`` First version of C3 ISP parameters blockh](j)}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(hD``C3_ISP_PARAMS_BUFFER_V0`` First version of C3 ISP parameters blockh](j)}(h``C3_ISP_PARAMS_BUFFER_V0``h]j)}(hjh]hC3_ISP_PARAMS_BUFFER_V0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(h(First version of C3 ISP parameters blockh]h(First version of C3 ISP parameters block}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2hKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!c3_isp_params_block_type (C enum)c.c3_isp_params_block_typehNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_block_typeh]j)}(henum c3_isp_params_block_typeh](j)}(hjh]henum}(hjwhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjshhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjshhhjhKubj)}(hc3_isp_params_block_typeh]j)}(hjqh]hc3_isp_params_block_type}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjshhhjhKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjohhhjhKubah}(h]jjah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjlhhubj )}(hhh]j)}(h&Enumeration of C3 ISP parameter blocksh]h&Enumeration of C3 ISP parameter blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhjlhhhjhKubeh}(h]h ](j!enumeh"]h$]h&]j@j!jAjjBjjCjDjEuh1jhhhjhjhNubjG)}(hX**Constants** ``C3_ISP_PARAMS_BLOCK_AWB_GAINS`` White balance gains ``C3_ISP_PARAMS_BLOCK_AWB_CONFIG`` AWB statistic format configuration for all blocks that control how stats are generated ``C3_ISP_PARAMS_BLOCK_AE_CONFIG`` AE statistic format configuration for all blocks that control how stats are generated ``C3_ISP_PARAMS_BLOCK_AF_CONFIG`` AF statistic format configuration for all blocks that control how stats are generated ``C3_ISP_PARAMS_BLOCK_PST_GAMMA`` post gamma parameters ``C3_ISP_PARAMS_BLOCK_CCM`` Color correction matrix parameters ``C3_ISP_PARAMS_BLOCK_CSC`` Color space conversion parameters ``C3_ISP_PARAMS_BLOCK_BLC`` Black level correction parameters ``C3_ISP_PARAMS_BLOCK_SENTINEL`` First non-valid block indexh](j)}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh](j)}(h6``C3_ISP_PARAMS_BLOCK_AWB_GAINS`` White balance gains h](j)}(h!``C3_ISP_PARAMS_BLOCK_AWB_GAINS``h]j)}(hjh]hC3_ISP_PARAMS_BLOCK_AWB_GAINS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(hWhite balance gainsh]hWhite balance gains}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hz``C3_ISP_PARAMS_BLOCK_AWB_CONFIG`` AWB statistic format configuration for all blocks that control how stats are generated h](j)}(h"``C3_ISP_PARAMS_BLOCK_AWB_CONFIG``h]j)}(hj3h]hC3_ISP_PARAMS_BLOCK_AWB_CONFIG}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj-ubj)}(hhh]j)}(hVAWB statistic format configuration for all blocks that control how stats are generatedh]hVAWB statistic format configuration for all blocks that control how stats are generated}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjIubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjHhKhjubj)}(hx``C3_ISP_PARAMS_BLOCK_AE_CONFIG`` AE statistic format configuration for all blocks that control how stats are generated h](j)}(h!``C3_ISP_PARAMS_BLOCK_AE_CONFIG``h]j)}(hjmh]hC3_ISP_PARAMS_BLOCK_AE_CONFIG}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjgubj)}(hhh]j)}(hUAE statistic format configuration for all blocks that control how stats are generatedh]hUAE statistic format configuration for all blocks that control how stats are generated}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hx``C3_ISP_PARAMS_BLOCK_AF_CONFIG`` AF statistic format configuration for all blocks that control how stats are generated h](j)}(h!``C3_ISP_PARAMS_BLOCK_AF_CONFIG``h]j)}(hjh]hC3_ISP_PARAMS_BLOCK_AF_CONFIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(hUAF statistic format configuration for all blocks that control how stats are generatedh]hUAF statistic format configuration for all blocks that control how stats are generated}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h8``C3_ISP_PARAMS_BLOCK_PST_GAMMA`` post gamma parameters h](j)}(h!``C3_ISP_PARAMS_BLOCK_PST_GAMMA``h]j)}(hjh]hC3_ISP_PARAMS_BLOCK_PST_GAMMA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.h hKhjubj)}(hhh]j)}(hpost gamma parametersh]hpost gamma parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h?``C3_ISP_PARAMS_BLOCK_CCM`` Color correction matrix parameters h](j)}(h``C3_ISP_PARAMS_BLOCK_CCM``h]j)}(hjh]hC3_ISP_PARAMS_BLOCK_CCM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(h"Color correction matrix parametersh]h"Color correction matrix parameters}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/hKhj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj/hKhjubj)}(h>``C3_ISP_PARAMS_BLOCK_CSC`` Color space conversion parameters h](j)}(h``C3_ISP_PARAMS_BLOCK_CSC``h]j)}(hjSh]hC3_ISP_PARAMS_BLOCK_CSC}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjMubj)}(hhh]j)}(h!Color space conversion parametersh]h!Color space conversion parameters}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhKhjiubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjhhKhjubj)}(h>``C3_ISP_PARAMS_BLOCK_BLC`` Black level correction parameters h](j)}(h``C3_ISP_PARAMS_BLOCK_BLC``h]j)}(hjh]hC3_ISP_PARAMS_BLOCK_BLC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(h!Black level correction parametersh]h!Black level correction parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h<``C3_ISP_PARAMS_BLOCK_SENTINEL`` First non-valid block indexh](j)}(h ``C3_ISP_PARAMS_BLOCK_SENTINEL``h]j)}(hjh]hC3_ISP_PARAMS_BLOCK_SENTINEL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(hFirst non-valid block indexh]hFirst non-valid block index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hjh]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hEach block configures a specific processing block of the C3 ISP. The block type allows the driver to correctly interpret the parameters block data.h]hEach block configures a specific processing block of the C3 ISP. The block type allows the driver to correctly interpret the parameters block data.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%c3_isp_params_block_header (C struct)c.c3_isp_params_block_headerhNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_block_headerh]j)}(h!struct c3_isp_params_block_headerh](j)}(hjh]hstruct}(hjFhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjBhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKubj)}(h h]h }(hjThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjBhhhjShKubj)}(hc3_isp_params_block_headerh]j)}(hj@h]hc3_isp_params_block_header}(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjbubah}(h]h ](jjeh"]h$]h&]hhuh1jhjBhhhjShKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj>hhhjShKubah}(h]j9ah ](jjeh"]h$]h&]jj)jhuh1jhjShKhj;hhubj )}(hhh]j)}(hC3 ISP parameter block headerh]hC3 ISP parameter block header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jhj;hhhjShKubeh}(h]h ](j!structeh"]h$]h&]j@j!jAjjBjjCjDjEuh1jhhhjhjhNubjG)}(hX?**Definition**:: struct c3_isp_params_block_header { __u16 type; __u16 flags; __u32 size; }; **Members** ``type`` The parameters block type from :c:type:`c3_isp_params_block_type` ``flags`` A bitmask of block flags ``size`` Size (in bytes) of the parameters block, including this headerh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj{)}(hWstruct c3_isp_params_block_header { __u16 type; __u16 flags; __u32 size; };h]hWstruct c3_isp_params_block_header { __u16 type; __u16 flags; __u32 size; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh](j)}(hK``type`` The parameters block type from :c:type:`c3_isp_params_block_type` h](j)}(h``type``h]j)}(hjh]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(hAThe parameters block type from :c:type:`c3_isp_params_block_type`h](hThe parameters block type from }(hjhhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hjh]hc3_isp_params_block_type}(hjhhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]sbj3c3_isp_params_block_typeuh1hhj hKhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hKhjubj)}(h#``flags`` A bitmask of block flags h](j)}(h ``flags``h]j)}(hjUh]hflags}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjOubj)}(hhh]j)}(hA bitmask of block flagsh]hA bitmask of block flags}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjjhKhjkubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjjhKhjubj)}(hG``size`` Size (in bytes) of the parameters block, including this headerh](j)}(h``size``h]j)}(hjh]hsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(h>Size (in bytes) of the parameters block, including this headerh]h>Size (in bytes) of the parameters block, including this header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hXThis structure represents the common part of all the ISP configuration blocks. Each parameters block shall embed an instance of this structure type as its first member, followed by the block-specific configuration data. The driver inspects this common header to discern the block type and its size and properly handle the block content by casting it to the correct block-specific type.h]hXThis structure represents the common part of all the ISP configuration blocks. Each parameters block shall embed an instance of this structure type as its first member, followed by the block-specific configuration data. The driver inspects this common header to discern the block type and its size and properly handle the block content by casting it to the correct block-specific type.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hXPThe **type** field is one of the values enumerated by :c:type:`c3_isp_params_block_type` and specifies how the data should be interpreted by the driver. The **size** field specifies the size of the parameters block and is used by the driver for validation purposes. The **flags** field is a bitmask of per-block flags C3_ISP_PARAMS_FL*.h](hThe }(hjhhhNhNubj)}(h**type**h]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh* field is one of the values enumerated by }(hjhhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hjh]hc3_isp_params_block_type}(hjhhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubhE and specifies how the data should be interpreted by the driver. The }(hjhhhNhNubj)}(h**size**h]hsize}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhi field specifies the size of the parameters block and is used by the driver for validation purposes. The }(hjhhhNhNubj)}(h **flags**h]hflags}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh9 field is a bitmask of per-block flags C3_ISP_PARAMS_FL*.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj/hKhjhhubj)}(hWhen userspace wants to disable an ISP block the C3_ISP_PARAMS_BLOCK_FL_DISABLED bit should be set in the **flags** field. In this case userspace may optionally omit the remainder of the configuration block, which will be ignored by the driver.h](hjWhen userspace wants to disable an ISP block the C3_ISP_PARAMS_BLOCK_FL_DISABLED bit should be set in the }(hj^hhhNhNubj)}(h **flags**h]hflags}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubh field. In this case userspace may optionally omit the remainder of the configuration block, which will be ignored by the driver.}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hWhen a new configuration of an ISP block needs to be applied userspace shall fully populate the ISP block and omit setting the C3_ISP_PARAMS_BLOCK_FL_DISABLED bit in the **flags** field.h](hWhen a new configuration of an ISP block needs to be applied userspace shall fully populate the ISP block and omit setting the C3_ISP_PARAMS_BLOCK_FL_DISABLED bit in the }(hjhhhNhNubj)}(h **flags**h]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hUserspace is responsible for correctly populating the parameters block header fields (**type**, **flags** and **size**) and the block-specific parameters.h](hVUserspace is responsible for correctly populating the parameters block header fields (}(hjhhhNhNubj)}(h**type**h]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h **flags**h]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h**size**h]hsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh$) and the block-specific parameters.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(h For example:h]h For example:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj{)}(hXvoid populate_pst_gamma(struct c3_isp_params_block_header *block) { struct c3_isp_params_pst_gamma *gamma = (struct c3_isp_params_pst_gamma *)block; gamma->header.type = C3_ISP_PARAMS_BLOCK_PST_GAMMA; gamma->header.flags = C3_ISP_PARAMS_BLOCK_FL_ENABLE; gamma->header.size = sizeof(*gamma); for (unsigned int i = 0; i < 129; i++) gamma->pst_gamma_lut[i] = i; }h]hXvoid populate_pst_gamma(struct c3_isp_params_block_header *block) { struct c3_isp_params_pst_gamma *gamma = (struct c3_isp_params_pst_gamma *)block; gamma->header.type = C3_ISP_PARAMS_BLOCK_PST_GAMMA; gamma->header.flags = C3_ISP_PARAMS_BLOCK_FL_ENABLE; gamma->header.size = sizeof(*gamma); for (unsigned int i = 0; i < 129; i++) gamma->pst_gamma_lut[i] = i; }}hjsbah}(h]h ]h"]h$]h&]hhjjj!j}uh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"c3_isp_params_awb_gains (C struct)c.c3_isp_params_awb_gainshNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_awb_gainsh]j)}(hstruct c3_isp_params_awb_gainsh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKubj)}(h h]h }(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj*hKubj)}(hc3_isp_params_awb_gainsh]j)}(hjh]hc3_isp_params_awb_gains}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhj*hKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhj*hKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhj*hKhjhhubj )}(hhh]j)}(hGains for auto-white balanceh]hGains for auto-white balance}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj\hhubah}(h]h ]h"]h$]h&]uh1jhjhhhj*hKubeh}(h]h ](j!structeh"]h$]h&]j@j!jAjwjBjwjCjDjEuh1jhhhjhjhNubjG)}(hX**Definition**:: struct c3_isp_params_awb_gains { struct c3_isp_params_block_header header; __u16 gr_gain; __u16 r_gain; __u16 b_gain; __u16 gb_gain; }; **Members** ``header`` The C3 ISP parameters block header ``gr_gain`` Multiplier for Gr channel (Q4.8 format) ``r_gain`` Multiplier for R channel (Q4.8 format) ``b_gain`` Multiplier for B channel (Q4.8 format) ``gb_gain`` Multiplier for Gb channel (Q4.8 format)h](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj{ubj{)}(hstruct c3_isp_params_awb_gains { struct c3_isp_params_block_header header; __u16 gr_gain; __u16 r_gain; __u16 b_gain; __u16 gb_gain; };h]hstruct c3_isp_params_awb_gains { struct c3_isp_params_block_header header; __u16 gr_gain; __u16 r_gain; __u16 b_gain; __u16 gb_gain; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj{ubj)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj{ubj)}(hhh](j)}(h.``header`` The C3 ISP parameters block header h](j)}(h ``header``h]j)}(hjh]hheader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(h"The C3 ISP parameters block headerh]h"The C3 ISP parameters block header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h4``gr_gain`` Multiplier for Gr channel (Q4.8 format) h](j)}(h ``gr_gain``h]j)}(hjh]hgr_gain}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(h'Multiplier for Gr channel (Q4.8 format)h]h'Multiplier for Gr channel (Q4.8 format)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h2``r_gain`` Multiplier for R channel (Q4.8 format) h](j)}(h ``r_gain``h]j)}(hj>h]hr_gain}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhj8ubj)}(hhh]j)}(h&Multiplier for R channel (Q4.8 format)h]h&Multiplier for R channel (Q4.8 format)}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjShKhjTubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjShKhjubj)}(h2``b_gain`` Multiplier for B channel (Q4.8 format) h](j)}(h ``b_gain``h]j)}(hjwh]hb_gain}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjqubj)}(hhh]j)}(h&Multiplier for B channel (Q4.8 format)h]h&Multiplier for B channel (Q4.8 format)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h3``gb_gain`` Multiplier for Gb channel (Q4.8 format)h](j)}(h ``gb_gain``h]j)}(hjh]hgb_gain}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubj)}(hhh]j)}(h'Multiplier for Gb channel (Q4.8 format)h]h'Multiplier for Gb channel (Q4.8 format)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hThis struct allows users to configure the gains for white balance. There are four gain settings corresponding to each colour channel in the bayer domain. All of the gains are stored in Q4.8 format.h]hThis struct allows users to configure the gains for white balance. There are four gain settings corresponding to each colour channel in the bayer domain. All of the gains are stored in Q4.8 format.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjhhubj)}(hbheader.type should be set to C3_ISP_PARAMS_BLOCK_AWB_GAINS from :c:type:`c3_isp_params_block_type`h](h@header.type should be set to C3_ISP_PARAMS_BLOCK_AWB_GAINS from }(hjhhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hj"h]hc3_isp_params_block_type}(hj$hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKhjubeh}(h]h ]h"]h$]h&]uh1jhj?hKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%c3_isp_params_awb_tap_points (C enum)c.c3_isp_params_awb_tap_pointshNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_awb_tap_pointsh]j)}(h!enum c3_isp_params_awb_tap_pointsh](j)}(hjh]henum}(hj_hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhKubj)}(h h]h }(hjmhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[hhhjlhKubj)}(hc3_isp_params_awb_tap_pointsh]j)}(hjYh]hc3_isp_params_awb_tap_points}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj{ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj[hhhjlhKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjWhhhjlhKubah}(h]jRah ](jjeh"]h$]h&]jj)jhuh1jhjlhKhjThhubj )}(hhh]j)}(h!Tap points for the AWB statisticsh]h!Tap points for the AWB statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjThhhjlhKubeh}(h]h ](j!enumeh"]h$]h&]j@j!jAjjBjjCjDjEuh1jhhhjhjhNubjG)}(hXA**Constants** ``C3_ISP_AWB_STATS_TAP_OFE`` immediately after the optical frontend block ``C3_ISP_AWB_STATS_TAP_GE`` immediately after the green equal block ``C3_ISP_AWB_STATS_TAP_BEFORE_WB`` immediately before the white balance block ``C3_ISP_AWB_STATS_TAP_AFTER_WB`` immediately after the white balance blockh](j)}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM hjubj)}(hhh](j)}(hJ``C3_ISP_AWB_STATS_TAP_OFE`` immediately after the optical frontend block h](j)}(h``C3_ISP_AWB_STATS_TAP_OFE``h]j)}(hjh]hC3_ISP_AWB_STATS_TAP_OFE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM hjubj)}(hhh]j)}(h,immediately after the optical frontend blockh]h,immediately after the optical frontend block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM hjubj)}(hD``C3_ISP_AWB_STATS_TAP_GE`` immediately after the green equal block h](j)}(h``C3_ISP_AWB_STATS_TAP_GE``h]j)}(hjh]hC3_ISP_AWB_STATS_TAP_GE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjubj)}(hhh]j)}(h'immediately after the green equal blockh]h'immediately after the green equal block}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0hMhj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj0hMhjubj)}(hN``C3_ISP_AWB_STATS_TAP_BEFORE_WB`` immediately before the white balance block h](j)}(h"``C3_ISP_AWB_STATS_TAP_BEFORE_WB``h]j)}(hjTh]hC3_ISP_AWB_STATS_TAP_BEFORE_WB}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjNubj)}(hhh]j)}(h*immediately before the white balance blockh]h*immediately before the white balance block}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjihMhjjubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjihMhjubj)}(hK``C3_ISP_AWB_STATS_TAP_AFTER_WB`` immediately after the white balance blockh](j)}(h!``C3_ISP_AWB_STATS_TAP_AFTER_WB``h]j)}(hjh]hC3_ISP_AWB_STATS_TAP_AFTER_WB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjubj)}(hhh]j)}(h)immediately after the white balance blockh]h)immediately after the white balance block}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#c3_isp_params_awb_config (C struct)c.c3_isp_params_awb_confighNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_awb_configh]j)}(hstruct c3_isp_params_awb_configh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubj)}(hc3_isp_params_awb_configh]j)}(hjh]hc3_isp_params_awb_config}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhMubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjhhubj )}(hhh]j)}(h%Stats settings for auto-white balanceh]h%Stats settings for auto-white balance}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj&hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](j!structeh"]h$]h&]j@j!jAjAjBjAjCjDjEuh1jhhhjhjhNubjG)}(hX**Definition**:: struct c3_isp_params_awb_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 satur_vald; __u8 horiz_zones_num; __u8 vert_zones_num; __u16 rg_min; __u16 rg_max; __u16 bg_min; __u16 bg_max; __u16 rg_low; __u16 rg_high; __u16 bg_low; __u16 bg_high; __u8 zone_weight[C3_ISP_AWB_MAX_ZONES]; __u16 horiz_coord[C3_ISP_AWB_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AWB_MAX_PT_NUM]; }; **Members** ``header`` the C3 ISP parameters block header ``tap_point`` the tap point from enum c3_isp_params_awb_tap_point ``satur_vald`` AWB statistic over saturation control value: 0: disable, 1: enable ``horiz_zones_num`` active number of hotizontal zones [0..32] ``vert_zones_num`` active number of vertical zones [0..24] ``rg_min`` minimum R/G ratio (Q4.8 format) ``rg_max`` maximum R/G ratio (Q4.8 format) ``bg_min`` minimum B/G ratio (Q4.8 format) ``bg_max`` maximum B/G ratio (Q4.8 format) ``rg_low`` R/G ratio trim low (Q4.8 format) ``rg_high`` R/G ratio trim hight (Q4.8 format) ``bg_low`` B/G ratio trim low (Q4.8 format) ``bg_high`` B/G ratio trim high (Q4.8 format) ``zone_weight`` array of weights for AWB statistics zones [0..15] ``horiz_coord`` the horizontal coordinate of points on the diagonal [0..2888] ``vert_coord`` the vertical coordinate of points on the diagonal [0..2240]h](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubh:}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjEubj{)}(hXstruct c3_isp_params_awb_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 satur_vald; __u8 horiz_zones_num; __u8 vert_zones_num; __u16 rg_min; __u16 rg_max; __u16 bg_min; __u16 bg_max; __u16 rg_low; __u16 rg_high; __u16 bg_low; __u16 bg_high; __u8 zone_weight[C3_ISP_AWB_MAX_ZONES]; __u16 horiz_coord[C3_ISP_AWB_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AWB_MAX_PT_NUM]; };h]hXstruct c3_isp_params_awb_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 satur_vald; __u8 horiz_zones_num; __u8 vert_zones_num; __u16 rg_min; __u16 rg_max; __u16 bg_min; __u16 bg_max; __u16 rg_low; __u16 rg_high; __u16 bg_low; __u16 bg_high; __u8 zone_weight[C3_ISP_AWB_MAX_ZONES]; __u16 horiz_coord[C3_ISP_AWB_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AWB_MAX_PT_NUM]; };}hjfsbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjEubj)}(h **Members**h]j)}(hjwh]hMembers}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM,hjEubj)}(hhh](j)}(h.``header`` the C3 ISP parameters block header h](j)}(h ``header``h]j)}(hjh]hheader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjubj)}(hhh]j)}(h"the C3 ISP parameters block headerh]h"the C3 ISP parameters block header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hB``tap_point`` the tap point from enum c3_isp_params_awb_tap_point h](j)}(h ``tap_point``h]j)}(hjh]h tap_point}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjubj)}(hhh]j)}(h3the tap point from enum c3_isp_params_awb_tap_pointh]h3the tap point from enum c3_isp_params_awb_tap_point}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hR``satur_vald`` AWB statistic over saturation control value: 0: disable, 1: enable h](j)}(h``satur_vald``h]j)}(hjh]h satur_vald}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjubj)}(hhh]j)}(hBAWB statistic over saturation control value: 0: disable, 1: enableh]hBAWB statistic over saturation control value: 0: disable, 1: enable}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h>``horiz_zones_num`` active number of hotizontal zones [0..32] h](j)}(h``horiz_zones_num``h]j)}(hjBh]hhoriz_zones_num}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM hj<ubj)}(hhh]j)}(h)active number of hotizontal zones [0..32]h]h)active number of hotizontal zones [0..32]}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWhM hjXubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjWhM hjubj)}(h;``vert_zones_num`` active number of vertical zones [0..24] h](j)}(h``vert_zones_num``h]j)}(hj{h]hvert_zones_num}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM!hjuubj)}(hhh]j)}(h'active number of vertical zones [0..24]h]h'active number of vertical zones [0..24]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM!hjubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhjhM!hjubj)}(h+``rg_min`` minimum R/G ratio (Q4.8 format) h](j)}(h ``rg_min``h]j)}(hjh]hrg_min}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM"hjubj)}(hhh]j)}(hminimum R/G ratio (Q4.8 format)h]hminimum R/G ratio (Q4.8 format)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM"hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM"hjubj)}(h+``rg_max`` maximum R/G ratio (Q4.8 format) h](j)}(h ``rg_max``h]j)}(hjh]hrg_max}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM#hjubj)}(hhh]j)}(hmaximum R/G ratio (Q4.8 format)h]hmaximum R/G ratio (Q4.8 format)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM#hjubj)}(h+``bg_min`` minimum B/G ratio (Q4.8 format) h](j)}(h ``bg_min``h]j)}(hj&h]hbg_min}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM$hj ubj)}(hhh]j)}(hminimum B/G ratio (Q4.8 format)h]hminimum B/G ratio (Q4.8 format)}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;hM$hj<ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj;hM$hjubj)}(h+``bg_max`` maximum B/G ratio (Q4.8 format) h](j)}(h ``bg_max``h]j)}(hj_h]hbg_max}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM%hjYubj)}(hhh]j)}(hmaximum B/G ratio (Q4.8 format)h]hmaximum B/G ratio (Q4.8 format)}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjthM%hjuubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjthM%hjubj)}(h,``rg_low`` R/G ratio trim low (Q4.8 format) h](j)}(h ``rg_low``h]j)}(hjh]hrg_low}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM&hjubj)}(hhh]j)}(h R/G ratio trim low (Q4.8 format)h]h R/G ratio trim low (Q4.8 format)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM&hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM&hjubj)}(h/``rg_high`` R/G ratio trim hight (Q4.8 format) h](j)}(h ``rg_high``h]j)}(hjh]hrg_high}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM'hjubj)}(hhh]j)}(h"R/G ratio trim hight (Q4.8 format)h]h"R/G ratio trim hight (Q4.8 format)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM'hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM'hjubj)}(h,``bg_low`` B/G ratio trim low (Q4.8 format) h](j)}(h ``bg_low``h]j)}(hj h]hbg_low}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM(hjubj)}(hhh]j)}(h B/G ratio trim low (Q4.8 format)h]h B/G ratio trim low (Q4.8 format)}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM(hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM(hjubj)}(h.``bg_high`` B/G ratio trim high (Q4.8 format) h](j)}(h ``bg_high``h]j)}(hjCh]hbg_high}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM)hj=ubj)}(hhh]j)}(h!B/G ratio trim high (Q4.8 format)h]h!B/G ratio trim high (Q4.8 format)}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXhM)hjYubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjXhM)hjubj)}(hB``zone_weight`` array of weights for AWB statistics zones [0..15] h](j)}(h``zone_weight``h]j)}(hj|h]h zone_weight}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM*hjvubj)}(hhh]j)}(h1array of weights for AWB statistics zones [0..15]h]h1array of weights for AWB statistics zones [0..15]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM*hjubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjhM*hjubj)}(hN``horiz_coord`` the horizontal coordinate of points on the diagonal [0..2888] h](j)}(h``horiz_coord``h]j)}(hjh]h horiz_coord}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM+hjubj)}(hhh]j)}(h=the horizontal coordinate of points on the diagonal [0..2888]h]h=the horizontal coordinate of points on the diagonal [0..2888]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhM+hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM+hjubj)}(hJ``vert_coord`` the vertical coordinate of points on the diagonal [0..2240]h](j)}(h``vert_coord``h]j)}(hjh]h vert_coord}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM+hjubj)}(hhh]j)}(h;the vertical coordinate of points on the diagonal [0..2240]h]h;the vertical coordinate of points on the diagonal [0..2240]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM,hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM+hjubeh}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj1h]h Description}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM/hjhhubj)}(hXThis struct allows the configuration of the statistics generated for auto white balance.h]hXThis struct allows the configuration of the statistics generated for auto white balance.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(hcheader.type should be set to C3_ISP_PARAMS_BLOCK_AWB_CONFIG from :c:type:`c3_isp_params_block_type`h](hAheader.type should be set to C3_ISP_PARAMS_BLOCK_AWB_CONFIG from }(hjVhhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hj`h]hc3_isp_params_block_type}(hjbhhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjVubeh}(h]h ]h"]h$]h&]uh1jhj}hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$c3_isp_params_ae_tap_points (C enum)c.c3_isp_params_ae_tap_pointshNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_ae_tap_pointsh]j)}(h enum c3_isp_params_ae_tap_pointsh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubj)}(hc3_isp_params_ae_tap_pointsh]j)}(hjh]hc3_isp_params_ae_tap_points}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhMubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjhhubj )}(hhh]j)}(h Tap points for the AE statisticsh]h Tap points for the AE statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMAhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](j!enumeh"]h$]h&]j@j!jAjjBjjCjDjEuh1jhhhjhjhNubjG)}(h**Constants** ``C3_ISP_AE_STATS_TAP_GE`` immediately after the green equal block ``C3_ISP_AE_STATS_TAP_MLS`` immediately after the mesh lens shading blockh](j)}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMEhjubj)}(hhh](j)}(hC``C3_ISP_AE_STATS_TAP_GE`` immediately after the green equal block h](j)}(h``C3_ISP_AE_STATS_TAP_GE``h]j)}(hj h]hC3_ISP_AE_STATS_TAP_GE}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMHhjubj)}(hhh]j)}(h'immediately after the green equal blockh]h'immediately after the green equal block}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5hMHhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj5hMHhjubj)}(hI``C3_ISP_AE_STATS_TAP_MLS`` immediately after the mesh lens shading blockh](j)}(h``C3_ISP_AE_STATS_TAP_MLS``h]j)}(hjYh]hC3_ISP_AE_STATS_TAP_MLS}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMJhjSubj)}(hhh]j)}(h-immediately after the mesh lens shading blockh]h-immediately after the mesh lens shading block}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMKhjoubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjnhMJhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"c3_isp_params_ae_config (C struct)c.c3_isp_params_ae_confighNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_ae_configh]j)}(hstruct c3_isp_params_ae_configh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMPubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMPubj)}(hc3_isp_params_ae_configh]j)}(hjh]hc3_isp_params_ae_config}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhMPubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhMPubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMPhjhhubj )}(hhh]j)}(h Stats settings for auto-exposureh]h Stats settings for auto-exposure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMPubeh}(h]h ](j!structeh"]h$]h&]j@j!jAj jBj jCjDjEuh1jhhhjhjhNubjG)}(hXo**Definition**:: struct c3_isp_params_ae_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 horiz_zones_num; __u8 vert_zones_num; __u8 zone_weight[C3_ISP_AE_MAX_ZONES]; __u16 horiz_coord[C3_ISP_AE_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AE_MAX_PT_NUM]; __u16 reserved[3]; }; **Members** ``header`` the C3 ISP parameters block header ``tap_point`` the tap point from enum c3_isp_params_ae_tap_point ``horiz_zones_num`` active number of horizontal zones [0..17] ``vert_zones_num`` active number of vertical zones [0..15] ``zone_weight`` array of weights for AE statistics zones [0..15] ``horiz_coord`` the horizontal coordinate of points on the diagonal [0..2888] ``vert_coord`` the vertical coordinate of points on the diagonal [0..2240] ``reserved`` applications must zero this arrayh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMOhjubj{)}(hX3struct c3_isp_params_ae_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 horiz_zones_num; __u8 vert_zones_num; __u8 zone_weight[C3_ISP_AE_MAX_ZONES]; __u16 horiz_coord[C3_ISP_AE_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AE_MAX_PT_NUM]; __u16 reserved[3]; };h]hX3struct c3_isp_params_ae_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 horiz_zones_num; __u8 vert_zones_num; __u8 zone_weight[C3_ISP_AE_MAX_ZONES]; __u16 horiz_coord[C3_ISP_AE_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AE_MAX_PT_NUM]; __u16 reserved[3]; };}hj2sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMQhjubj)}(h **Members**h]j)}(hjCh]hMembers}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM\hjubj)}(hhh](j)}(h.``header`` the C3 ISP parameters block header h](j)}(h ``header``h]j)}(hjbh]hheader}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMThj\ubj)}(hhh]j)}(h"the C3 ISP parameters block headerh]h"the C3 ISP parameters block header}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwhMThjxubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjwhMThjYubj)}(hA``tap_point`` the tap point from enum c3_isp_params_ae_tap_point h](j)}(h ``tap_point``h]j)}(hjh]h tap_point}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMWhjubj)}(hhh]j)}(h2the tap point from enum c3_isp_params_ae_tap_pointh]h2the tap point from enum c3_isp_params_ae_tap_point}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhMWhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMWhjYubj)}(h>``horiz_zones_num`` active number of horizontal zones [0..17] h](j)}(h``horiz_zones_num``h]j)}(hjh]hhoriz_zones_num}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMUhjubj)}(hhh]j)}(h)active number of horizontal zones [0..17]h]h)active number of horizontal zones [0..17]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhMUhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMUhjYubj)}(h;``vert_zones_num`` active number of vertical zones [0..15] h](j)}(h``vert_zones_num``h]j)}(hj h]hvert_zones_num}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMVhj ubj)}(hhh]j)}(h'active number of vertical zones [0..15]h]h'active number of vertical zones [0..15]}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj" hMVhj# ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj" hMVhjYubj)}(hA``zone_weight`` array of weights for AE statistics zones [0..15] h](j)}(h``zone_weight``h]j)}(hjF h]h zone_weight}(hjH hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjD ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMXhj@ ubj)}(hhh]j)}(h0array of weights for AE statistics zones [0..15]h]h0array of weights for AE statistics zones [0..15]}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ hMXhj\ ubah}(h]h ]h"]h$]h&]uh1jhj@ ubeh}(h]h ]h"]h$]h&]uh1jhj[ hMXhjYubj)}(hN``horiz_coord`` the horizontal coordinate of points on the diagonal [0..2888] h](j)}(h``horiz_coord``h]j)}(hj h]h horiz_coord}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj} ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMYhjy ubj)}(hhh]j)}(h=the horizontal coordinate of points on the diagonal [0..2888]h]h=the horizontal coordinate of points on the diagonal [0..2888]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hMYhj ubah}(h]h ]h"]h$]h&]uh1jhjy ubeh}(h]h ]h"]h$]h&]uh1jhj hMYhjYubj)}(hK``vert_coord`` the vertical coordinate of points on the diagonal [0..2240] h](j)}(h``vert_coord``h]j)}(hj h]h vert_coord}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMZhj ubj)}(hhh]j)}(h;the vertical coordinate of points on the diagonal [0..2240]h]h;the vertical coordinate of points on the diagonal [0..2240]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hMZhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMZhjYubj)}(h.``reserved`` applications must zero this arrayh](j)}(h ``reserved``h]j)}(hj h]hreserved}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMZhj ubj)}(hhh]j)}(h!applications must zero this arrayh]h!applications must zero this array}(hj !hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM[hj!ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj!hMZhjYubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj4!h]h Description}(hj6!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2!ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM^hjhhubj)}(hSThis struct allows the configuration of the statistics generated for auto exposure.h]hSThis struct allows the configuration of the statistics generated for auto exposure.}(hjJ!hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMLhjhhubj)}(hbheader.type should be set to C3_ISP_PARAMS_BLOCK_AE_CONFIG from :c:type:`c3_isp_params_block_type`h](h@header.type should be set to C3_ISP_PARAMS_BLOCK_AE_CONFIG from }(hjY!hhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hjc!h]hc3_isp_params_block_type}(hje!hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhja!ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMOhjY!ubeh}(h]h ]h"]h$]h&]uh1jhj!hMOhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$c3_isp_params_af_tap_points (C enum)c.c3_isp_params_af_tap_pointshNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_af_tap_pointsh]j)}(h enum c3_isp_params_af_tap_pointsh](j)}(hjh]henum}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.h hMUubj)}(h h]h }(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!hhhj!hMUubj)}(hc3_isp_params_af_tap_pointsh]j)}(hj!h]hc3_isp_params_af_tap_points}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj!hhhj!hMUubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj!hhhj!hMUubah}(h]j!ah ](jjeh"]h$]h&]jj)jhuh1jhj!hMUhj!hhubj )}(hhh]j)}(h Tap points for the AF statisticsh]h Tap points for the AF statistics}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhhj!hhubah}(h]h ]h"]h$]h&]uh1jhj!hhhj!hMUubeh}(h]h ](j!enumeh"]h$]h&]j@j!jAj!jBj!jCjDjEuh1jhhhjhjhNubjG)}(h**Constants** ``C3_ISP_AF_STATS_TAP_SNR`` immediately after the spatial noise reduce block ``C3_ISP_AF_STATS_TAP_DMS`` immediately after the demosaic blockh](j)}(h **Constants**h]j)}(hj"h]h Constants}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMlhj!ubj)}(hhh](j)}(hM``C3_ISP_AF_STATS_TAP_SNR`` immediately after the spatial noise reduce block h](j)}(h``C3_ISP_AF_STATS_TAP_SNR``h]j)}(hj#"h]hC3_ISP_AF_STATS_TAP_SNR}(hj%"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!"ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMohj"ubj)}(hhh]j)}(h0immediately after the spatial noise reduce blockh]h0immediately after the spatial noise reduce block}(hj<"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8"hMohj9"ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj8"hMohj"ubj)}(h@``C3_ISP_AF_STATS_TAP_DMS`` immediately after the demosaic blockh](j)}(h``C3_ISP_AF_STATS_TAP_DMS``h]j)}(hj\"h]hC3_ISP_AF_STATS_TAP_DMS}(hj^"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZ"ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMqhjV"ubj)}(hhh]j)}(h$immediately after the demosaic blockh]h$immediately after the demosaic block}(hju"hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMrhjr"ubah}(h]h ]h"]h$]h&]uh1jhjV"ubeh}(h]h ]h"]h$]h&]uh1jhjq"hMqhj"ubeh}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"c3_isp_params_af_config (C struct)c.c3_isp_params_af_confighNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_af_configh]j)}(hstruct c3_isp_params_af_configh](j)}(hjh]hstruct}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMwubj)}(h h]h }(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"hhhj"hMwubj)}(hc3_isp_params_af_configh]j)}(hj"h]hc3_isp_params_af_config}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj"hhhj"hMwubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj"hhhj"hMwubah}(h]j"ah ](jjeh"]h$]h&]jj)jhuh1jhj"hMwhj"hhubj )}(hhh]j)}(hStats settings for auto-focush]hStats settings for auto-focus}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMrhj"hhubah}(h]h ]h"]h$]h&]uh1jhj"hhhj"hMwubeh}(h]h ](j!structeh"]h$]h&]j@j!jAj#jBj#jCjDjEuh1jhhhjhjhNubjG)}(hX**Definition**:: struct c3_isp_params_af_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 horiz_zones_num; __u8 vert_zones_num; __u8 reserved[5]; __u16 horiz_coord[C3_ISP_AF_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AF_MAX_PT_NUM]; }; **Members** ``header`` the C3 ISP parameters block header ``tap_point`` the tap point from enum c3_isp_params_af_tap_point ``horiz_zones_num`` active number of hotizontal zones [0..17] ``vert_zones_num`` active number of vertical zones [0..15] ``reserved`` applications must zero this array ``horiz_coord`` the horizontal coordinate of points on the diagonal [0..2888] ``vert_coord`` the vertical coordinate of points on the diagonal [0..2240]h](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubh:}(hj#hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMvhj#ubj{)}(hXstruct c3_isp_params_af_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 horiz_zones_num; __u8 vert_zones_num; __u8 reserved[5]; __u16 horiz_coord[C3_ISP_AF_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AF_MAX_PT_NUM]; };h]hXstruct c3_isp_params_af_config { struct c3_isp_params_block_header header; __u8 tap_point; __u8 horiz_zones_num; __u8 vert_zones_num; __u8 reserved[5]; __u16 horiz_coord[C3_ISP_AF_MAX_PT_NUM]; __u16 vert_coord[C3_ISP_AF_MAX_PT_NUM]; };}hj5#sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMxhj#ubj)}(h **Members**h]j)}(hjF#h]hMembers}(hjH#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjD#ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj#ubj)}(hhh](j)}(h.``header`` the C3 ISP parameters block header h](j)}(h ``header``h]j)}(hje#h]hheader}(hjg#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjc#ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM{hj_#ubj)}(hhh]j)}(h"the C3 ISP parameters block headerh]h"the C3 ISP parameters block header}(hj~#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjz#hM{hj{#ubah}(h]h ]h"]h$]h&]uh1jhj_#ubeh}(h]h ]h"]h$]h&]uh1jhjz#hM{hj\#ubj)}(hA``tap_point`` the tap point from enum c3_isp_params_af_tap_point h](j)}(h ``tap_point``h]j)}(hj#h]h tap_point}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM|hj#ubj)}(hhh]j)}(h2the tap point from enum c3_isp_params_af_tap_pointh]h2the tap point from enum c3_isp_params_af_tap_point}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#hM|hj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj#hM|hj\#ubj)}(h>``horiz_zones_num`` active number of hotizontal zones [0..17] h](j)}(h``horiz_zones_num``h]j)}(hj#h]hhoriz_zones_num}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM}hj#ubj)}(hhh]j)}(h)active number of hotizontal zones [0..17]h]h)active number of hotizontal zones [0..17]}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#hM}hj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj#hM}hj\#ubj)}(h;``vert_zones_num`` active number of vertical zones [0..15] h](j)}(h``vert_zones_num``h]j)}(hj$h]hvert_zones_num}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM~hj $ubj)}(hhh]j)}(h'active number of vertical zones [0..15]h]h'active number of vertical zones [0..15]}(hj)$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%$hM~hj&$ubah}(h]h ]h"]h$]h&]uh1jhj $ubeh}(h]h ]h"]h$]h&]uh1jhj%$hM~hj\#ubj)}(h/``reserved`` applications must zero this array h](j)}(h ``reserved``h]j)}(hjI$h]hreserved}(hjK$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjG$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjC$ubj)}(hhh]j)}(h!applications must zero this arrayh]h!applications must zero this array}(hjb$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^$hMhj_$ubah}(h]h ]h"]h$]h&]uh1jhjC$ubeh}(h]h ]h"]h$]h&]uh1jhj^$hMhj\#ubj)}(hN``horiz_coord`` the horizontal coordinate of points on the diagonal [0..2888] h](j)}(h``horiz_coord``h]j)}(hj$h]h horiz_coord}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj|$ubj)}(hhh]j)}(h=the horizontal coordinate of points on the diagonal [0..2888]h]h=the horizontal coordinate of points on the diagonal [0..2888]}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$hMhj$ubah}(h]h ]h"]h$]h&]uh1jhj|$ubeh}(h]h ]h"]h$]h&]uh1jhj$hMhj\#ubj)}(hJ``vert_coord`` the vertical coordinate of points on the diagonal [0..2240]h](j)}(h``vert_coord``h]j)}(hj$h]h vert_coord}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj$ubj)}(hhh]j)}(h;the vertical coordinate of points on the diagonal [0..2240]h]h;the vertical coordinate of points on the diagonal [0..2240]}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj$hMhj\#ubeh}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj$h]h Description}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(hPThis struct allows the configuration of the statistics generated for auto focus.h]hPThis struct allows the configuration of the statistics generated for auto focus.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMshjhhubj)}(hbheader.type should be set to C3_ISP_PARAMS_BLOCK_AF_CONFIG from :c:type:`c3_isp_params_block_type`h](h@header.type should be set to C3_ISP_PARAMS_BLOCK_AF_CONFIG from }(hj#%hhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hj-%h]hc3_isp_params_block_type}(hj/%hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj+%ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMvhj#%ubeh}(h]h ]h"]h$]h&]uh1jhjJ%hMvhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"c3_isp_params_pst_gamma (C struct)c.c3_isp_params_pst_gammahNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_pst_gammah]j)}(hstruct c3_isp_params_pst_gammah](j)}(hjh]hstruct}(hjj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjf%hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM|ubj)}(h h]h }(hjx%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjf%hhhjw%hM|ubj)}(hc3_isp_params_pst_gammah]j)}(hjd%h]hc3_isp_params_pst_gamma}(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubah}(h]h ](jjeh"]h$]h&]hhuh1jhjf%hhhjw%hM|ubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjb%hhhjw%hM|ubah}(h]j]%ah ](jjeh"]h$]h&]jj)jhuh1jhjw%hM|hj_%hhubj )}(hhh]j)}(hPost gamma configurationh]hPost gamma configuration}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj%hhubah}(h]h ]h"]h$]h&]uh1jhj_%hhhjw%hM|ubeh}(h]h ](j!structeh"]h$]h&]j@j!jAj%jBj%jCjDjEuh1jhhhjhjhNubjG)}(hX=**Definition**:: struct c3_isp_params_pst_gamma { struct c3_isp_params_block_header header; __u16 lut[129]; __u16 reserved[3]; }; **Members** ``header`` the C3 ISP parameters block header ``lut`` lookup table for P-Stitch gamma [0..1023] ``reserved`` applications must zero this arrayh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubh:}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj%ubj{)}(h|struct c3_isp_params_pst_gamma { struct c3_isp_params_block_header header; __u16 lut[129]; __u16 reserved[3]; };h]h|struct c3_isp_params_pst_gamma { struct c3_isp_params_block_header header; __u16 lut[129]; __u16 reserved[3]; };}hj%sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj%ubj)}(h **Members**h]j)}(hj%h]hMembers}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj%ubj)}(hhh](j)}(h.``header`` the C3 ISP parameters block header h](j)}(h ``header``h]j)}(hj&h]hheader}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj&ubj)}(hhh]j)}(h"the C3 ISP parameters block headerh]h"the C3 ISP parameters block header}(hj2&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.&hMhj/&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj.&hMhj&ubj)}(h2``lut`` lookup table for P-Stitch gamma [0..1023] h](j)}(h``lut``h]j)}(hjR&h]hlut}(hjT&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjP&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjL&ubj)}(hhh]j)}(h)lookup table for P-Stitch gamma [0..1023]h]h)lookup table for P-Stitch gamma [0..1023]}(hjk&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjg&hMhjh&ubah}(h]h ]h"]h$]h&]uh1jhjL&ubeh}(h]h ]h"]h$]h&]uh1jhjg&hMhj&ubj)}(h.``reserved`` applications must zero this arrayh](j)}(h ``reserved``h]j)}(hj&h]hreserved}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj&ubj)}(hhh]j)}(h!applications must zero this arrayh]h!applications must zero this array}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj&hMhj&ubeh}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj&h]h Description}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(hThis struct allows the configuration of the look up table for post gamma. The gamma curve consists of 129 points, so need to set lut[129].h]hThis struct allows the configuration of the look up table for post gamma. The gamma curve consists of 129 points, so need to set lut[129].}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(hbheader.type should be set to C3_ISP_PARAMS_BLOCK_PST_GAMMA from :c:type:`c3_isp_params_block_type`h](h@header.type should be set to C3_ISP_PARAMS_BLOCK_PST_GAMMA from }(hj&hhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hj&h]hc3_isp_params_block_type}(hj&hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj&ubeh}(h]h ]h"]h$]h&]uh1jhj'hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_params_ccm (C struct)c.c3_isp_params_ccmhNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_ccmh]j)}(hstruct c3_isp_params_ccmh](j)}(hjh]hstruct}(hj:'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6'hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMubj)}(h h]h }(hjH'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6'hhhjG'hMubj)}(hc3_isp_params_ccmh]j)}(hj4'h]hc3_isp_params_ccm}(hjZ'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjV'ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj6'hhhjG'hMubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj2'hhhjG'hMubah}(h]j-'ah ](jjeh"]h$]h&]jj)jhuh1jhjG'hMhj/'hhubj )}(hhh]j)}(hISP CCM configurationh]hISP CCM configuration}(hj|'hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjy'hhubah}(h]h ]h"]h$]h&]uh1jhj/'hhhjG'hMubeh}(h]h ](j!structeh"]h$]h&]j@j!jAj'jBj'jCjDjEuh1jhhhjhjhNubjG)}(hX}**Definition**:: struct c3_isp_params_ccm { struct c3_isp_params_block_header header; __s16 matrix[3][3]; __u16 reserved[3]; }; **Members** ``header`` the C3 ISP parameters block header ``matrix`` a 3 x 3 matrix used for color correction, the value of matrix[x][y] is orig_value x 256. [-4096..4095] ``reserved`` applications must zero this arrayh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubh:}(hj'hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj'ubj{)}(hzstruct c3_isp_params_ccm { struct c3_isp_params_block_header header; __s16 matrix[3][3]; __u16 reserved[3]; };h]hzstruct c3_isp_params_ccm { struct c3_isp_params_block_header header; __s16 matrix[3][3]; __u16 reserved[3]; };}hj'sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj'ubj)}(h **Members**h]j)}(hj'h]hMembers}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj'ubj)}(hhh](j)}(h.``header`` the C3 ISP parameters block header h](j)}(h ``header``h]j)}(hj'h]hheader}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj'ubj)}(hhh]j)}(h"the C3 ISP parameters block headerh]h"the C3 ISP parameters block header}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj'hMhj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'hMhj'ubj)}(hr``matrix`` a 3 x 3 matrix used for color correction, the value of matrix[x][y] is orig_value x 256. [-4096..4095] h](j)}(h ``matrix``h]j)}(hj"(h]hmatrix}(hj$(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj (ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj(ubj)}(hhh]j)}(hfa 3 x 3 matrix used for color correction, the value of matrix[x][y] is orig_value x 256. [-4096..4095]h]hfa 3 x 3 matrix used for color correction, the value of matrix[x][y] is orig_value x 256. [-4096..4095]}(hj;(hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj8(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj7(hMhj'ubj)}(h.``reserved`` applications must zero this arrayh](j)}(h ``reserved``h]j)}(hj\(h]hreserved}(hj^(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZ(ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjV(ubj)}(hhh]j)}(h!applications must zero this arrayh]h!applications must zero this array}(hju(hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjr(ubah}(h]h ]h"]h$]h&]uh1jhjV(ubeh}(h]h ]h"]h$]h&]uh1jhjq(hMhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj(h]h Description}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(hThis struct allows the configuration of the matrix for color correction. The matrix consists of 3 x 3 points, so need to set matrix[3][3].h]hThis struct allows the configuration of the matrix for color correction. The matrix consists of 3 x 3 points, so need to set matrix[3][3].}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(h\header.type should be set to C3_ISP_PARAMS_BLOCK_CCM from :c:type:`c3_isp_params_block_type`h](h:header.type should be set to C3_ISP_PARAMS_BLOCK_CCM from }(hj(hhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hj(h]hc3_isp_params_block_type}(hj(hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_params_csc (C struct)c.c3_isp_params_cschNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_csch]j)}(hstruct c3_isp_params_csch](j)}(hjh]hstruct}(hj )hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj)hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMubj)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj)hhhj)hMubj)}(hc3_isp_params_csch]j)}(hj)h]hc3_isp_params_csc}(hj+)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj')ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj)hhhj)hMubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj)hhhj)hMubah}(h]j(ah ](jjeh"]h$]h&]jj)jhuh1jhj)hMhj)hhubj )}(hhh]j)}(h(ISP Color Space Conversion configurationh]h(ISP Color Space Conversion configuration}(hjM)hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjJ)hhubah}(h]h ]h"]h$]h&]uh1jhj)hhhj)hMubeh}(h]h ](j!structeh"]h$]h&]j@j!jAje)jBje)jCjDjEuh1jhhhjhjhNubjG)}(hX**Definition**:: struct c3_isp_params_csc { struct c3_isp_params_block_header header; __s16 matrix[3][3]; __u16 reserved[3]; }; **Members** ``header`` the C3 ISP parameters block header ``matrix`` a 3x3 matrix used for the color space conversion, the value of matrix[x][y] is orig_value x 256. [-4096..4095] ``reserved`` applications must zero this arrayh](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjq)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjm)ubh:}(hjm)hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhji)ubj{)}(hzstruct c3_isp_params_csc { struct c3_isp_params_block_header header; __s16 matrix[3][3]; __u16 reserved[3]; };h]hzstruct c3_isp_params_csc { struct c3_isp_params_block_header header; __s16 matrix[3][3]; __u16 reserved[3]; };}hj)sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhji)ubj)}(h **Members**h]j)}(hj)h]hMembers}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhji)ubj)}(hhh](j)}(h.``header`` the C3 ISP parameters block header h](j)}(h ``header``h]j)}(hj)h]hheader}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj)ubj)}(hhh]j)}(h"the C3 ISP parameters block headerh]h"the C3 ISP parameters block header}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)hMhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)hMhj)ubj)}(hz``matrix`` a 3x3 matrix used for the color space conversion, the value of matrix[x][y] is orig_value x 256. [-4096..4095] h](j)}(h ``matrix``h]j)}(hj)h]hmatrix}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj)ubj)}(hhh]j)}(hna 3x3 matrix used for the color space conversion, the value of matrix[x][y] is orig_value x 256. [-4096..4095]h]hna 3x3 matrix used for the color space conversion, the value of matrix[x][y] is orig_value x 256. [-4096..4095]}(hj *hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj *ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj*hMhj)ubj)}(h.``reserved`` applications must zero this arrayh](j)}(h ``reserved``h]j)}(hj-*h]hreserved}(hj/*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+*ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj'*ubj)}(hhh]j)}(h!applications must zero this arrayh]h!applications must zero this array}(hjF*hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjC*ubah}(h]h ]h"]h$]h&]uh1jhj'*ubeh}(h]h ]h"]h$]h&]uh1jhjB*hMhj)ubeh}(h]h ]h"]h$]h&]uh1jhji)ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hjp*h]h Description}(hjr*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjn*ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(hThis struct allows the configuration of the matrix for color space conversion. The matrix consists of 3 x 3 points, so need to set matrix[3][3].h]hThis struct allows the configuration of the matrix for color space conversion. The matrix consists of 3 x 3 points, so need to set matrix[3][3].}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(h\header.type should be set to C3_ISP_PARAMS_BLOCK_CSC from :c:type:`c3_isp_params_block_type`h](h:header.type should be set to C3_ISP_PARAMS_BLOCK_CSC from }(hj*hhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hj*h]hc3_isp_params_block_type}(hj*hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj*ubeh}(h]h ]h"]h$]h&]uh1jhj*hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_params_blc (C struct)c.c3_isp_params_blchNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_blch]j)}(hstruct c3_isp_params_blch](j)}(hjh]hstruct}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMubj)}(h h]h }(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*hhhj*hMubj)}(hc3_isp_params_blch]j)}(hj*h]hc3_isp_params_blc}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj*hhhj*hMubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj*hhhj*hMubah}(h]j*ah ](jjeh"]h$]h&]jj)jhuh1jhj*hMhj*hhubj )}(hhh]j)}(h(ISP Black Level Correction configurationh]h(ISP Black Level Correction configuration}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj+hhubah}(h]h ]h"]h$]h&]uh1jhj*hhhj*hMubeh}(h]h ](j!structeh"]h$]h&]j@j!jAj6+jBj6+jCjDjEuh1jhhhjhjhNubjG)}(hX**Definition**:: struct c3_isp_params_blc { struct c3_isp_params_block_header header; __u16 gr_ofst; __u16 r_ofst; __u16 b_ofst; __u16 gb_ofst; }; **Members** ``header`` the C3 ISP parameters block header ``gr_ofst`` Gr blc offset (Q4.12 format) ``r_ofst`` R blc offset (Q4.12 format) ``b_ofst`` B blc offset (Q4.12 format) ``gb_ofst`` Gb blc offset(Q4.12 format)h](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjB+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>+ubh:}(hj>+hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj:+ubj{)}(hstruct c3_isp_params_blc { struct c3_isp_params_block_header header; __u16 gr_ofst; __u16 r_ofst; __u16 b_ofst; __u16 gb_ofst; };h]hstruct c3_isp_params_blc { struct c3_isp_params_block_header header; __u16 gr_ofst; __u16 r_ofst; __u16 b_ofst; __u16 gb_ofst; };}hj[+sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj:+ubj)}(h **Members**h]j)}(hjl+h]hMembers}(hjn+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjj+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj:+ubj)}(hhh](j)}(h.``header`` the C3 ISP parameters block header h](j)}(h ``header``h]j)}(hj+h]hheader}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj+ubj)}(hhh]j)}(h"the C3 ISP parameters block headerh]h"the C3 ISP parameters block header}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+hMhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hMhj+ubj)}(h)``gr_ofst`` Gr blc offset (Q4.12 format) h](j)}(h ``gr_ofst``h]j)}(hj+h]hgr_ofst}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj+ubj)}(hhh]j)}(hGr blc offset (Q4.12 format)h]hGr blc offset (Q4.12 format)}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+hMhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hMhj+ubj)}(h'``r_ofst`` R blc offset (Q4.12 format) h](j)}(h ``r_ofst``h]j)}(hj+h]hr_ofst}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj+ubj)}(hhh]j)}(hR blc offset (Q4.12 format)h]hR blc offset (Q4.12 format)}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,hMhj,ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj,hMhj+ubj)}(h'``b_ofst`` B blc offset (Q4.12 format) h](j)}(h ``b_ofst``h]j)}(hj6,h]hb_ofst}(hj8,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4,ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj0,ubj)}(hhh]j)}(hB blc offset (Q4.12 format)h]hB blc offset (Q4.12 format)}(hjO,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK,hMhjL,ubah}(h]h ]h"]h$]h&]uh1jhj0,ubeh}(h]h ]h"]h$]h&]uh1jhjK,hMhj+ubj)}(h'``gb_ofst`` Gb blc offset(Q4.12 format)h](j)}(h ``gb_ofst``h]j)}(hjo,h]hgb_ofst}(hjq,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjm,ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhji,ubj)}(hhh]j)}(hGb blc offset(Q4.12 format)h]hGb blc offset(Q4.12 format)}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj,ubah}(h]h ]h"]h$]h&]uh1jhji,ubeh}(h]h ]h"]h$]h&]uh1jhj,hMhj+ubeh}(h]h ]h"]h$]h&]uh1jhj:+ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj,h]h Description}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(hVThis struct allows the configuration of the block level offset for each color channel.h]hVThis struct allows the configuration of the block level offset for each color channel.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(h\header.type should be set to C3_ISP_PARAMS_BLOCK_BLC from :c:type:`c3_isp_params_block_type`h](h:header.type should be set to C3_ISP_PARAMS_BLOCK_BLC from }(hj,hhhNhNubh)}(h":c:type:`c3_isp_params_block_type`h]j)}(hj,h]hc3_isp_params_block_type}(hj,hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_params_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj,ubeh}(h]h ]h"]h$]h&]uh1jhj,hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j C3_ISP_PARAMS_MAX_SIZE (C macro)c.C3_ISP_PARAMS_MAX_SIZEhNtauh1jhjhhhjhNubj)}(hhh](j)}(hC3_ISP_PARAMS_MAX_SIZEh]j)}(hC3_ISP_PARAMS_MAX_SIZEh]j)}(hC3_ISP_PARAMS_MAX_SIZEh]j)}(hj-h]hC3_ISP_PARAMS_MAX_SIZE}(hj"-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj-hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMubah}(h]h ]h"]h$]h&]hhjuh1jjjhj-hhhj5-hMubah}(h]j-ah ](jjeh"]h$]h&]jj)jhuh1jhj5-hMhj-hhubj )}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-hhhj5-hMubeh}(h]h ](j!macroeh"]h$]h&]j@j!jAjN-jBjN-jCjDjEuh1jhhhjhjhNubj)}(h``C3_ISP_PARAMS_MAX_SIZE``h]j)}(hjT-h]hC3_ISP_PARAMS_MAX_SIZE}(hjV-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjR-ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubh block_quote)}(hXD Maximum size of all C3 ISP Parameters **Description** Though the parameters for the C3 ISP are passed as optional blocks, the driver still needs to know the absolute maximum size so that it can allocate a buffer sized appropriately to accommodate userspace attempting to set all possible parameters in a single frame. h](jk-)}(h&Maximum size of all C3 ISP Parameters h]j)}(h%Maximum size of all C3 ISP Parametersh]h%Maximum size of all C3 ISP Parameters}(hjt-hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjp-ubah}(h]h ]h"]h$]h&]uh1jj-hj-hMhjl-ubj)}(h**Description**h]j)}(hj-h]h Description}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjl-ubj)}(hXThough the parameters for the C3 ISP are passed as optional blocks, the driver still needs to know the absolute maximum size so that it can allocate a buffer sized appropriately to accommodate userspace attempting to set all possible parameters in a single frame.h]hXThough the parameters for the C3 ISP are passed as optional blocks, the driver still needs to know the absolute maximum size so that it can allocate a buffer sized appropriately to accommodate userspace attempting to set all possible parameters in a single frame.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjl-ubeh}(h]h ]h"]h$]h&]uh1jj-hj-hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jc3_isp_params_cfg (C struct)c.c3_isp_params_cfghNtauh1jhjhhhjhNubj)}(hhh](j)}(hc3_isp_params_cfgh]j)}(hstruct c3_isp_params_cfgh](j)}(hjh]hstruct}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMubj)}(h h]h }(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-hhhj-hMubj)}(hc3_isp_params_cfgh]j)}(hj-h]hc3_isp_params_cfg}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-ubah}(h]h ](jjeh"]h$]h&]hhuh1jhj-hhhj-hMubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj-hhhj-hMubah}(h]j-ah ](jjeh"]h$]h&]jj)jhuh1jhj-hMhj-hhubj )}(hhh]j)}(hC3 ISP configuration parametersh]hC3 ISP configuration parameters}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj.hhubah}(h]h ]h"]h$]h&]uh1jhj-hhhj-hMubeh}(h]h ](j!structeh"]h$]h&]j@j!jAj).jBj).jCjDjEuh1jhhhjhjhNubjG)}(hXQ**Definition**:: struct c3_isp_params_cfg { __u32 version; __u32 data_size; __u8 data[C3_ISP_PARAMS_MAX_SIZE]; }; **Members** ``version`` The C3 ISP parameters buffer version ``data_size`` The C3 ISP configuration data effective size, excluding this header ``data`` The C3 ISP configuration blocks datah](j)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj5.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj1.ubh:}(hj1.hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj-.ubj{)}(hlstruct c3_isp_params_cfg { __u32 version; __u32 data_size; __u8 data[C3_ISP_PARAMS_MAX_SIZE]; };h]hlstruct c3_isp_params_cfg { __u32 version; __u32 data_size; __u8 data[C3_ISP_PARAMS_MAX_SIZE]; };}hjN.sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj-.ubj)}(h **Members**h]j)}(hj_.h]hMembers}(hja.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj].ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhj-.ubj)}(hhh](j)}(h1``version`` The C3 ISP parameters buffer version h](j)}(h ``version``h]j)}(hj~.h]hversion}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|.ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM*hjx.ubj)}(hhh]j)}(h$The C3 ISP parameters buffer versionh]h$The C3 ISP parameters buffer version}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.hM*hj.ubah}(h]h ]h"]h$]h&]uh1jhjx.ubeh}(h]h ]h"]h$]h&]uh1jhj.hM*hju.ubj)}(hR``data_size`` The C3 ISP configuration data effective size, excluding this header h](j)}(h ``data_size``h]j)}(hj.h]h data_size}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM,hj.ubj)}(hhh]j)}(hCThe C3 ISP configuration data effective size, excluding this headerh]hCThe C3 ISP configuration data effective size, excluding this header}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM+hj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hM,hju.ubj)}(h-``data`` The C3 ISP configuration blocks datah](j)}(h``data``h]j)}(hj.h]hdata}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM,hj.ubj)}(hhh]j)}(h$The C3 ISP configuration blocks datah]h$The C3 ISP configuration blocks data}(hj /hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM-hj/ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj/hM,hju.ubeh}(h]h ]h"]h$]h&]uh1jhj-.ubeh}(h]h ] kernelindentah"]h$]h&]uh1jFhjhhhjhNubj)}(h**Description**h]j)}(hj4/h]h Description}(hj6/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2/ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM0hjhhubj)}(hXThis struct contains the configuration parameters of the C3 ISP algorithms, serialized by userspace into an opaque data buffer. Each configuration parameter block is represented by a block-specific structure which contains a :c:type:`c3_isp_param_block_header` entry as first member. Userspace populates the **data** buffer with configuration parameters for the blocks that it intends to configure. As a consequence, the data buffer effective size changes according to the number of ISP blocks that userspace intends to configure.h](hThis struct contains the configuration parameters of the C3 ISP algorithms, serialized by userspace into an opaque data buffer. Each configuration parameter block is represented by a block-specific structure which contains a }(hjJ/hhhNhNubh)}(h#:c:type:`c3_isp_param_block_header`h]j)}(hjT/h]hc3_isp_param_block_header}(hjV/hhhNhNubah}(h]h ](j j!c-typeeh"]h$]h&]uh1jhjR/ubah}(h]h ]h"]h$]h&]refdocj- refdomainj!reftypetype refexplicitrefwarnj4j8j3c3_isp_param_block_headeruh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjJ/ubh0 entry as first member. Userspace populates the }(hjJ/hhhNhNubj)}(h**data**h]hdata}(hjv/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ/ubh buffer with configuration parameters for the blocks that it intends to configure. As a consequence, the data buffer effective size changes according to the number of ISP blocks that userspace intends to configure.}(hjJ/hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjq/hMhjhhubj)}(hXThe parameters buffer is versioned by the **version** field to allow modifying and extending its definition. Userspace should populate the **version** field to inform the driver about the version it intends to use. The driver will parse and handle the **data** buffer according to the data layout specific to the indicated revision and return an error if the desired revision is not supported.h](h*The parameters buffer is versioned by the }(hj/hhhNhNubj)}(h **version**h]hversion}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubhV field to allow modifying and extending its definition. Userspace should populate the }(hj/hhhNhNubj)}(h **version**h]hversion}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubhf field to inform the driver about the version it intends to use. The driver will parse and handle the }(hj/hhhNhNubj)}(h**data**h]hdata}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubh buffer according to the data layout specific to the indicated revision and return an error if the desired revision is not supported.}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(hXFor each ISP block that userspace wants to configure, a block-specific structure is appended to the **data** buffer, one after the other without gaps in between nor overlaps. Userspace shall populate the **total_size** field with the effective size, in bytes, of the **data** buffer.h](hdFor each ISP block that userspace wants to configure, a block-specific structure is appended to the }(hj/hhhNhNubj)}(h**data**h]hdata}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubh` buffer, one after the other without gaps in between nor overlaps. Userspace shall populate the }(hj/hhhNhNubj)}(h**total_size**h]h total_size}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubh1 field with the effective size, in bytes, of the }(hj/hhhNhNubj)}(h**data**h]hdata}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubh buffer.}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhMhjhhubj)}(h8The expected memory layout of the parameters buffer is::h]h7The expected memory layout of the parameters buffer is:}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM hjhhubj{)}(hX+-------------------- struct c3_isp_params_cfg ---- ------------------+ | version = C3_ISP_PARAM_BUFFER_V0; | | data_size = sizeof(struct c3_isp_params_awb_gains) + | | sizeof(struct c3_isp_params_awb_config); | | +------------------------- data ---------------------------------+ | | | +------------ struct c3_isp_params_awb_gains) ------------------+ | | | | +--------- struct c3_isp_params_block_header header -----+ | | | | | | | type = C3_ISP_PARAMS_BLOCK_AWB_GAINS; | | | | | | | | flags = C3_ISP_PARAMS_BLOCK_FL_NONE; | | | | | | | | size = sizeof(struct c3_isp_params_awb_gains); | | | | | | | +---------------------------------------------------------+ | | | | | | gr_gain = ...; | | | | | | r_gain = ...; | | | | | | b_gain = ...; | | | | | | gb_gain = ...; | | | | | +------------------ struct c3_isp_params_awb_config ----------+ | | | | | +---------- struct c3_isp_param_block_header header ------+ | | | | | | | type = C3_ISP_PARAMS_BLOCK_AWB_CONFIG; | | | | | | | | flags = C3_ISP_PARAMS_BLOCK_FL_NONE; | | | | | | | | size = sizeof(struct c3_isp_params_awb_config) | | | | | | | +---------------------------------------------------------+ | | | | | | tap_point = ...; | | | | | | satur_vald = ...; | | | | | | horiz_zones_num = ...; | | | | | | vert_zones_num = ...; | | | | | +-------------------------------------------------------------+ | | | +-----------------------------------------------------------------+ | +---------------------------------------------------------------------+h]hX+-------------------- struct c3_isp_params_cfg ---- ------------------+ | version = C3_ISP_PARAM_BUFFER_V0; | | data_size = sizeof(struct c3_isp_params_awb_gains) + | | sizeof(struct c3_isp_params_awb_config); | | +------------------------- data ---------------------------------+ | | | +------------ struct c3_isp_params_awb_gains) ------------------+ | | | | +--------- struct c3_isp_params_block_header header -----+ | | | | | | | type = C3_ISP_PARAMS_BLOCK_AWB_GAINS; | | | | | | | | flags = C3_ISP_PARAMS_BLOCK_FL_NONE; | | | | | | | | size = sizeof(struct c3_isp_params_awb_gains); | | | | | | | +---------------------------------------------------------+ | | | | | | gr_gain = ...; | | | | | | r_gain = ...; | | | | | | b_gain = ...; | | | | | | gb_gain = ...; | | | | | +------------------ struct c3_isp_params_awb_config ----------+ | | | | | +---------- struct c3_isp_param_block_header header ------+ | | | | | | | type = C3_ISP_PARAMS_BLOCK_AWB_CONFIG; | | | | | | | | flags = C3_ISP_PARAMS_BLOCK_FL_NONE; | | | | | | | | size = sizeof(struct c3_isp_params_awb_config) | | | | | | | +---------------------------------------------------------+ | | | | | | tap_point = ...; | | | | | | satur_vald = ...; | | | | | | horiz_zones_num = ...; | | | | | | vert_zones_num = ...; | | | | | +-------------------------------------------------------------+ | | | +-----------------------------------------------------------------+ | +---------------------------------------------------------------------+}hj'0sbah}(h]h ]h"]h$]h&]hhuh1jzh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-c3-isp:86: ./include/uapi/linux/media/amlogic/c3-isp-config.hhM hjhhubeh}(h]amlogic-c3-isp-uapi-data-typesah ]h"]amlogic c3 isp uapi data typesah$]h&]uh1hhhhhhhhKTubeh}(h](>v4l2-meta-fmt-c3isp-stats-c3st-v4l2-meta-fmt-c3isp-params-c3pmhheh ]h"](Gv4l2_meta_fmt_c3isp_stats ('c3st'), v4l2_meta_fmt_c3isp_params ('c3pm')v4l2-meta-fmt-c3isp-paramsheh$]h&]uh1hhhhhhhhKh}(jD0hhhuh}(hhhhuubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_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_handlerjl0error_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}(hhjD0hjC0j@0jjjjj;0j80u nametypes}(hψjD0jC0jjj;0uh}(hhhhj@0hjhjjj80jjjjjjjjjj4 j9 j j j j jjjjjoj9j>jjjRjWjjjjjjj!j!j"j"j]%jb%j-'j2'j(j)j*j*j-j-j-j-u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages](hsystem_message)}(hhh]j)}(hhh]h?Hyperlink target "v4l2-meta-fmt-c3isp-stats" is not referenced.}hj0sbah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1j0ubj0)}(hhh]j)}(hhh]h@Hyperlink target "v4l2-meta-fmt-c3isp-params" is not referenced.}hj0sbah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]levelKtypej0sourcehlineKuh1j0ube transformer&N include_log] decorationNhhub.