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-arm-mali-c55modnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/zh_TW/userspace-api/media/v4l/metafmt-arm-mali-c55modnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/it_IT/userspace-api/media/v4l/metafmt-arm-mali-c55modnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/ja_JP/userspace-api/media/v4l/metafmt-arm-mali-c55modnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/ko_KR/userspace-api/media/v4l/metafmt-arm-mali-c55modnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/sp_SP/userspace-api/media/v4l/metafmt-arm-mali-c55modnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhZ/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55.rsthKubhtarget)}(h".. _v4l2-meta-fmt-mali-c55-params:h]h}(h]h ]h"]h$]h&]refidv4l2-meta-fmt-mali-c55-paramsuh1hhKhhhhhhubh)}(h!.. _v4l2-meta-fmt-mali-c55-stats:h]h}(h]h ]h"]h$]h&]hv4l2-meta-fmt-mali-c55-statsuh1hhKhhhhhhexpect_referenced_by_name}v4l2-meta-fmt-mali-c55-paramshsexpect_referenced_by_id}hhsubhsection)}(hhh](htitle)}(hMV4L2_META_FMT_MALI_C55_STATS ('C55S'), V4L2_META_FMT_MALI_C55_PARAMS ('C55P')h]hUV4L2_META_FMT_MALI_C55_STATS (‘C55S’), V4L2_META_FMT_MALI_C55_PARAMS (‘C55P’)}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h 3A Statisticsh]h 3A Statistics}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hXThe ISP device collects different statistics over an input bayer frame. Those statistics can be obtained by userspace from the :ref:`mali-c55 3a stats ` metadata capture video node, using the :c:type:`v4l2_meta_format` interface. The buffer contains a single instance of the C structure :c:type:`mali_c55_stats_buffer` defined in ``mali-c55-config.h``, so the structure can be obtained from the buffer by:h](hThe ISP device collects different statistics over an input bayer frame. Those statistics can be obtained by userspace from the }(hhhhhNhNubh)}(h,:ref:`mali-c55 3a stats `h]hinline)}(hjh]hmali-c55 3a stats}(hjhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc,userspace-api/media/v4l/metafmt-arm-mali-c55 refdomainjreftyperef refexplicitrefwarn reftargetmali-c55-3a-statsuh1hhhhK hhubh( metadata capture video node, using the }(hhhhhNhNubh)}(h:c:type:`v4l2_meta_format`h]hliteral)}(hj-h]hv4l2_meta_format}(hj1hhhNhNubah}(h]h ](jcc-typeeh"]h$]h&]uh1j/hj+ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnj%v4l2_meta_formatuh1hhhhK hhubhE interface. The buffer contains a single instance of the C structure }(hhhhhNhNubh)}(h:c:type:`mali_c55_stats_buffer`h]j0)}(hjSh]hmali_c55_stats_buffer}(hjUhhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hjQubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnj%mali_c55_stats_bufferuh1hhhhK hhubh defined in }(hhhhhNhNubj0)}(h``mali-c55-config.h``h]hmali-c55-config.h}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhubh6, so the structure can be obtained from the buffer by:}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh literal_block)}(hRstruct mali_c55_stats_buffer *stats = (struct mali_c55_stats_buffer *)buf;h]hRstruct mali_c55_stats_buffer *stats = (struct mali_c55_stats_buffer *)buf;}hjsbah}(h]h ]h"]h$]h&]hhforcelanguageChighlight_args}uh1jhhhKhhhhubh)}(hBFor details of the statistics see :c:type:`mali_c55_stats_buffer`.h](h"For details of the statistics see }(hjhhhNhNubh)}(h:c:type:`mali_c55_stats_buffer`h]j0)}(hjh]hmali_c55_stats_buffer}(hjhhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnj%mali_c55_stats_bufferuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h] a-statisticsah ]h"] 3a statisticsah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hConfiguration Parametersh]hConfiguration Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hXThe configuration parameters are passed to the :ref:`mali-c55 3a 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 Mali-C55 use the v4l2-isp parameters system, through which groups of parameters are defined as distinct structs or "blocks" which may be added to the data member of :c:type:`v4l2_isp_params_buffer`. Userspace is responsible for populating the data member with the blocks that need to be configured by the driver. Each block-specific struct embeds :c:type:`v4l2_isp_params_block_header` as its first member and userspace must populate the type member with a value from :c:type:`mali_c55_param_block_type`.h](h/The configuration parameters are passed to the }(hjhhhNhNubh)}(h.:ref:`mali-c55 3a params `h]j)}(hjh]hmali-c55 3a params}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj%mali-c55-3a-paramsuh1hhhhKhjubh' metadata output video node, using the }(hjhhhNhNubh)}(h:c:type:`v4l2_meta_format`h]j0)}(hjh]hv4l2_meta_format}(hjhhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnj%v4l2_meta_formatuh1hhhhKhjubhX" interface. Rather than a single struct containing sub-structs for each configurable area of the ISP, parameters for the Mali-C55 use the v4l2-isp parameters system, through which groups of parameters are defined as distinct structs or “blocks” which may be added to the data member of }(hjhhhNhNubh)}(h :c:type:`v4l2_isp_params_buffer`h]j0)}(hj<h]hv4l2_isp_params_buffer}(hj>hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj:ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnj%v4l2_isp_params_bufferuh1hhhhKhjubh. Userspace is responsible for populating the data member with the blocks that need to be configured by the driver. Each block-specific struct embeds }(hjhhhNhNubh)}(h&:c:type:`v4l2_isp_params_block_header`h]j0)}(hj_h]hv4l2_isp_params_block_header}(hjahhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj]ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnj%v4l2_isp_params_block_headeruh1hhhhKhjubhS as its first member and userspace must populate the type member with a value from }(hjhhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hjh]hmali_c55_param_block_type}(hjhhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnj%mali_c55_param_block_typeuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hXZstruct v4l2_isp_params_buffer *params = (struct v4l2_isp_params_buffer *)buffer; params->version = MALI_C55_PARAM_BUFFER_V1; params->data_size = 0; void *data = (void *)params->data; struct mali_c55_params_awb_gains *gains = (struct mali_c55_params_awb_gains *)data; gains->header.type = MALI_C55_PARAM_BLOCK_AWB_GAINS; gains->header.flags |= V4L2_ISP_PARAMS_FL_BLOCK_ENABLE; gains->header.size = sizeof(struct mali_c55_params_awb_gains); gains->gain00 = 256; gains->gain00 = 256; gains->gain00 = 256; gains->gain00 = 256; data += sizeof(struct mali_c55_params_awb_gains); params->data_size += sizeof(struct mali_c55_params_awb_gains); struct mali_c55_params_sensor_off_preshading *blc = (struct mali_c55_params_sensor_off_preshading *)data; blc->header.type = MALI_C55_PARAM_BLOCK_SENSOR_OFFS; blc->header.flags |= V4L2_ISP_PARAMS_FL_BLOCK_ENABLE; blc->header.size = sizeof(struct mali_c55_params_sensor_off_preshading); blc->chan00 = 51200; blc->chan01 = 51200; blc->chan10 = 51200; blc->chan11 = 51200; params->data_size += sizeof(struct mali_c55_params_sensor_off_preshading);h]hXZstruct v4l2_isp_params_buffer *params = (struct v4l2_isp_params_buffer *)buffer; params->version = MALI_C55_PARAM_BUFFER_V1; params->data_size = 0; void *data = (void *)params->data; struct mali_c55_params_awb_gains *gains = (struct mali_c55_params_awb_gains *)data; gains->header.type = MALI_C55_PARAM_BLOCK_AWB_GAINS; gains->header.flags |= V4L2_ISP_PARAMS_FL_BLOCK_ENABLE; gains->header.size = sizeof(struct mali_c55_params_awb_gains); gains->gain00 = 256; gains->gain00 = 256; gains->gain00 = 256; gains->gain00 = 256; data += sizeof(struct mali_c55_params_awb_gains); params->data_size += sizeof(struct mali_c55_params_awb_gains); struct mali_c55_params_sensor_off_preshading *blc = (struct mali_c55_params_sensor_off_preshading *)data; blc->header.type = MALI_C55_PARAM_BLOCK_SENSOR_OFFS; blc->header.flags |= V4L2_ISP_PARAMS_FL_BLOCK_ENABLE; blc->header.size = sizeof(struct mali_c55_params_sensor_off_preshading); blc->chan00 = 51200; blc->chan01 = 51200; blc->chan10 = 51200; blc->chan11 = 51200; params->data_size += sizeof(struct mali_c55_params_sensor_off_preshading);}hjsbah}(h]h ]h"]h$]h&]hhjjj;j}uh1jhhhK*hjhhubeh}(h]configuration-parametersah ]h"]configuration parametersah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hArm Mali-C55 uAPI data typesh]hArm Mali-C55 uAPI data types}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKRubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single#mali_c55_ae_1024bin_hist (C struct)c.mali_c55_ae_1024bin_histhNtauh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhNubhdesc)}(hhh](hdesc_signature)}(hmali_c55_ae_1024bin_histh]hdesc_signature_line)}(hstruct mali_c55_ae_1024bin_histh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjhhhjhKubh desc_name)}(hmali_c55_ae_1024bin_histh]h desc_sig_name)}(hjh]hmali_c55_ae_1024bin_hist}(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]h)}(h+Auto Exposure 1024-bin histogram statisticsh]h+Auto Exposure 1024-bin histogram statistics}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK(hjKhhubah}(h]h ]h"]h$]h&]uh1jIhjhhhjhKubeh}(h]h ](j;structeh"]h$]h&]domainj;objtypejfdesctypejfnoindex noindexentrynocontentsentryuh1jhhhjhjhNubh container)}(h**Definition**:: struct mali_c55_ae_1024bin_hist { __u16 bins[1024]; }; **Members** ``bins`` 1024 element array of 16-bit pixel counts.h](h)}(h**Definition**::h](hstrong)}(h**Definition**h]h Definition}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjvubh:}(hjvhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK,hjrubj)}(h:struct mali_c55_ae_1024bin_hist { __u16 bins[1024]; };h]h:struct mali_c55_ae_1024bin_hist { __u16 bins[1024]; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK.hjrubh)}(h **Members**h]j{)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK2hjrubhdefinition_list)}(hhh]hdefinition_list_item)}(h3``bins`` 1024 element array of 16-bit pixel counts.h](hterm)}(h``bins``h]j0)}(hjh]hbins}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK*hjubh definition)}(hhh]h)}(h*1024 element array of 16-bit pixel counts.h]h*1024 element array of 16-bit pixel counts.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK+hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK*hjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK.hjhhubh)}(hXThe 1024-bin histogram module collects image-global but zone-weighted intensity distributions of pixels in fixed-width bins. The modules can be configured into different "plane modes" which affect the contents of the collected statistics. In plane mode 0, pixel intensities are taken regardless of colour plane into a single 1024-bin histogram with a bin width of 4. In plane mode 1, four 256-bin histograms with a bin width of 16 are collected - one for each CFA colour plane. In plane modes 4, 5, 6 and 7 two 512-bin histograms with a bin width of 8 are collected - in each mode one of the colour planes is collected into the first histogram and all the others are combined into the second. The histograms are stored consecutively in the bins array.h]hXThe 1024-bin histogram module collects image-global but zone-weighted intensity distributions of pixels in fixed-width bins. The modules can be configured into different “plane modes” which affect the contents of the collected statistics. In plane mode 0, pixel intensities are taken regardless of colour plane into a single 1024-bin histogram with a bin width of 4. In plane mode 1, four 256-bin histograms with a bin width of 16 are collected - one for each CFA colour plane. In plane modes 4, 5, 6 and 7 two 512-bin histograms with a bin width of 8 are collected - in each mode one of the colour planes is collected into the first histogram and all the others are combined into the second. The histograms are stored consecutively in the bins array.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK+hjhhubh)}(hThe 16-bit pixel counts are stored as a 4-bit exponent in the most significant bits followed by a 12-bit mantissa. Conversion to a usable format can be done according to the following pseudo-code::h]hThe 16-bit pixel counts are stored as a 4-bit exponent in the most significant bits followed by a 12-bit mantissa. Conversion to a usable format can be done according to the following pseudo-code:}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK7hjhhubj)}(hLif (e == 0) { bin = m * 2; } else { bin = (m + 4096) * 2^e }h]hLif (e == 0) { bin = m * 2; } else { bin = (m + 4096) * 2^e }}hjDsbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK;hjhhubj)}(hhh]j)}(hVwhere e is the exponent value in range 0..15 m is the mantissa value in range 0..4095 h](j)}(hwhereh]hwhere}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKChjVubj)}(hhh]h)}(hOe is the exponent value in range 0..15 m is the mantissa value in range 0..4095h]hOe is the exponent value in range 0..15 m is the mantissa value in range 0..4095}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKBhjiubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjhhKChjSubah}(h]h ]h"]h$]h&]uh1jhjhhhjhNubh)}(hPThe pixels used in calculating the statistics can be masked using three methods:h]hPThe pixels used in calculating the statistics can be masked using three methods:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKEhjhhubhenumerated_list)}(hhh](h list_item)}(h:Pixels can be skipped in X and Y directions independently.h]h)}(hjh]h:Pixels can be skipped in X and Y directions independently.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKHhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h-Minimum/Maximum intensities can be configuredh]h)}(hjh]h-Minimum/Maximum intensities can be configured}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKIhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hHZones can be differentially weighted, including 0 weighted to mask them h]h)}(hGZones can be differentially weighted, including 0 weighted to mask themh]hGZones can be differentially weighted, including 0 weighted to mask them}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKJhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1jhjhhhjhNubh)}(hThe data for this histogram can be collected from different tap points in the ISP depending on configuration - after the white balance or digital gain blocks, or immediately after the input crossbar.h]hThe data for this histogram can be collected from different tap points in the ISP depending on configuration - after the white balance or digital gain blocks, or immediately after the input crossbar.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKLhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j mali_c55_ae_5bin_hist (C struct)c.mali_c55_ae_5bin_histhNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_ae_5bin_histh]j)}(hstruct mali_c55_ae_5bin_histh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKSubj)}(h h]h }(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj,hKSubj)}(hmali_c55_ae_5bin_histh]j)}(hjh]hmali_c55_ae_5bin_hist}(hj?hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj;ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjhhhj,hKSubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjhhhj,hKSubah}(h]jah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj,hKShjhhubjJ)}(hhh]h)}(h(Auto Exposure 5-bin histogram statisticsh]h(Auto Exposure 5-bin histogram statistics}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKVhj^hhubah}(h]h ]h"]h$]h&]uh1jIhjhhhj,hKSubeh}(h]h ](j;structeh"]h$]h&]jjj;jkjyjljyjmjnjouh1jhhhjhjhNubjq)}(hX**Definition**:: struct mali_c55_ae_5bin_hist { __u16 hist0; __u16 hist1; __u16 hist3; __u16 hist4; }; **Members** ``hist0`` 16-bit normalised pixel count for the 0th intensity bin ``hist1`` 16-bit normalised pixel count for the 1st intensity bin ``hist3`` 16-bit normalised pixel count for the 3rd intensity bin ``hist4`` 16-bit normalised pixel count for the 4th intensity binh](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKZhj}ubj)}(hestruct mali_c55_ae_5bin_hist { __u16 hist0; __u16 hist1; __u16 hist3; __u16 hist4; };h]hestruct mali_c55_ae_5bin_hist { __u16 hist0; __u16 hist1; __u16 hist3; __u16 hist4; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK\hj}ubh)}(h **Members**h]j{)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKchj}ubj)}(hhh](j)}(hB``hist0`` 16-bit normalised pixel count for the 0th intensity bin h](j)}(h ``hist0``h]j0)}(hjh]hhist0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKYhjubj)}(hhh]h)}(h716-bit normalised pixel count for the 0th intensity binh]h716-bit normalised pixel count for the 0th intensity bin}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKYhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKYhjubj)}(hB``hist1`` 16-bit normalised pixel count for the 1st intensity bin h](j)}(h ``hist1``h]j0)}(hjh]hhist1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKZhjubj)}(hhh]h)}(h716-bit normalised pixel count for the 1st intensity binh]h716-bit normalised pixel count for the 1st intensity bin}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKZhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKZhjubj)}(hB``hist3`` 16-bit normalised pixel count for the 3rd intensity bin h](j)}(h ``hist3``h]j0)}(hj@h]hhist3}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj>ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK[hj:ubj)}(hhh]h)}(h716-bit normalised pixel count for the 3rd intensity binh]h716-bit normalised pixel count for the 3rd intensity bin}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUhK[hjVubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhjUhK[hjubj)}(hA``hist4`` 16-bit normalised pixel count for the 4th intensity binh](j)}(h ``hist4``h]j0)}(hjyh]hhist4}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjwubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK[hjsubj)}(hhh]h)}(h716-bit normalised pixel count for the 4th intensity binh]h716-bit normalised pixel count for the 4th intensity bin}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK\hjubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhjhK[hjubeh}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK_hjhhubh)}(hXYThe ISP generates a 5-bin histogram of normalised pixel counts within bins of pixel intensity for each of 225 possible zones within a frame. The centre bin of the histogram for each zone is not available from the hardware and must be calculated by subtracting the values of hist0, hist1, hist3 and hist4 from 0xffff as in the following equation:h]hXYThe ISP generates a 5-bin histogram of normalised pixel counts within bins of pixel intensity for each of 225 possible zones within a frame. The centre bin of the histogram for each zone is not available from the hardware and must be calculated by subtracting the values of hist0, hist1, hist3 and hist4 from 0xffff as in the following equation:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK\hjhhubh block_quote)}(h4hist2 = 0xffff - (hist0 + hist1 + hist3 + hist4) h]h)}(h0hist2 = 0xffff - (hist0 + hist1 + hist3 + hist4)h]h0hist2 = 0xffff - (hist0 + hist1 + hist3 + hist4)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKbhjubah}(h]h ]h"]h$]h&]uh1jhjhKbhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j&mali_c55_awb_average_ratios (C struct)c.mali_c55_awb_average_ratioshNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_awb_average_ratiosh]j)}(h"struct mali_c55_awb_average_ratiosh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKgubj)}(h h]h }(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj"hKgubj)}(hmali_c55_awb_average_ratiosh]j)}(hjh]hmali_c55_awb_average_ratios}(hj5hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj1ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjhhhj"hKgubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj hhhj"hKgubah}(h]jah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj"hKghj hhubjJ)}(hhh]h)}(h Auto White Balance colour ratiosh]h Auto White Balance colour ratios}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKmhjThhubah}(h]h ]h"]h$]h&]uh1jIhj hhhj"hKgubeh}(h]h ](j;structeh"]h$]h&]jjj;jkjojljojmjnjouh1jhhhjhjhNubjq)}(hXG**Definition**:: struct mali_c55_awb_average_ratios { __u16 avg_rg_gr; __u16 avg_bg_br; __u32 num_pixels; }; **Members** ``avg_rg_gr`` Average R/G or G/R ratio in Q4.8 format. ``avg_bg_br`` Average B/G or B/R ratio in Q4.8 format. ``num_pixels`` The number of pixels used in the AWB calculationh](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjwubh:}(hjwhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKqhjsubj)}(hgstruct mali_c55_awb_average_ratios { __u16 avg_rg_gr; __u16 avg_bg_br; __u32 num_pixels; };h]hgstruct mali_c55_awb_average_ratios { __u16 avg_rg_gr; __u16 avg_bg_br; __u32 num_pixels; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKshjsubh)}(h **Members**h]j{)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKyhjsubj)}(hhh](j)}(h7``avg_rg_gr`` Average R/G or G/R ratio in Q4.8 format. h](j)}(h ``avg_rg_gr``h]j0)}(hjh]h avg_rg_gr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKphjubj)}(hhh]h)}(h(Average R/G or G/R ratio in Q4.8 format.h]h(Average R/G or G/R ratio in Q4.8 format.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKphjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKphjubj)}(h7``avg_bg_br`` Average B/G or B/R ratio in Q4.8 format. h](j)}(h ``avg_bg_br``h]j0)}(hjh]h avg_bg_br}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKqhjubj)}(hhh]h)}(h(Average B/G or B/R ratio in Q4.8 format.h]h(Average B/G or B/R ratio in Q4.8 format.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKqhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKqhjubj)}(h?``num_pixels`` The number of pixels used in the AWB calculationh](j)}(h``num_pixels``h]j0)}(hj6h]h num_pixels}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj4ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKqhj0ubj)}(hhh]h)}(h0The number of pixels used in the AWB calculationh]h0The number of pixels used in the AWB calculation}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKrhjLubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhjKhKqhjubeh}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjyh]h Description}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjwubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKuhjhhubh)}(hXQThe ISP calculates and collects average colour ratios for each zone in an image and stores them in Q4.8 format (the lowest 8 bits are fractional, with bits [11:8] representing the integer). The exact ratios collected (either R/G, B/G or G/R, B/R) are configurable through the parameters buffer. The value of the 4 high bits is undefined.h]hXQThe ISP calculates and collects average colour ratios for each zone in an image and stores them in Q4.8 format (the lowest 8 bits are fractional, with bits [11:8] representing the integer). The exact ratios collected (either R/G, B/G or G/R, B/R) are configurable through the parameters buffer. The value of the 4 high bits is undefined.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKrhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!mali_c55_af_statistics (C struct)c.mali_c55_af_statisticshNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_af_statisticsh]j)}(hstruct mali_c55_af_statisticsh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK{ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhK{ubj)}(hmali_c55_af_statisticsh]j)}(hjh]hmali_c55_af_statistics}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjhhhjhK{ubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjhhhjhK{ubah}(h]jah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhjhK{hjhhubjJ)}(hhh]h)}(h(Auto Focus edge and intensity statisticsh]h(Auto Focus edge and intensity statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jIhjhhhjhK{ubeh}(h]h ](j;structeh"]h$]h&]jjj;jkj jlj jmjnjouh1jhhhjhjhNubjq)}(hX**Definition**:: struct mali_c55_af_statistics { __u16 intensity_stats; __u16 edge_stats; }; **Members** ``intensity_stats`` Packed mantissa and exponent value for pixel intensity ``edge_stats`` Packed mantissa and exponent values for edge intensityh](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hSstruct mali_c55_af_statistics { __u16 intensity_stats; __u16 edge_stats; };h]hSstruct mali_c55_af_statistics { __u16 intensity_stats; __u16 edge_stats; };}hj6 sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubh)}(h **Members**h]j{)}(hjG h]hMembers}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjE ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh](j)}(hK``intensity_stats`` Packed mantissa and exponent value for pixel intensity h](j)}(h``intensity_stats``h]j0)}(hjf h]hintensity_stats}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjd ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj` ubj)}(hhh]h)}(h6Packed mantissa and exponent value for pixel intensityh]h6Packed mantissa and exponent value for pixel intensity}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{ hKhj| ubah}(h]h ]h"]h$]h&]uh1jhj` ubeh}(h]h ]h"]h$]h&]uh1jhj{ hKhj] ubj)}(hE``edge_stats`` Packed mantissa and exponent values for edge intensityh](j)}(h``edge_stats``h]j0)}(hj h]h edge_stats}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh]h)}(h6Packed mantissa and exponent values for edge intensityh]h6Packed mantissa and exponent values for edge intensity}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj] ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubh)}(hX1The ISP collects the squared sum of pixel intensities for each zone within a configurable Region of Interest on the frame. Additionally, the same data are collected after being passed through a bandpass filter which removes high and low frequency components - these are referred to as the edge statistics.h]hX1The ISP collects the squared sum of pixel intensities for each zone within a configurable Region of Interest on the frame. Additionally, the same data are collected after being passed through a bandpass filter which removes high and low frequency components - these are referred to as the edge statistics.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubh)}(hiThe intensity and edge statistics for a zone can be used to calculate the contrast information for a zoneh]hiThe intensity and edge statistics for a zone can be used to calculate the contrast information for a zone}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj)}(h C = E2 / I2 h]h)}(h C = E2 / I2h]h C = E2 / I2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubah}(h]h ]h"]h$]h&]uh1jhj( hKhjhhubh)}(hWhere I2 is the intensity statistic for a zone and E2 is the edge statistic for that zone. Optimum focus is reached when C is at its maximum.h]hWhere I2 is the intensity statistic for a zone and E2 is the edge statistic for that zone. Optimum focus is reached when C is at its maximum.}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubh)}(hX The intensity and edge statistics are stored packed into a non-standard 16 bit floating point format, where the 7 most significant bits represent the exponent and the 9 least significant bits the mantissa. This format can be unpacked with the following pseudocode::h]hXThe intensity and edge statistics are stored packed into a non-standard 16 bit floating point format, where the 7 most significant bits represent the exponent and the 9 least significant bits the mantissa. This format can be unpacked with the following pseudocode:}(hj> hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj)}(hEif (e == 0) { x = m; } else { x = 2^e-1 * (m + 2^9) }h]hEif (e == 0) { x = m; } else { x = 2^e-1 * (m + 2^9) }}hjM sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj)}(hhh]j)}(hYwhere e is the exponent value in range 0..127 m is the mantissa value in range 0..511 h](j)}(hwhereh]hwhere}(hjc hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj_ ubj)}(hhh]h)}(hOe is the exponent value in range 0..127 m is the mantissa value in range 0..511h]hOe is the exponent value in range 0..127 m is the mantissa value in range 0..511}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjr ubah}(h]h ]h"]h$]h&]uh1jhj_ ubeh}(h]h ]h"]h$]h&]uh1jhjq hKhj\ ubah}(h]h ]h"]h$]h&]uh1jhjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j mali_c55_stats_buffer (C struct)c.mali_c55_stats_bufferhNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_stats_bufferh]j)}(hstruct mali_c55_stats_bufferh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hKubj)}(hmali_c55_stats_bufferh]j)}(hj h]hmali_c55_stats_buffer}(hj hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj hhhj hKubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj hhhj hKubah}(h]j ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj hKhj hhubjJ)}(hhh]h)}(h"3A statistics for the mali-c55 ISPh]h"3A statistics for the mali-c55 ISP}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj hhubah}(h]h ]h"]h$]h&]uh1jIhj hhhj hKubeh}(h]h ](j;structeh"]h$]h&]jjj;jkj jlj jmjnjouh1jhhhjhjhNubjq)}(hX**Definition**:: struct mali_c55_stats_buffer { struct mali_c55_ae_1024bin_hist ae_1024bin_hist; struct mali_c55_ae_1024bin_hist iridix_1024bin_hist; struct mali_c55_ae_5bin_hist ae_5bin_hists[MALI_C55_MAX_ZONES]; __u32 reserved1[14]; struct mali_c55_awb_average_ratios awb_ratios[MALI_C55_MAX_ZONES]; __u32 reserved2[14]; struct mali_c55_af_statistics af_statistics[MALI_C55_MAX_ZONES]; __u32 reserved3[15]; }; **Members** ``ae_1024bin_hist`` 1024-bin frame-global pixel intensity histogram ``iridix_1024bin_hist`` Post-Iridix block 1024-bin histogram ``ae_5bin_hists`` 5-bin pixel intensity histograms for AEC ``reserved1`` Undefined buffer space ``awb_ratios`` Color balance ratios for Auto White Balance ``reserved2`` Undefined buffer space ``af_statistics`` Pixel intensity statistics for Auto Focus ``reserved3`` Undefined buffer spaceh](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hXstruct mali_c55_stats_buffer { struct mali_c55_ae_1024bin_hist ae_1024bin_hist; struct mali_c55_ae_1024bin_hist iridix_1024bin_hist; struct mali_c55_ae_5bin_hist ae_5bin_hists[MALI_C55_MAX_ZONES]; __u32 reserved1[14]; struct mali_c55_awb_average_ratios awb_ratios[MALI_C55_MAX_ZONES]; __u32 reserved2[14]; struct mali_c55_af_statistics af_statistics[MALI_C55_MAX_ZONES]; __u32 reserved3[15]; };h]hXstruct mali_c55_stats_buffer { struct mali_c55_ae_1024bin_hist ae_1024bin_hist; struct mali_c55_ae_1024bin_hist iridix_1024bin_hist; struct mali_c55_ae_5bin_hist ae_5bin_hists[MALI_C55_MAX_ZONES]; __u32 reserved1[14]; struct mali_c55_awb_average_ratios awb_ratios[MALI_C55_MAX_ZONES]; __u32 reserved2[14]; struct mali_c55_af_statistics af_statistics[MALI_C55_MAX_ZONES]; __u32 reserved3[15]; };}hj. sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubh)}(h **Members**h]j{)}(hj? h]hMembers}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj= ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh](j)}(hD``ae_1024bin_hist`` 1024-bin frame-global pixel intensity histogram h](j)}(h``ae_1024bin_hist``h]j0)}(hj^ h]hae_1024bin_hist}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj\ ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjX ubj)}(hhh]h)}(h/1024-bin frame-global pixel intensity histogramh]h/1024-bin frame-global pixel intensity histogram}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs hKhjt ubah}(h]h ]h"]h$]h&]uh1jhjX ubeh}(h]h ]h"]h$]h&]uh1jhjs hKhjU ubj)}(h=``iridix_1024bin_hist`` Post-Iridix block 1024-bin histogram h](j)}(h``iridix_1024bin_hist``h]j0)}(hj h]hiridix_1024bin_hist}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh]h)}(h$Post-Iridix block 1024-bin histogramh]h$Post-Iridix block 1024-bin histogram}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjU ubj)}(h;``ae_5bin_hists`` 5-bin pixel intensity histograms for AEC h](j)}(h``ae_5bin_hists``h]j0)}(hj h]h ae_5bin_hists}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh]h)}(h(5-bin pixel intensity histograms for AECh]h(5-bin pixel intensity histograms for AEC}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjU ubj)}(h%``reserved1`` Undefined buffer space h](j)}(h ``reserved1``h]j0)}(hj h]h reserved1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh]h)}(hUndefined buffer spaceh]hUndefined buffer space}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjU ubj)}(h;``awb_ratios`` Color balance ratios for Auto White Balance h](j)}(h``awb_ratios``h]j0)}(hjB h]h awb_ratios}(hjD hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj@ ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj< ubj)}(hhh]h)}(h+Color balance ratios for Auto White Balanceh]h+Color balance ratios for Auto White Balance}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjW hKhjX ubah}(h]h ]h"]h$]h&]uh1jhj< ubeh}(h]h ]h"]h$]h&]uh1jhjW hKhjU ubj)}(h%``reserved2`` Undefined buffer space h](j)}(h ``reserved2``h]j0)}(hj{ h]h reserved2}(hj} hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjy ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhju ubj)}(hhh]h)}(hUndefined buffer spaceh]hUndefined buffer space}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhju ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjU ubj)}(h<``af_statistics`` Pixel intensity statistics for Auto Focus h](j)}(h``af_statistics``h]j0)}(hj h]h af_statistics}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh]h)}(h)Pixel intensity statistics for Auto Focush]h)Pixel intensity statistics for Auto Focus}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjU ubj)}(h$``reserved3`` Undefined buffer spaceh](j)}(h ``reserved3``h]j0)}(hj h]h reserved3}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh]h)}(hUndefined buffer spaceh]hUndefined buffer space}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjU ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hj0 h]h Description}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj. ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubh)}(hXThis struct describes the metering statistics space in the Mali-C55 ISP's hardware in its entirety. The space between each defined area is marked as "unknown" and may not be 0, but should not be used. The **ae_5bin_hists**, **awb_ratios** and **af_statistics** members are arrays of statistics per-zone. The zones are arranged in the array in raster order starting from the top left corner of the image.h](hThis struct describes the metering statistics space in the Mali-C55 ISP’s hardware in its entirety. The space between each defined area is marked as “unknown” and may not be 0, but should not be used. The }(hjF hhhNhNubj{)}(h**ae_5bin_hists**h]h ae_5bin_hists}(hjN hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjF ubh, }(hjF hhhNhNubj{)}(h**awb_ratios**h]h awb_ratios}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjF ubh and }(hjF hhhNhNubj{)}(h**af_statistics**h]h af_statistics}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjF ubh members are arrays of statistics per-zone. The zones are arranged in the array in raster order starting from the top left corner of the image.}(hjF hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j&mali_c55_param_buffer_version (C enum)c.mali_c55_param_buffer_versionhNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_param_buffer_versionh]j)}(h"enum mali_c55_param_buffer_versionh](j)}(henumh]henum}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hKubj)}(hmali_c55_param_buffer_versionh]j)}(hj h]hmali_c55_param_buffer_version}(hj hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj hhhj hKubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj hhhj hKubah}(h]j ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj hKhj hhubjJ)}(hhh]h)}(h$Mali-C55 parameters block versioningh]h$Mali-C55 parameters block versioning}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj hhubah}(h]h ]h"]h$]h&]uh1jIhj hhhj hKubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkj jlj jmjnjouh1jhhhjhjhNubjq)}(hX**Constants** ``MALI_C55_PARAM_BUFFER_V1`` First version of Mali-C55 parameters blockh](h)}(h **Constants**h]j{)}(hj h]h Constants}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubj)}(hhh]j)}(hG``MALI_C55_PARAM_BUFFER_V1`` First version of Mali-C55 parameters blockh](j)}(h``MALI_C55_PARAM_BUFFER_V1``h]j0)}(hj(h]hMALI_C55_PARAM_BUFFER_V1}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj"ubj)}(hhh]h)}(h*First version of Mali-C55 parameters blockh]h*First version of Mali-C55 parameters block}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj>ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj=hKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"mali_c55_param_block_type (C enum)c.mali_c55_param_block_typehNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_param_block_typeh]j)}(henum mali_c55_param_block_typeh](j)}(hj h]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~hhhjhKubj)}(hmali_c55_param_block_typeh]j)}(hj|h]hmali_c55_param_block_type}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj~hhhjhKubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjzhhhjhKubah}(h]juah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhjhKhjwhhubjJ)}(hhh]h)}(h(Enumeration of Mali-C55 parameter blocksh]h(Enumeration of Mali-C55 parameter blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jIhjwhhhjhKubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkjjljjmjnjouh1jhhhjhjhNubjq)}(hX**Constants** ``MALI_C55_PARAM_BLOCK_SENSOR_OFFS`` Sensor pre-shading black level offset ``MALI_C55_PARAM_BLOCK_AEXP_HIST`` Auto-exposure 1024-bin histogram configuration ``MALI_C55_PARAM_BLOCK_AEXP_IHIST`` Post-Iridix auto-exposure 1024-bin histogram configuration ``MALI_C55_PARAM_BLOCK_AEXP_HIST_WEIGHTS`` Auto-exposure 1024-bin histogram weighting ``MALI_C55_PARAM_BLOCK_AEXP_IHIST_WEIGHTS`` Post-Iridix auto-exposure 1024-bin histogram weighting ``MALI_C55_PARAM_BLOCK_DIGITAL_GAIN`` Digital gain ``MALI_C55_PARAM_BLOCK_AWB_GAINS`` Auto-white balance gains ``MALI_C55_PARAM_BLOCK_AWB_CONFIG`` Auto-white balance statistics config ``MALI_C55_PARAM_BLOCK_AWB_GAINS_AEXP`` Auto-white balance gains for AEXP-0 tap ``MALI_C55_PARAM_MESH_SHADING_CONFIG`` Mesh shading tables configuration ``MALI_C55_PARAM_MESH_SHADING_SELECTION`` Mesh shading table selectionh](h)}(h **Constants**h]j{)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubj)}(hhh](j)}(hK``MALI_C55_PARAM_BLOCK_SENSOR_OFFS`` Sensor pre-shading black level offset h](j)}(h$``MALI_C55_PARAM_BLOCK_SENSOR_OFFS``h]j0)}(hjh]h MALI_C55_PARAM_BLOCK_SENSOR_OFFS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubj)}(hhh]h)}(h%Sensor pre-shading black level offseth]h%Sensor pre-shading black level offset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjube&h}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hR``MALI_C55_PARAM_BLOCK_AEXP_HIST`` Auto-exposure 1024-bin histogram configuration h](j)}(h"``MALI_C55_PARAM_BLOCK_AEXP_HIST``h]j0)}(hj>h]hMALI_C55_PARAM_BLOCK_AEXP_HIST}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj<ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj8ubj)}(hhh]h)}(h.Auto-exposure 1024-bin histogram configurationh]h.Auto-exposure 1024-bin histogram configuration}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjTubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjShKhjubj)}(h_``MALI_C55_PARAM_BLOCK_AEXP_IHIST`` Post-Iridix auto-exposure 1024-bin histogram configuration h](j)}(h#``MALI_C55_PARAM_BLOCK_AEXP_IHIST``h]j0)}(hjxh]hMALI_C55_PARAM_BLOCK_AEXP_IHIST}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjvubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjrubj)}(hhh]h)}(h:Post-Iridix auto-exposure 1024-bin histogram configurationh]h:Post-Iridix auto-exposure 1024-bin histogram configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hV``MALI_C55_PARAM_BLOCK_AEXP_HIST_WEIGHTS`` Auto-exposure 1024-bin histogram weighting h](j)}(h*``MALI_C55_PARAM_BLOCK_AEXP_HIST_WEIGHTS``h]j0)}(hjh]h&MALI_C55_PARAM_BLOCK_AEXP_HIST_WEIGHTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubj)}(hhh]h)}(h*Auto-exposure 1024-bin histogram weightingh]h*Auto-exposure 1024-bin histogram weighting}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hc``MALI_C55_PARAM_BLOCK_AEXP_IHIST_WEIGHTS`` Post-Iridix auto-exposure 1024-bin histogram weighting h](j)}(h+``MALI_C55_PARAM_BLOCK_AEXP_IHIST_WEIGHTS``h]j0)}(hjh]h'MALI_C55_PARAM_BLOCK_AEXP_IHIST_WEIGHTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubj)}(hhh]h)}(h6Post-Iridix auto-exposure 1024-bin histogram weightingh]h6Post-Iridix auto-exposure 1024-bin histogram weighting}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h3``MALI_C55_PARAM_BLOCK_DIGITAL_GAIN`` Digital gain h](j)}(h%``MALI_C55_PARAM_BLOCK_DIGITAL_GAIN``h]j0)}(hj&h]h!MALI_C55_PARAM_BLOCK_DIGITAL_GAIN}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj ubj)}(hhh]h)}(h Digital gainh]h Digital gain}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hKhj<ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj;hKhjubj)}(h<``MALI_C55_PARAM_BLOCK_AWB_GAINS`` Auto-white balance gains h](j)}(h"``MALI_C55_PARAM_BLOCK_AWB_GAINS``h]j0)}(hj_h]hMALI_C55_PARAM_BLOCK_AWB_GAINS}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj]ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjYubj)}(hhh]h)}(hAuto-white balance gainsh]hAuto-white balance gains}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthKhjuubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjthKhjubj)}(hI``MALI_C55_PARAM_BLOCK_AWB_CONFIG`` Auto-white balance statistics config h](j)}(h#``MALI_C55_PARAM_BLOCK_AWB_CONFIG``h]j0)}(hjh]hMALI_C55_PARAM_BLOCK_AWB_CONFIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubj)}(hhh]h)}(h$Auto-white balance statistics configh]h$Auto-white balance statistics config}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hP``MALI_C55_PARAM_BLOCK_AWB_GAINS_AEXP`` Auto-white balance gains for AEXP-0 tap h](j)}(h'``MALI_C55_PARAM_BLOCK_AWB_GAINS_AEXP``h]j0)}(hjh]h#MALI_C55_PARAM_BLOCK_AWB_GAINS_AEXP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubj)}(hhh]h)}(h'Auto-white balance gains for AEXP-0 taph]h'Auto-white balance gains for AEXP-0 tap}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hI``MALI_C55_PARAM_MESH_SHADING_CONFIG`` Mesh shading tables configuration h](j)}(h&``MALI_C55_PARAM_MESH_SHADING_CONFIG``h]j0)}(hj h]h"MALI_C55_PARAM_MESH_SHADING_CONFIG}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubj)}(hhh]h)}(h!Mesh shading tables configurationh]h!Mesh shading tables configuration}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hF``MALI_C55_PARAM_MESH_SHADING_SELECTION`` Mesh shading table selectionh](j)}(h)``MALI_C55_PARAM_MESH_SHADING_SELECTION``h]j0)}(hjCh]h%MALI_C55_PARAM_MESH_SHADING_SELECTION}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjAubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj=ubj)}(hhh]h)}(hMesh shading table selectionh]hMesh shading table selection}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjYubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjXhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubh)}(hThis enumeration defines the types of Mali-C55 parameters block. Each block configures a specific processing block of the Mali-C55 ISP. The block type allows the driver to correctly interpret the parameters block data.h]hThis enumeration defines the types of Mali-C55 parameters block. Each block configures a specific processing block of the Mali-C55 ISP. The block type allows the driver to correctly interpret the parameters block data.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubh)}(hYIt is the responsibility of userspace to correctly set the type of each parameters block.h]hYIt is the responsibility of userspace to correctly set the type of each parameters block.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j0mali_c55_params_sensor_off_preshading (C struct)'c.mali_c55_params_sensor_off_preshadinghNtauh1jhjhhhjhNubj)}(hhh](j)}(h%mali_c55_params_sensor_off_preshadingh]j)}(h,struct mali_c55_params_sensor_off_preshadingh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(h%mali_c55_params_sensor_off_preshadingh]j)}(hjh]h%mali_c55_params_sensor_off_preshading}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjhhhjhKubah}(h]jah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhjhKhjhhubjJ)}(hhh]h)}(h)offset subtraction for each color channelh]h)offset subtraction for each color channel}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubah}(h]h ]h"]h$]h&]uh1jIhjhhhjhKubeh}(h]h ](j;structeh"]h$]h&]jjj;jkj-jlj-jmjnjouh1jhhhjhjhNubjq)}(hX**Definition**:: struct mali_c55_params_sensor_off_preshading { struct v4l2_isp_params_block_header header; __u32 chan00; __u32 chan01; __u32 chan10; __u32 chan11; }; **Members** ``header`` The Mali-C55 parameters block header ``chan00`` Offset for color channel 00 (default: R) ``chan01`` Offset for color channel 01 (default: Gr) ``chan10`` Offset for color channel 10 (default: Gb) ``chan11`` Offset for color channel 11 (default: B)h](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj5ubh:}(hj5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj1ubj)}(hstruct mali_c55_params_sensor_off_preshading { struct v4l2_isp_params_block_header header; __u32 chan00; __u32 chan01; __u32 chan10; __u32 chan11; };h]hstruct mali_c55_params_sensor_off_preshading { struct v4l2_isp_params_block_header header; __u32 chan00; __u32 chan01; __u32 chan10; __u32 chan11; };}hjRsbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj1ubh)}(h **Members**h]j{)}(hjch]hMembers}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjaubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj1ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]j0)}(hjh]hheader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj|ubj)}(hhh]h)}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjhMhjyubj)}(h4``chan00`` Offset for color channel 00 (default: R) h](j)}(h ``chan00``h]j0)}(hjh]hchan00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(h(Offset for color channel 00 (default: R)h]h(Offset for color channel 00 (default: R)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjyubj)}(h5``chan01`` Offset for color channel 01 (default: Gr) h](j)}(h ``chan01``h]j0)}(hjh]hchan01}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(h)Offset for color channel 01 (default: Gr)h]h)Offset for color channel 01 (default: Gr)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hMhjyubj)}(h5``chan10`` Offset for color channel 10 (default: Gb) h](j)}(h ``chan10``h]j0)}(hj-h]hchan10}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj'ubj)}(hhh]h)}(h)Offset for color channel 10 (default: Gb)h]h)Offset for color channel 10 (default: Gb)}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBhMhjCubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjBhMhjyubj)}(h3``chan11`` Offset for color channel 11 (default: B)h](j)}(h ``chan11``h]j0)}(hjfh]hchan11}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjdubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj`ubj)}(hhh]h)}(h(Offset for color channel 11 (default: B)h]h(Offset for color channel 11 (default: B)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj|ubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhj{hMhjyubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM hjhhubh)}(hProvides removal of the sensor black level from the sensor data. Separate offsets are provided for each of the four Bayer component color channels which are defaulted to R, Gr, Gb, B.h]hProvides removal of the sensor black level from the sensor data. Separate offsets are provided for each of the four Bayer component color channels which are defaulted to R, Gr, Gb, B.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubh)}(hvheader.type should be set to MALI_C55_PARAM_BLOCK_SENSOR_OFFS from :c:type:`mali_c55_param_block_type` for this block.h](hCheader.type should be set to MALI_C55_PARAM_BLOCK_SENSOR_OFFS from }(hjhhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hjh]hmali_c55_param_block_type}(hjhhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]sbj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjubh for this block.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j&mali_c55_aexp_hist_tap_points (C enum)c.mali_c55_aexp_hist_tap_pointshNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_aexp_hist_tap_pointsh]j)}(h"enum mali_c55_aexp_hist_tap_pointsh](j)}(hj h]henum}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubj)}(h h]h }(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj.hMubj)}(hmali_c55_aexp_hist_tap_pointsh]j)}(hjh]hmali_c55_aexp_hist_tap_points}(hjAhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj=ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjhhhj.hMubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjhhhj.hMubah}(h]jah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj.hMhjhhubjJ)}(hhh]h)}(h!Tap points for the AEXP histogramh]h!Tap points for the AEXP histogram}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj`hhubah}(h]h ]h"]h$]h&]uh1jIhjhhhj.hMubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkj{jlj{jmjnjouh1jhhhjhjhNubjq)}(h**Constants** ``MALI_C55_AEXP_HIST_TAP_WB`` After static white balance ``MALI_C55_AEXP_HIST_TAP_FS`` After WDR Frame Stitch ``MALI_C55_AEXP_HIST_TAP_TPG`` After the test pattern generatorh](h)}(h **Constants**h]j{)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh](j)}(h9``MALI_C55_AEXP_HIST_TAP_WB`` After static white balance h](j)}(h``MALI_C55_AEXP_HIST_TAP_WB``h]j0)}(hjh]hMALI_C55_AEXP_HIST_TAP_WB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(hAfter static white balanceh]hAfter static white balance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h5``MALI_C55_AEXP_HIST_TAP_FS`` After WDR Frame Stitch h](j)}(h``MALI_C55_AEXP_HIST_TAP_FS``h]j0)}(hjh]hMALI_C55_AEXP_HIST_TAP_FS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(hAfter WDR Frame Stitchh]hAfter WDR Frame Stitch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h?``MALI_C55_AEXP_HIST_TAP_TPG`` After the test pattern generatorh](j)}(h``MALI_C55_AEXP_HIST_TAP_TPG``h]j0)}(hjh]hMALI_C55_AEXP_HIST_TAP_TPG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(h After the test pattern generatorh]h After the test pattern generator}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj,ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj+hMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jmali_c55_aexp_skip_x (C enum)c.mali_c55_aexp_skip_xhNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_aexp_skip_xh]j)}(henum mali_c55_aexp_skip_xh](j)}(hj h]henum}(hjphhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjlhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM"ubj)}(h h]h }(hj~hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjlhhhj}hM"ubj)}(hmali_c55_aexp_skip_xh]j)}(hjjh]hmali_c55_aexp_skip_x}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjlhhhj}hM"ubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjhhhhj}hM"ubah}(h]jcah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj}hM"hjehhubjJ)}(hhh]h)}(hHorizontal pixel skippingh]hHorizontal pixel skipping}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jIhjehhhj}hM"ubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkjjljjmjnjouh1jhhhjhjhNubjq)}(hX**Constants** ``MALI_C55_AEXP_SKIP_X_EVERY_2ND`` Collect every 2nd pixel horizontally ``MALI_C55_AEXP_SKIP_X_EVERY_3RD`` Collect every 3rd pixel horizontally ``MALI_C55_AEXP_SKIP_X_EVERY_4TH`` Collect every 4th pixel horizontally ``MALI_C55_AEXP_SKIP_X_EVERY_5TH`` Collect every 5th pixel horizontally ``MALI_C55_AEXP_SKIP_X_EVERY_8TH`` Collect every 8th pixel horizontally ``MALI_C55_AEXP_SKIP_X_EVERY_9TH`` Collect every 9th pixel horizontallyh](h)}(h **Constants**h]j{)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM hjubj)}(hhh](j)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_2ND`` Collect every 2nd pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_2ND``h]j0)}(hjh]hMALI_C55_AEXP_SKIP_X_EVERY_2ND}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM#hjubj)}(hhh]h)}(h$Collect every 2nd pixel horizontallyh]h$Collect every 2nd pixel horizontally}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM#hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM#hjubj)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_3RD`` Collect every 3rd pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_3RD``h]j0)}(hj,h]hMALI_C55_AEXP_SKIP_X_EVERY_3RD}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj*ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM&hj&ubj)}(hhh]h)}(h$Collect every 3rd pixel horizontallyh]h$Collect every 3rd pixel horizontally}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAhM&hjBubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhjAhM&hjubj)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_4TH`` Collect every 4th pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_4TH``h]j0)}(hjeh]hMALI_C55_AEXP_SKIP_X_EVERY_4TH}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjcubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM)hj_ubj)}(hhh]h)}(h$Collect every 4th pixel horizontallyh]h$Collect every 4th pixel horizontally}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhM)hj{ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhjzhM)hjubj)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_5TH`` Collect every 5th pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_5TH``h]j0)}(hjh]hMALI_C55_AEXP_SKIP_X_EVERY_5TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM,hjubj)}(hhh]h)}(h$Collect every 5th pixel horizontallyh]h$Collect every 5th pixel horizontally}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM,hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM,hjubj)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_8TH`` Collect every 8th pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_8TH``h]j0)}(hjh]hMALI_C55_AEXP_SKIP_X_EVERY_8TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM/hjubj)}(hhh]h)}(h$Collect every 8th pixel horizontallyh]h$Collect every 8th pixel horizontally}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM/hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM/hjubj)}(hG``MALI_C55_AEXP_SKIP_X_EVERY_9TH`` Collect every 9th pixel horizontallyh](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_9TH``h]j0)}(hjh]hMALI_C55_AEXP_SKIP_X_EVERY_9TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM1hj ubj)}(hhh]h)}(h$Collect every 9th pixel horizontallyh]h$Collect every 9th pixel horizontally}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM2hj&ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj%hM1hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jmali_c55_aexp_skip_y (C enum)c.mali_c55_aexp_skip_yhNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_aexp_skip_yh]j)}(henum mali_c55_aexp_skip_yh](j)}(hj h]henum}(hjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjfhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM7ubj)}(h h]h }(hjxhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjfhhhjwhM7ubj)}(hmali_c55_aexp_skip_yh]j)}(hjdh]hmali_c55_aexp_skip_y}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjfhhhjwhM7ubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjbhhhjwhM7ubah}(h]j]ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhjwhM7hj_hhubjJ)}(hhh]h)}(hVertical pixel skippingh]hVertical pixel skipping}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM.hjhhubah}(h]h ]h"]h$]h&]uh1jIhj_hhhjwhM7ubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkjjljjmjnjouh1jhhhjhjhNubjq)}(hX **Constants** ``MALI_C55_AEXP_SKIP_Y_ALL`` Collect every single pixel vertically ``MALI_C55_AEXP_SKIP_Y_EVERY_2ND`` Collect every 2nd pixel vertically ``MALI_C55_AEXP_SKIP_Y_EVERY_3RD`` Collect every 3rd pixel vertically ``MALI_C55_AEXP_SKIP_Y_EVERY_4TH`` Collect every 4th pixel vertically ``MALI_C55_AEXP_SKIP_Y_EVERY_5TH`` Collect every 5th pixel vertically ``MALI_C55_AEXP_SKIP_Y_EVERY_8TH`` Collect every 8th pixel vertically ``MALI_C55_AEXP_SKIP_Y_EVERY_9TH`` Collect every 9th pixel verticallyh](h)}(h **Constants**h]j{)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM2hjubj)}(hhh](j)}(hC``MALI_C55_AEXP_SKIP_Y_ALL`` Collect every single pixel vertically h](j)}(h``MALI_C55_AEXP_SKIP_Y_ALL``h]j0)}(hjh]hMALI_C55_AEXP_SKIP_Y_ALL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM5hjubj)}(hhh]h)}(h%Collect every single pixel verticallyh]h%Collect every single pixel vertically}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM5hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM5hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_2ND`` Collect every 2nd pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_2ND``h]j0)}(hj&h]hMALI_C55_AEXP_SKIP_Y_EVERY_2ND}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM8hj ubj)}(hhh]h)}(h"Collect every 2nd pixel verticallyh]h"Collect every 2nd pixel vertically}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hM8hj<ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj;hM8hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_3RD`` Collect every 3rd pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_3RD``h]j0)}(hj_h]hMALI_C55_AEXP_SKIP_Y_EVERY_3RD}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj]ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM;hjYubj)}(hhh]h)}(h"Collect every 3rd pixel verticallyh]h"Collect every 3rd pixel vertically}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthM;hjuubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjthM;hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_4TH`` Collect every 4th pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_4TH``h]j0)}(hjh]hMALI_C55_AEXP_SKIP_Y_EVERY_4TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM>hjubj)}(hhh]h)}(h"Collect every 4th pixel verticallyh]h"Collect every 4th pixel vertically}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM>hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_5TH`` Collect every 5th pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_5TH``h]j0)}(hjh]hMALI_C55_AEXP_SKIP_Y_EVERY_5TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMAhjubj)}(hhh]h)}(h"Collect every 5th pixel verticallyh]h"Collect every 5th pixel vertically}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMAhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMAhjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_8TH`` Collect every 8th pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_8TH``h]j0)}(hj h]hMALI_C55_AEXP_SKIP_Y_EVERY_8TH}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMDhjubj)}(hhh]h)}(h"Collect every 8th pixel verticallyh]h"Collect every 8th pixel vertically}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMDhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMDhjubj)}(hE``MALI_C55_AEXP_SKIP_Y_EVERY_9TH`` Collect every 9th pixel verticallyh](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_9TH``h]j0)}(hjCh]hMALI_C55_AEXP_SKIP_Y_EVERY_9TH}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjAubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMFhj=ubj)}(hhh]h)}(h"Collect every 9th pixel verticallyh]h"Collect every 9th pixel vertically}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMGhjYubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjXhMFhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j(mali_c55_aexp_row_column_offset (C enum)!c.mali_c55_aexp_row_column_offsethNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_aexp_row_column_offseth]j)}(h$enum mali_c55_aexp_row_column_offseth](j)}(hj h]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMLubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMLubj)}(hmali_c55_aexp_row_column_offseth]j)}(hjh]hmali_c55_aexp_row_column_offset}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjhhhjhMLubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjhhhjhMLubah}(h]jah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhjhMLhjhhubjJ)}(hhh]h)}(h,Start from the first or second row or columnh]h,Start from the first or second row or column}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMBhjhhubah}(h]h ]h"]h$]h&]uh1jIhjhhhjhMLubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkjjljjmjnjouh1jhhhjhjhNubjq)}(h**Constants** ``MALI_C55_AEXP_FIRST_ROW_OR_COL`` Start from the first row / column ``MALI_C55_AEXP_SECOND_ROW_OR_COL`` Start from the second row / columnh](h)}(h **Constants**h]j{)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMFhjubj)}(hhh](j)}(hE``MALI_C55_AEXP_FIRST_ROW_OR_COL`` Start from the first row / column h](j)}(h"``MALI_C55_AEXP_FIRST_ROW_OR_COL``h]j0)}(hj h]hMALI_C55_AEXP_FIRST_ROW_OR_COL}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMIhjubj)}(hhh]h)}(h!Start from the first row / columnh]h!Start from the first row / column}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hMIhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj5hMIhjubj)}(hF``MALI_C55_AEXP_SECOND_ROW_OR_COL`` Start from the second row / columnh](j)}(h#``MALI_C55_AEXP_SECOND_ROW_OR_COL``h]j0)}(hjYh]hMALI_C55_AEXP_SECOND_ROW_OR_COL}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjWubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMKhjSubj)}(hhh]h)}(h"Start from the second row / columnh]h"Start from the second row / column}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMLhjoubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjnhMKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j&mali_c55_aexp_hist_plane_mode (C enum)c.mali_c55_aexp_hist_plane_modehNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_aexp_hist_plane_modeh]j)}(h"enum mali_c55_aexp_hist_plane_modeh](j)}(hj h]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMQubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMQubj)}(hmali_c55_aexp_hist_plane_modeh]j)}(hjh]hmali_c55_aexp_hist_plane_mode}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjhhhjhMQubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjhhhjhMQubah}(h]jah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhjhMQhjhhubjJ)}(hhh]h)}(hMode for the AEXP Histogramsh]hMode for the AEXP Histograms}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMMhjhhubah}(h]h ]h"]h$]h&]uh1jIhjhhhjhMQubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkj jlj jmjnjouh1jhhhjhjhNubjq)}(hX+**Constants** ``MALI_C55_AEXP_HIST_COMBINED`` All color planes in one 1024-bin histogram ``MALI_C55_AEXP_HIST_SEPARATE`` Each color plane in one 256-bin histogram with a bin width of 16 ``MALI_C55_AEXP_HIST_FOCUS_00`` Top left plane in the first bank, rest in second bank ``MALI_C55_AEXP_HIST_FOCUS_01`` Top right plane in the first bank, rest in second bank ``MALI_C55_AEXP_HIST_FOCUS_10`` Bottom left plane in the first bank, rest in second bank ``MALI_C55_AEXP_HIST_FOCUS_11`` Bottom right plane in the first bank, rest in second bankh](h)}(h **Constants**h]j{)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMQhjubj)}(hhh](j)}(hK``MALI_C55_AEXP_HIST_COMBINED`` All color planes in one 1024-bin histogram h](j)}(h``MALI_C55_AEXP_HIST_COMBINED``h]j0)}(hj6h]hMALI_C55_AEXP_HIST_COMBINED}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj4ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMThj0ubj)}(hhh]h)}(h*All color planes in one 1024-bin histogramh]h*All color planes in one 1024-bin histogram}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKhMThjLubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhjKhMThj-ubj)}(ha``MALI_C55_AEXP_HIST_SEPARATE`` Each color plane in one 256-bin histogram with a bin width of 16 h](j)}(h``MALI_C55_AEXP_HIST_SEPARATE``h]j0)}(hjoh]hMALI_C55_AEXP_HIST_SEPARATE}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjmubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMWhjiubj)}(hhh]h)}(h@Each color plane in one 256-bin histogram with a bin width of 16h]h@Each color plane in one 256-bin histogram with a bin width of 16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMWhjubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjhMWhj-ubj)}(hV``MALI_C55_AEXP_HIST_FOCUS_00`` Top left plane in the first bank, rest in second bank h](j)}(h``MALI_C55_AEXP_HIST_FOCUS_00``h]j0)}(hjh]hMALI_C55_AEXP_HIST_FOCUS_00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMZhjubj)}(hhh]h)}(h5Top left plane in the first bank, rest in second bankh]h5Top left plane in the first bank, rest in second bank}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMZhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMZhj-ubj)}(hW``MALI_C55_AEXP_HIST_FOCUS_01`` Top right plane in the first bank, rest in second bank h](j)}(h``MALI_C55_AEXP_HIST_FOCUS_01``h]j0)}(hjh]hMALI_C55_AEXP_HIST_FOCUS_01}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM]hjubj)}(hhh]h)}(h6Top right plane in the first bank, rest in second bankh]h6Top right plane in the first bank, rest in second bank}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM]hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM]hj-ubj)}(hY``MALI_C55_AEXP_HIST_FOCUS_10`` Bottom left plane in the first bank, rest in second bank h](j)}(h``MALI_C55_AEXP_HIST_FOCUS_10``h]j0)}(hjh]hMALI_C55_AEXP_HIST_FOCUS_10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM`hjubj)}(hhh]h)}(h8Bottom left plane in the first bank, rest in second bankh]h8Bottom left plane in the first bank, rest in second bank}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hM`hj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj/hM`hj-ubj)}(hY``MALI_C55_AEXP_HIST_FOCUS_11`` Bottom right plane in the first bank, rest in second bankh](j)}(h``MALI_C55_AEXP_HIST_FOCUS_11``h]j0)}(hjSh]hMALI_C55_AEXP_HIST_FOCUS_11}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjQubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMbhjMubj)}(hhh]h)}(h9Bottom right plane in the first bank, rest in second bankh]h9Bottom right plane in the first bank, rest in second bank}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMchjiubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjhhMbhj-ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMehjhhubh)}(hXIn the "focus" modes statistics are collected into two 512-bin histograms with a bin width of 8. One colour plane is in the first histogram with the remainder combined into the second. The four options represent which of the four positions in a bayer pattern are the focused plane.h]hXIn the “focus” modes statistics are collected into two 512-bin histograms with a bin width of 8. One colour plane is in the first histogram with the remainder combined into the second. The four options represent which of the four positions in a bayer pattern are the focused plane.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMThjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$mali_c55_params_aexp_hist (C struct)c.mali_c55_params_aexp_histhNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_params_aexp_histh]j)}(h struct mali_c55_params_aexp_histh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM\ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhM\ubj)}(hmali_c55_params_aexp_histh]j)}(hjh]hmali_c55_params_aexp_hist}(hjhhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjhhhjhM\ubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjhhhjhM\ubah}(h]jah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhjhM\hjhhubjJ)}(hhh]h)}(h%configuration for AEXP metering histsh]h%configuration for AEXP metering hists}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMdhjhhubah}(h]h ]h"]h$]h&]uh1jIhjhhhjhM\ubeh}(h]h ](j;structeh"]h$]h&]jjj;jkj.jlj.jmjnjouh1jhhhjhjhNubjq)}(hX#**Definition**:: struct mali_c55_params_aexp_hist { struct v4l2_isp_params_block_header header; __u8 skip_x; __u8 offset_x; __u8 skip_y; __u8 offset_y; __u8 scale_bottom; __u8 scale_top; __u8 plane_mode; __u8 tap_point; }; **Members** ``header`` The Mali-C55 parameters block header ``skip_x`` Horizontal decimation. See enum mali_c55_aexp_skip_x ``offset_x`` Skip the first column, or not. See enum mali_c55_aexp_row_column_offset ``skip_y`` Vertical decimation. See enum mali_c55_aexp_skip_y ``offset_y`` Skip the first row, or not. See enum mali_c55_aexp_row_column_offset ``scale_bottom`` Scale pixels in bottom half of intensity range: 0=1x ,1=2x, 2=4x, 4=8x, 4=16x ``scale_top`` scale pixels in top half of intensity range: 0=1x ,1=2x, 2=4x, 4=8x, 4=16x ``plane_mode`` Plane separation mode. See enum mali_c55_aexp_hist_plane_mode ``tap_point`` Tap point for histogram from enum mali_c55_aexp_hist_tap_points. This parameter is unused for the post-Iridix Histogramh](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj6ubh:}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhhj2ubj)}(hstruct mali_c55_params_aexp_hist { struct v4l2_isp_params_block_header header; __u8 skip_x; __u8 offset_x; __u8 skip_y; __u8 offset_y; __u8 scale_bottom; __u8 scale_top; __u8 plane_mode; __u8 tap_point; };h]hstruct mali_c55_params_aexp_hist { struct v4l2_isp_params_block_header header; __u8 skip_x; __u8 offset_x; __u8 skip_y; __u8 offset_y; __u8 scale_bottom; __u8 scale_top; __u8 plane_mode; __u8 tap_point; };}hjSsbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMjhj2ubh)}(h **Members**h]j{)}(hjdh]hMembers}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjbubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMvhj2ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]j0)}(hjh]hheader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj}ubj)}(hhh]h)}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhjhMhjzubj)}(h@``skip_x`` Horizontal decimation. See enum mali_c55_aexp_skip_x h](j)}(h ``skip_x``h]j0)}(hjh]hskip_x}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(h4Horizontal decimation. See enum mali_c55_aexp_skip_xh]h4Horizontal decimation. See enum mali_c55_aexp_skip_x}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjzubj)}(hU``offset_x`` Skip the first column, or not. See enum mali_c55_aexp_row_column_offset h](j)}(h ``offset_x``h]j0)}(hjh]hoffset_x}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(hGSkip the first column, or not. See enum mali_c55_aexp_row_column_offseth]hGSkip the first column, or not. See enum mali_c55_aexp_row_column_offset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hMhjzubj)}(h>``skip_y`` Vertical decimation. See enum mali_c55_aexp_skip_y h](j)}(h ``skip_y``h]j0)}(hj.h]hskip_y}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj,ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj(ubj)}(hhh]h)}(h2Vertical decimation. See enum mali_c55_aexp_skip_yh]h2Vertical decimation. See enum mali_c55_aexp_skip_y}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjChMhjDubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjChMhjzubj)}(hR``offset_y`` Skip the first row, or not. See enum mali_c55_aexp_row_column_offset h](j)}(h ``offset_y``h]j0)}(hjgh]hoffset_y}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjeubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjaubj)}(hhh]h)}(hDSkip the first row, or not. See enum mali_c55_aexp_row_column_offseth]hDSkip the first row, or not. See enum mali_c55_aexp_row_column_offset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|hMhj}ubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhj|hMhjzubj)}(h_``scale_bottom`` Scale pixels in bottom half of intensity range: 0=1x ,1=2x, 2=4x, 4=8x, 4=16x h](j)}(h``scale_bottom``h]j0)}(hjh]h scale_bottom}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(hMScale pixels in bottom half of intensity range: 0=1x ,1=2x, 2=4x, 4=8x, 4=16xh]hMScale pixels in bottom half of intensity range: 0=1x ,1=2x, 2=4x, 4=8x, 4=16x}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjzubj)}(hY``scale_top`` scale pixels in top half of intensity range: 0=1x ,1=2x, 2=4x, 4=8x, 4=16x h](j)}(h ``scale_top``h]j0)}(hjh]h scale_top}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjubj)}(hhh]h)}(hJscale pixels in top half of intensity range: 0=1x ,1=2x, 2=4x, 4=8x, 4=16xh]hJscale pixels in top half of intensity range: 0=1x ,1=2x, 2=4x, 4=8x, 4=16x}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjzubj)}(hM``plane_mode`` Plane separation mode. See enum mali_c55_aexp_hist_plane_mode h](j)}(h``plane_mode``h]j0)}(hjh]h plane_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj ubj)}(hhh]h)}(h=Plane separation mode. See enum mali_c55_aexp_hist_plane_modeh]h=Plane separation mode. See enum mali_c55_aexp_hist_plane_mode}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hMhj(ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj'hMhjzubj)}(h``tap_point`` Tap point for histogram from enum mali_c55_aexp_hist_tap_points. This parameter is unused for the post-Iridix Histogramh](j)}(h ``tap_point``h]j0)}(hjKh]h tap_point}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjIubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjEubj)}(hhh]h)}(hwTap point for histogram from enum mali_c55_aexp_hist_tap_points. This parameter is unused for the post-Iridix Histogramh]hwTap point for histogram from enum mali_c55_aexp_hist_tap_points. This parameter is unused for the post-Iridix Histogram}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`hMhjaubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhj`hMhjzubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hThis struct allows users to configure the 1024-bin AEXP histograms. Broadly speaking the parameters allow you to mask particular regions of the image and to select different kinds of histogram.h]hThis struct allows users to configure the 1024-bin AEXP histograms. Broadly speaking the parameters allow you to mask particular regions of the image and to select different kinds of histogram.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMehjhhubh)}(hXThe skip_x, offset_x, skip_y and offset_y fields allow users to ignore or mask pixels in the frame by their position relative to the top left pixel. First, the skip_y, offset_x and offset_y fields define which of the pixels within each 2x2 region will be counted in the statistics.h]hXThe skip_x, offset_x, skip_y and offset_y fields allow users to ignore or mask pixels in the frame by their position relative to the top left pixel. First, the skip_y, offset_x and offset_y fields define which of the pixels within each 2x2 region will be counted in the statistics.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMihjhhubh)}(hXhIf skip_y == 0 then two pixels from each covered region will be counted. If both offset_x and offset_y are zero, then the two left-most pixels in each 2x2 pixel region will be counted. Setting offset_x = 1 will discount the top left pixel and count the top right pixel. Setting offset_y = 1 will discount the bottom left pixel and count the bottom right pixel.h]hXhIf skip_y == 0 then two pixels from each covered region will be counted. If both offset_x and offset_y are zero, then the two left-most pixels in each 2x2 pixel region will be counted. Setting offset_x = 1 will discount the top left pixel and count the top right pixel. Setting offset_y = 1 will discount the bottom left pixel and count the bottom right pixel.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMnhjhhubh)}(hX_If skip_y != 0 then only a single pixel from each region covered by the pattern will be counted. In this case offset_x controls whether the pixel that's counted is in the left (if offset_x == 0) or right (if offset_x == 1) column and offset_y controls whether the pixel that's counted is in the top (if offset_y == 0) or bottom (if offset_y == 1) row.3h]hXcIf skip_y != 0 then only a single pixel from each region covered by the pattern will be counted. In this case offset_x controls whether the pixel that’s counted is in the left (if offset_x == 0) or right (if offset_x == 1) column and offset_y controls whether the pixel that’s counted is in the top (if offset_y == 0) or bottom (if offset_y == 1) row.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMthjhhubh)}(hXThe skip_x and skip_y fields control how the 2x2 pixel region is repeated across the image data. The first instance of the region is always in the top left of the image data. The skip_x field controls how many pixels are ignored in the x direction before the pixel masking region is repeated. The skip_y field controls how many pixels are ignored in the y direction before the pixel masking region is repeated.h]hXThe skip_x and skip_y fields control how the 2x2 pixel region is repeated across the image data. The first instance of the region is always in the top left of the image data. The skip_x field controls how many pixels are ignored in the x direction before the pixel masking region is repeated. The skip_y field controls how many pixels are ignored in the y direction before the pixel masking region is repeated.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMzhjhhubh)}(hX&These fields can be used to reduce the number of pixels counted for the statistics, but it's important to be careful to configure them correctly. Some combinations of values will result in colour components from the input data being ignored entirely, for example in the following configuration:h]hX(These fields can be used to reduce the number of pixels counted for the statistics, but it’s important to be careful to configure them correctly. Some combinations of values will result in colour components from the input data being ignored entirely, for example in the following configuration:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(h/skip_x = 0 offset_x = 0 skip_y = 0 offset_y = 0h]h/skip_x = 0 offset_x = 0 skip_y = 0 offset_y = 0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hvOnly the R and Gb components of RGGB data that was input would be collected. Similarly in the following configuration:h]hvOnly the R and Gb components of RGGB data that was input would be collected. Similarly in the following configuration:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(h/skip_x = 0 offset_x = 0 skip_y = 1 offset_y = 1h]h/skip_x = 0 offset_x = 0 skip_y = 1 offset_y = 1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hXOnly the Gb component of RGGB data that was input would be collected. To correct things such that all 4 colour components were included it would be necessary to set the skip_x and skip_y fields in a way that resulted in all four colour components being collected:h]hXOnly the Gb component of RGGB data that was input would be collected. To correct things such that all 4 colour components were included it would be necessary to set the skip_x and skip_y fields in a way that resulted in all four colour components being collected:}(hj* hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(h/skip_x = 1 offset_x = 0 skip_y = 1 offset_y = 1h]h/skip_x = 1 offset_x = 0 skip_y = 1 offset_y = 1}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hheader.type should be set to one of either MALI_C55_PARAM_BLOCK_AEXP_HIST or MALI_C55_PARAM_BLOCK_AEXP_IHIST from :c:type:`mali_c55_param_block_type`.h](hrheader.type should be set to one of either MALI_C55_PARAM_BLOCK_AEXP_HIST or MALI_C55_PARAM_BLOCK_AEXP_IHIST from }(hjH hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hjR h]hmali_c55_param_block_type}(hjT hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hjP ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjH ubh.}(hjH hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjo hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j'mali_c55_params_aexp_weights (C struct)c.mali_c55_params_aexp_weightshNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_params_aexp_weightsh]j)}(h#struct mali_c55_params_aexp_weightsh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hMubj)}(hmali_c55_params_aexp_weightsh]j)}(hj h]hmali_c55_params_aexp_weights}(hj hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj hhhj hMubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj hhhj hMubah}(h]j ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj hMhj hhubjJ)}(hhh]h)}(h"Array of weights for AEXP meteringh]h"Array of weights for AEXP metering}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj hhubah}(h]h ]h"]h$]h&]uh1jIhj hhhj hMubeh}(h]h ](j;structeh"]h$]h&]jjj;jkj jlj jmjnjouh1jhhhjhjhNubjq)}(hX**Definition**:: struct mali_c55_params_aexp_weights { struct v4l2_isp_params_block_header header; __u8 nodes_used_horiz; __u8 nodes_used_vert; __u8 zone_weights[MALI_C55_MAX_ZONES]; }; **Members** ``header`` The Mali-C55 parameters block header ``nodes_used_horiz`` Number of active zones horizontally [0..15] ``nodes_used_vert`` Number of active zones vertically [0..15] ``zone_weights`` Zone weighting. Index is row*col where 0,0 is the top left zone continuing in raster order. Each zone can be weighted in the range [0..15]. The number of rows and columns is defined by **nodes_used_vert** and **nodes_used_horiz**h](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj ubj)}(hstruct mali_c55_params_aexp_weights { struct v4l2_isp_params_block_header header; __u8 nodes_used_horiz; __u8 nodes_used_vert; __u8 zone_weights[MALI_C55_MAX_ZONES]; };h]hstruct mali_c55_params_aexp_weights { struct v4l2_isp_params_block_header header; __u8 nodes_used_horiz; __u8 nodes_used_vert; __u8 zone_weights[MALI_C55_MAX_ZONES]; };}hj!sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj ubh)}(h **Members**h]j{)}(hj#!h]hMembers}(hj%!hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj!!ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]j0)}(hjB!h]hheader}(hjD!hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj@!ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj``nodes_used_vert`` Number of active zones vertically [0..15] h](j)}(h``nodes_used_vert``h]j0)}(hj!h]hnodes_used_vert}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj!ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj!ubj)}(hhh]h)}(h)Number of active zones vertically [0..15]h]h)Number of active zones vertically [0..15]}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!hMhj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj!hMhj9!ubj)}(h``zone_weights`` Zone weighting. Index is row*col where 0,0 is the top left zone continuing in raster order. Each zone can be weighted in the range [0..15]. The number of rows and columns is defined by **nodes_used_vert** and **nodes_used_horiz**h](j)}(h``zone_weights``h]j0)}(hj!h]h zone_weights}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj!ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj!ubj)}(hhh]h)}(hZone weighting. Index is row*col where 0,0 is the top left zone continuing in raster order. Each zone can be weighted in the range [0..15]. The number of rows and columns is defined by **nodes_used_vert** and **nodes_used_horiz**h](hZone weighting. Index is row*col where 0,0 is the top left zone continuing in raster order. Each zone can be weighted in the range [0..15]. The number of rows and columns is defined by }(hj"hhhNhNubj{)}(h**nodes_used_vert**h]hnodes_used_vert}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj"ubh and }(hj"hhhNhNubj{)}(h**nodes_used_horiz**h]hnodes_used_horiz}(hj "hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj"ubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj"ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj"hMhj9!ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjP"h]h Description}(hjR"hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjN"ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hXThis struct allows users to configure the weighting for both of the 1024-bin AEXP histograms. The pixel data collected for each zone is multiplied by the corresponding weight from this array, which may be zero if the intention is to mask off the zone entirely.h]hXThis struct allows users to configure the weighting for both of the 1024-bin AEXP histograms. The pixel data collected for each zone is multiplied by the corresponding weight from this array, which may be zero if the intention is to mask off the zone entirely.}(hjf"hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hheader.type should be set to one of either MALI_C55_PARAM_BLOCK_AEXP_HIST_WEIGHTS or MALI_C55_PARAM_BLOCK_AEXP_IHIST_WEIGHTS from :c:type:`mali_c55_param_block_type`.h](hheader.type should be set to one of either MALI_C55_PARAM_BLOCK_AEXP_HIST_WEIGHTS or MALI_C55_PARAM_BLOCK_AEXP_IHIST_WEIGHTS from }(hju"hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hj"h]hmali_c55_param_block_type}(hj"hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj}"ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhju"ubh.}(hju"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj"hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j'mali_c55_params_digital_gain (C struct)c.mali_c55_params_digital_gainhNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_params_digital_gainh]j)}(h#struct mali_c55_params_digital_gainh](j)}(hjh]hstruct}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubj)}(h h]h }(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"hhhj"hMubj)}(hmali_c55_params_digital_gainh]j)}(hj"h]hmali_c55_params_digital_gain}(hj"hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj"ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj"hhhj"hMubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj"hhhj"hMubah}(h]j"ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj"hMhj"hhubjJ)}(hhh]h)}(hDigital gain valueh]hDigital gain value}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj"hhubah}(h]h ]h"]h$]h&]uh1jIhj"hhhj"hMubeh}(h]h ](j;structeh"]h$]h&]jjj;jkj#jlj#jmjnjouh1jhhhjhjhNubjq)}(h**Definition**:: struct mali_c55_params_digital_gain { struct v4l2_isp_params_block_header header; __u16 gain; }; **Members** ``header`` The Mali-C55 parameters block header ``gain`` The digital gain value to apply, in Q5.8 format.h](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj&#hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj"#ubh:}(hj"#hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj#ubj)}(hhstruct mali_c55_params_digital_gain { struct v4l2_isp_params_block_header header; __u16 gain; };h]hhstruct mali_c55_params_digital_gain { struct v4l2_isp_params_block_header header; __u16 gain; };}hj?#sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj#ubh)}(h **Members**h]j{)}(hjP#h]hMembers}(hjR#hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjN#ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj#ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]j0)}(hjo#h]hheader}(hjq#hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjm#ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhji#ubj)}(hhh]h)}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hMhj#ubah}(h]h ]h"]h$]h&]uh1jhji#ubeh}(h]h ]h"]h$]h&]uh1jhj#hMhjf#ubj)}(h9``gain`` The digital gain value to apply, in Q5.8 format.h](j)}(h``gain``h]j0)}(hj#h]hgain}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj#ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj#ubj)}(hhh]h)}(h0The digital gain value to apply, in Q5.8 format.h]h0The digital gain value to apply, in Q5.8 format.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj#hMhjf#ubeh}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hj#h]h Description}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj#ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(h;This struct carries a digital gain value to set in the ISP.h]h;This struct carries a digital gain value to set in the ISP.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hwheader.type should be set to MALI_C55_PARAM_BLOCK_DIGITAL_GAIN from :c:type:`mali_c55_param_block_type` for this block.h](hDheader.type should be set to MALI_C55_PARAM_BLOCK_DIGITAL_GAIN from }(hj$hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hj$h]hmali_c55_param_block_type}(hj$hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj$ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj$ubh for this block.}(hj$hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj7$hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j mali_c55_awb_stats_mode (C enum)c.mali_c55_awb_stats_modehNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_awb_stats_modeh]j)}(henum mali_c55_awb_stats_modeh](j)}(hj h]henum}(hj[$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjW$hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubj)}(h h]h }(hji$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjW$hhhjh$hMubj)}(hmali_c55_awb_stats_modeh]j)}(hjU$h]hmali_c55_awb_stats_mode}(hj{$hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhjw$ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjW$hhhjh$hMubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hjS$hhhjh$hMubah}(h]jN$ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhjh$hMhjP$hhubjJ)}(hhh]h)}(hStatistics mode for AWBh]hStatistics mode for AWB}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj$hhubah}(h]h ]h"]h$]h&]uh1jIhjP$hhhjh$hMubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkj$jlj$jmjnjouh1jhhhjhjhNubjq)}(h**Constants** ``MALI_C55_AWB_MODE_GRBR`` Statistics collected as Green/Red and Blue/Red ratios ``MALI_C55_AWB_MODE_RGBG`` Statistics collected as Red/Green and Blue/Green ratiosh](h)}(h **Constants**h]j{)}(hj$h]h Constants}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj$ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj$ubj)}(hhh](j)}(hQ``MALI_C55_AWB_MODE_GRBR`` Statistics collected as Green/Red and Blue/Red ratios h](j)}(h``MALI_C55_AWB_MODE_GRBR``h]j0)}(hj$h]hMALI_C55_AWB_MODE_GRBR}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj$ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj$ubj)}(hhh]h)}(h5Statistics collected as Green/Red and Blue/Red ratiosh]h5Statistics collected as Green/Red and Blue/Red ratios}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hMhj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj$hMhj$ubj)}(hR``MALI_C55_AWB_MODE_RGBG`` Statistics collected as Red/Green and Blue/Green ratiosh](j)}(h``MALI_C55_AWB_MODE_RGBG``h]j0)}(hj%h]hMALI_C55_AWB_MODE_RGBG}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj%ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj%ubj)}(hhh]h)}(h7Statistics collected as Red/Green and Blue/Green ratiosh]h7Statistics collected as Red/Green and Blue/Green ratios}(hj0%hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-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&]uh1jphjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$mali_c55_params_awb_gains (C struct)c.mali_c55_params_awb_gainshNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_params_awb_gainsh]j)}(h struct mali_c55_params_awb_gainsh](j)}(hjh]hstruct}(hjq%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjm%hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubj)}(h h]h }(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjm%hhhj~%hMubj)}(hmali_c55_params_awb_gainsh]j)}(hjk%h]hmali_c55_params_awb_gains}(hj%hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj%ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhjm%hhhj~%hMubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hji%hhhj~%hMubah}(h]jd%ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj~%hMhjf%hhubjJ)}(hhh]h)}(h$Gain settings for auto white balanceh]h$Gain settings for auto white balance}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj%hhubah}(h]h ]h"]h$]h&]uh1jIhjf%hhhj~%hMubeh}(h]h ](j;structeh"]h$]h&]jjj;jkj%jlj%jmjnjouh1jhhhjhjhNubjq)}(hX**Definition**:: struct mali_c55_params_awb_gains { struct v4l2_isp_params_block_header header; __u16 gain00; __u16 gain01; __u16 gain10; __u16 gain11; }; **Members** ``header`` The Mali-C55 parameters block header ``gain00`` Multiplier for colour channel 00 ``gain01`` Multiplier for colour channel 01 ``gain10`` Multiplier for colour channel 10 ``gain11`` Multiplier for colour channel 11h](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj%ubh:}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj%ubj)}(hstruct mali_c55_params_awb_gains { struct v4l2_isp_params_block_header header; __u16 gain00; __u16 gain01; __u16 gain10; __u16 gain11; };h]hstruct mali_c55_params_awb_gains { struct v4l2_isp_params_block_header header; __u16 gain00; __u16 gain01; __u16 gain10; __u16 gain11; };}hj%sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj%ubh)}(h **Members**h]j{)}(hj&h]hMembers}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj%ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj%ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]j0)}(hj &h]hheader}(hj"&hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj&ubj)}(hhh]h)}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj9&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5&hMhj6&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj5&hMhj&ubj)}(h,``gain00`` Multiplier for colour channel 00 h](j)}(h ``gain00``h]j0)}(hjY&h]hgain00}(hj[&hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjW&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjS&ubj)}(hhh]h)}(h Multiplier for colour channel 00h]h Multiplier for colour channel 00}(hjr&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjn&hMhjo&ubah}(h]h ]h"]h$]h&]uh1jhjS&ubeh}(h]h ]h"]h$]h&]uh1jhjn&hMhj&ubj)}(h,``gain01`` Multiplier for colour channel 01 h](j)}(h ``gain01``h]j0)}(hj&h]hgain01}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj&ubj)}(hhh]h)}(h Multiplier for colour channel 01h]h Multiplier for colour channel 01}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj&hMhj&ubj)}(h,``gain10`` Multiplier for colour channel 10 h](j)}(h ``gain10``h]j0)}(hj&h]hgain10}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj&ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj&ubj)}(hhh]h)}(h Multiplier for colour channel 10h]h Multiplier for colour channel 10}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj&hMhj&ubj)}(h+``gain11`` Multiplier for colour channel 11h](j)}(h ``gain11``h]j0)}(hj'h]hgain11}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj'ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj&ubj)}(hhh]h)}(h Multiplier for colour channel 11h]h Multiplier for colour channel 11}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-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&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjG'h]h Description}(hjI'hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjE'ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hXoThis struct allows users to configure the gains for auto-white balance. There are four gain settings corresponding to each colour channel in the bayer domain. Although named generically, the association between the gain applied and the colour channel is done automatically within the ISP depending on the input format, and so the following mapping always holds true::h]hXnThis struct allows users to configure the gains for auto-white balance. There are four gain settings corresponding to each colour channel in the bayer domain. Although named generically, the association between the gain applied and the colour channel is done automatically within the ISP depending on the input format, and so the following mapping always holds true:}(hj]'hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj)}(h-gain00 = R gain01 = Gr gain10 = Gb gain11 = Bh]h-gain00 = R gain01 = Gr gain10 = Gb gain11 = B}hjl'sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(h+All of the gains are stored in Q4.8 format.h]h+All of the gains are stored in Q4.8 format.}(hj{'hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hheader.type should be set to one of either MALI_C55_PARAM_BLOCK_AWB_GAINS or MALI_C55_PARAM_BLOCK_AWB_GAINS_AEXP from :c:type:`mali_c55_param_block_type`.h](hvheader.type should be set to one of either MALI_C55_PARAM_BLOCK_AWB_GAINS or MALI_C55_PARAM_BLOCK_AWB_GAINS_AEXP from }(hj'hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hj'h]hmali_c55_param_block_type}(hj'hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj'ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj'ubh.}(hj'hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj'hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j'mali_c55_params_awb_tap_points (C enum) c.mali_c55_params_awb_tap_pointshNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_params_awb_tap_pointsh]j)}(h#enum mali_c55_params_awb_tap_pointsh](j)}(hj h]henum}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubj)}(h h]h }(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'hhhj'hMubj)}(hmali_c55_params_awb_tap_pointsh]j)}(hj'h]hmali_c55_params_awb_tap_points}(hj'hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj'ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj'hhhj'hMubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj'hhhj'hMubah}(h]j'ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj'hMhj'hhubjJ)}(hhh]h)}(h!Tap points for the AWB statisticsh]h!Tap points for the AWB statistics}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj(hhubah}(h]h ]h"]h$]h&]uh1jIhj'hhhj'hMubeh}(h]h ](j;enumeh"]h$]h&]jjj;jkj/(jlj/(jmjnjouh1jhhhjhjhNubjq)}(h**Constants** ``MALI_C55_AWB_STATS_TAP_PF`` Immediately after the Purple Fringe block ``MALI_C55_AWB_STATS_TAP_CNR`` Immediately after the CNR blockh](h)}(h **Constants**h]j{)}(hj9(h]h Constants}(hj;(hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj7(ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj3(ubj)}(hhh](j)}(hH``MALI_C55_AWB_STATS_TAP_PF`` Immediately after the Purple Fringe block h](j)}(h``MALI_C55_AWB_STATS_TAP_PF``h]j0)}(hjX(h]hMALI_C55_AWB_STATS_TAP_PF}(hjZ(hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjV(ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjR(ubj)}(hhh]h)}(h)Immediately after the Purple Fringe blockh]h)Immediately after the Purple Fringe block}(hjq(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjm(hMhjn(ubah}(h]h ]h"]h$]h&]uh1jhjR(ubeh}(h]h ]h"]h$]h&]uh1jhjm(hMhjO(ubj)}(h>``MALI_C55_AWB_STATS_TAP_CNR`` Immediately after the CNR blockh](j)}(h``MALI_C55_AWB_STATS_TAP_CNR``h]j0)}(hj(h]hMALI_C55_AWB_STATS_TAP_CNR}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj(ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj(ubj)}(hhh]h)}(hImmediately after the CNR blockh]hImmediately after the CNR block}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(hMhjO(ubeh}(h]h ]h"]h$]h&]uh1jhj3(ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%mali_c55_params_awb_config (C struct)c.mali_c55_params_awb_confighNtauh1jhjhhhjhNubj)}(hhh](j)}(hmali_c55_params_awb_configh]j)}(h!struct mali_c55_params_awb_configh](j)}(hjh]hstruct}(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubj)}(h h]h }(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(hhhj(hMubj)}(hmali_c55_params_awb_configh]j)}(hj(h]hmali_c55_params_awb_config}(hj )hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj)ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj(hhhj(hMubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj(hhhj(hMubah}(h]j(ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj(hMhj(hhubjJ)}(hhh]h)}(h%Stats settings for auto-white balanceh]h%Stats settings for auto-white balance}(hj-)hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj*)hhubah}(h]h ]h"]h$]h&]uh1jIhj(hhhj(hMubeh}(h]h ](j;structeh"]h$]h&]jjj;jkjE)jljE)jmjnjouh1jhhhjhjhNubjq)}(hX**Definition**:: struct mali_c55_params_awb_config { struct v4l2_isp_params_block_header header; __u8 tap_point; __u8 stats_mode; __u16 white_level; __u16 black_level; __u16 cr_max; __u16 cr_min; __u16 cb_max; __u16 cb_min; __u8 nodes_used_horiz; __u8 nodes_used_vert; __u16 cr_high; __u16 cr_low; __u16 cb_high; __u16 cb_low; }; **Members** ``header`` The Mali-C55 parameters block header ``tap_point`` The tap point from enum mali_c55_params_awb_tap_points ``stats_mode`` AWB statistics collection mode, see :c:type:`mali_c55_awb_stats_mode` ``white_level`` Upper pixel intensity (I.E. raw pixel values) limit ``black_level`` Lower pixel intensity (I.E. raw pixel values) limit ``cr_max`` Maximum R/G ratio (Q4.8 format) ``cr_min`` Minimum R/G ratio (Q4.8 format) ``cb_max`` Maximum B/G ratio (Q4.8 format) ``cb_min`` Minimum B/G ratio (Q4.8 format) ``nodes_used_horiz`` Number of active zones horizontally [0..15] ``nodes_used_vert`` Number of active zones vertically [0..15] ``cr_high`` R/G ratio trim high (Q4.8 format) ``cr_low`` R/G ratio trim low (Q4.8 format) ``cb_high`` B/G ratio trim high (Q4.8 format) ``cb_low`` B/G ratio trim low (Q4.8 format)h](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hjQ)hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjM)ubh:}(hjM)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjI)ubj)}(hXtstruct mali_c55_params_awb_config { struct v4l2_isp_params_block_header header; __u8 tap_point; __u8 stats_mode; __u16 white_level; __u16 black_level; __u16 cr_max; __u16 cr_min; __u16 cb_max; __u16 cb_min; __u8 nodes_used_horiz; __u8 nodes_used_vert; __u16 cr_high; __u16 cr_low; __u16 cb_high; __u16 cb_low; };h]hXtstruct mali_c55_params_awb_config { struct v4l2_isp_params_block_header header; __u8 tap_point; __u8 stats_mode; __u16 white_level; __u16 black_level; __u16 cr_max; __u16 cr_min; __u16 cb_max; __u16 cb_min; __u8 nodes_used_horiz; __u8 nodes_used_vert; __u16 cr_high; __u16 cr_low; __u16 cb_high; __u16 cb_low; };}hjj)sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjI)ubh)}(h **Members**h]j{)}(hj{)h]hMembers}(hj})hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjy)ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM1hjI)ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]j0)}(hj)h]hheader}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj)ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMBhj)ubj)}(hhh]h)}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hMBhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)hMBhj)ubj)}(hE``tap_point`` The tap point from enum mali_c55_params_awb_tap_points h](j)}(h ``tap_point``h]j0)}(hj)h]h tap_point}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj)ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMChj)ubj)}(hhh]h)}(h6The tap point from enum mali_c55_params_awb_tap_pointsh]h6The tap point from enum mali_c55_params_awb_tap_points}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hMChj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)hMChj)ubj)}(hU``stats_mode`` AWB statistics collection mode, see :c:type:`mali_c55_awb_stats_mode` h](j)}(h``stats_mode``h]j0)}(hj *h]h stats_mode}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj *ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMDhj*ubj)}(hhh]h)}(hEAWB statistics collection mode, see :c:type:`mali_c55_awb_stats_mode`h](h$AWB statistics collection mode, see }(hj%*hhhNhNubh)}(h!:c:type:`mali_c55_awb_stats_mode`h]j0)}(hj/*h]hmali_c55_awb_stats_mode}(hj1*hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj-*ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_awb_stats_modeuh1hhj!*hMDhj%*ubeh}(h]h ]h"]h$]h&]uh1hhj!*hMDhj"*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj!*hMDhj)ubj)}(hD``white_level`` Upper pixel intensity (I.E. raw pixel values) limit h](j)}(h``white_level``h]j0)}(hjd*h]h white_level}(hjf*hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjb*ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMEhj^*ubj)}(hhh]h)}(h3Upper pixel intensity (I.E. raw pixel values) limith]h3Upper pixel intensity (I.E. raw pixel values) limit}(hj}*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjy*hMEhjz*ubah}(h]h ]h"]h$]h&]uh1jhj^*ubeh}(h]h ]h"]h$]h&]uh1jhjy*hMEhj)ubj)}(hD``black_level`` Lower pixel intensity (I.E. raw pixel values) limit h](j)}(h``black_level``h]j0)}(hj*h]h black_level}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj*ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMFhj*ubj)}(hhh]h)}(h3Lower pixel intensity (I.E. raw pixel values) limith]h3Lower pixel intensity (I.E. raw pixel values) limit}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*hMFhj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj*hMFhj)ubj)}(h+``cr_max`` Maximum R/G ratio (Q4.8 format) h](j)}(h ``cr_max``h]j0)}(hj*h]hcr_max}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj*ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMGhj*ubj)}(hhh]h)}(hMaximum R/G ratio (Q4.8 format)h]hMaximum R/G ratio (Q4.8 format)}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*hMGhj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj*hMGhj)ubj)}(h+``cr_min`` Minimum R/G ratio (Q4.8 format) h](j)}(h ``cr_min``h]j0)}(hj+h]hcr_min}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj +ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMHhj +ubj)}(hhh]h)}(hMinimum R/G ratio (Q4.8 format)h]hMinimum R/G ratio (Q4.8 format)}(hj(+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$+hMHhj%+ubah}(h]h ]h"]h$]h&]uh1jhj +ubeh}(h]h ]h"]h$]h&]uh1jhj$+hMHhj)ubj)}(h+``cb_max`` Maximum B/G ratio (Q4.8 format) h](j)}(h ``cb_max``h]j0)}(hjH+h]hcb_max}(hjJ+hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjF+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMIhjB+ubj)}(hhh]h)}(hMaximum B/G ratio (Q4.8 format)h]hMaximum B/G ratio (Q4.8 format)}(hja+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]+hMIhj^+ubah}(h]h ]h"]h$]h&]uh1jhjB+ubeh}(h]h ]h"]h$]h&]uh1jhj]+hMIhj)ubj)}(h+``cb_min`` Minimum B/G ratio (Q4.8 format) h](j)}(h ``cb_min``h]j0)}(hj+h]hcb_min}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMJhj{+ubj)}(hhh]h)}(hMinimum B/G ratio (Q4.8 format)h]hMinimum B/G ratio (Q4.8 format)}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hMJhj+ubah}(h]h ]h"]h$]h&]uh1jhj{+ubeh}(h]h ]h"]h$]h&]uh1jhj+hMJhj)ubj)}(hA``nodes_used_horiz`` Number of active zones horizontally [0..15] h](j)}(h``nodes_used_horiz``h]j0)}(hj+h]hnodes_used_horiz}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMKhj+ubj)}(hhh]h)}(h+Number of active zones horizontally [0..15]h]h+Number of active zones horizontally [0..15]}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+hMKhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hMKhj)ubj)}(h>``nodes_used_vert`` Number of active zones vertically [0..15] h](j)}(h``nodes_used_vert``h]j0)}(hj+h]hnodes_used_vert}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj+ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMLhj+ubj)}(hhh]h)}(h)Number of active zones vertically [0..15]h]h)Number of active zones vertically [0..15]}(hj ,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hMLhj ,ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj,hMLhj)ubj)}(h.``cr_high`` R/G ratio trim high (Q4.8 format) h](j)}(h ``cr_high``h]j0)}(hj,,h]hcr_high}(hj.,hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj*,ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMMhj&,ubj)}(hhh]h)}(h!R/G ratio trim high (Q4.8 format)h]h!R/G ratio trim high (Q4.8 format)}(hjE,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjA,hMMhjB,ubah}(h]h ]h"]h$]h&]uh1jhj&,ubeh}(h]h ]h"]h$]h&]uh1jhjA,hMMhj)ubj)}(h,``cr_low`` R/G ratio trim low (Q4.8 format) h](j)}(h ``cr_low``h]j0)}(hje,h]hcr_low}(hjg,hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjc,ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMNhj_,ubj)}(hhh]h)}(h R/G ratio trim low (Q4.8 format)h]h R/G ratio trim low (Q4.8 format)}(hj~,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjz,hMNhj{,ubah}(h]h ]h"]h$]h&]uh1jhj_,ubeh}(h]h ]h"]h$]h&]uh1jhjz,hMNhj)ubj)}(h.``cb_high`` B/G ratio trim high (Q4.8 format) h](j)}(h ``cb_high``h]j0)}(hj,h]hcb_high}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj,ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMOhj,ubj)}(hhh]h)}(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&]uh1hhj,hMOhj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj,hMOhj)ubj)}(h+``cb_low`` B/G ratio trim low (Q4.8 format)h](j)}(h ``cb_low``h]j0)}(hj,h]hcb_low}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj,ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMOhj,ubj)}(hhh]h)}(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&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMPhj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj,hMOhj)ubeh}(h]h ]h"]h$]h&]uh1jhjI)ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hj-h]h Description}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj-ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMShjhhubh)}(hXfThis struct allows the configuration of the statistics generated for auto white balance. Pixel intensity limits can be set to exclude overly bright or dark regions of an image from the statistics entirely. Colour ratio minima and maxima can be set to discount pixels who's ratios fall outside the defined boundaries; there are two sets of registers to do this - the "min/max" ratios which bound a region and the "high/low" ratios which further trim the upper and lower ratios. For example with the boundaries configured as follows, only pixels whos colour ratios falls into the region marked "A" would be counted::h]hXsThis struct allows the configuration of the statistics generated for auto white balance. Pixel intensity limits can be set to exclude overly bright or dark regions of an image from the statistics entirely. Colour ratio minima and maxima can be set to discount pixels who’s ratios fall outside the defined boundaries; there are two sets of registers to do this - the “min/max” ratios which bound a region and the “high/low” ratios which further trim the upper and lower ratios. For example with the boundaries configured as follows, only pixels whos colour ratios falls into the region marked “A” would be counted:}(hj0-hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj)}(hX cr_high 2.0 | | | cb_max --> _________________________v_____ 1.8 | | \ | | | \ | 1.6 | | \ | | | \ | c 1.4 | cb_low -->|\ A \|<-- cb_high b | | \ | 1.2 | | \ | r | | \ | a 1.0 | cb_min --> |____\_________________________| t | ^ ^ ^ i 0.8 | | | | o | cr_min | cr_max s 0.6 | | | cr_low 0.4 | | 0.2 | | 0.0 |_______________________________________________________________ 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 cr ratiosh]hX cr_high 2.0 | | | cb_max --> _________________________v_____ 1.8 | | \ | | | \ | 1.6 | | \ | | | \ | c 1.4 | cb_low -->|\ A \|<-- cb_high b | | \ | 1.2 | | \ | r | | \ | a 1.0 | cb_min --> |____\_________________________| t | ^ ^ ^ i 0.8 | | | | o | cr_min | cr_max s 0.6 | | | cr_low 0.4 | | 0.2 | | 0.0 |_______________________________________________________________ 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 cr ratios}hj?-sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM$hjhhubh)}(huheader.type should be set to MALI_C55_PARAM_BLOCK_AWB_CONFIG from :c:type:`mali_c55_param_block_type` for this block.h](hBheader.type should be set to MALI_C55_PARAM_BLOCK_AWB_CONFIG from }(hjN-hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hjX-h]hmali_c55_param_block_type}(hjZ-hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hjV-ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM=hjN-ubh for this block.}(hjN-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhju-hM=hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j.mali_c55_params_mesh_shading_config (C struct)%c.mali_c55_params_mesh_shading_confighNtauh1jhjhhhjhNubj)}(hhh](j)}(h#mali_c55_params_mesh_shading_configh]j)}(h*struct mali_c55_params_mesh_shading_configh](j)}(hjh]hstruct}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMCubj)}(h h]h }(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj-hhhj-hMCubj)}(h#mali_c55_params_mesh_shading_configh]j)}(hj-h]h#mali_c55_params_mesh_shading_config}(hj-hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj-ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj-hhhj-hMCubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj-hhhj-hMCubah}(h]j-ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj-hMChj-hhubjJ)}(hhh]h)}(hMesh shading configurationh]hMesh shading configuration}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMfhj-hhubah}(h]h ]h"]h$]h&]uh1jIhj-hhhj-hMCubeh}(h]h ](j;structeh"]h$]h&]jjj;jkj-jlj-jmjnjouh1jhhhjhjhNubjq)}(hX**Definition**:: struct mali_c55_params_mesh_shading_config { struct v4l2_isp_params_block_header header; __u8 mesh_show; __u8 mesh_scale; __u8 mesh_page_r; __u8 mesh_page_g; __u8 mesh_page_b; __u8 mesh_width; __u8 mesh_height; __u32 mesh[MALI_C55_NUM_MESH_SHADING_ELEMENTS]; }; **Members** ``header`` The Mali-C55 parameters block header ``mesh_show`` Output the mesh data rather than image data ``mesh_scale`` Set the precision and maximum gain range of mesh shading - 0 = 0-2x gain - 1 = 0-4x gain - 2 = 0-8x gain - 3 = 0-16x gain - 4 = 1-2x gain - 5 = 1-3x gain - 6 = 1-5x gain - 7 = 1-9x gain ``mesh_page_r`` Mesh page select for red colour plane [0..2] ``mesh_page_g`` Mesh page select for green colour plane [0..2] ``mesh_page_b`` Mesh page select for blue colour plane [0..2] ``mesh_width`` Number of horizontal nodes minus 1 [15,31] ``mesh_height`` Number of vertical nodes minus 1 [15,31] ``mesh`` Mesh shading correction tablesh](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj-ubh:}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMjhj-ubj)}(hX)struct mali_c55_params_mesh_shading_config { struct v4l2_isp_params_block_header header; __u8 mesh_show; __u8 mesh_scale; __u8 mesh_page_r; __u8 mesh_page_g; __u8 mesh_page_b; __u8 mesh_width; __u8 mesh_height; __u32 mesh[MALI_C55_NUM_MESH_SHADING_ELEMENTS]; };h]hX)struct mali_c55_params_mesh_shading_config { struct v4l2_isp_params_block_header header; __u8 mesh_show; __u8 mesh_scale; __u8 mesh_page_r; __u8 mesh_page_g; __u8 mesh_page_b; __u8 mesh_width; __u8 mesh_height; __u32 mesh[MALI_C55_NUM_MESH_SHADING_ELEMENTS]; };}hj.sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMlhj-ubh)}(h **Members**h]j{)}(hj).h]hMembers}(hj+.hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj'.ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMxhj-ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]j0)}(hjH.h]hheader}(hjJ.hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjF.ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjB.ubj)}(hhh]h)}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hja.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj].hMhj^.ubah}(h]h ]h"]h$]h&]uh1jhjB.ubeh}(h]h ]h"]h$]h&]uh1jhj].hMhj?.ubj)}(h:``mesh_show`` Output the mesh data rather than image data h](j)}(h ``mesh_show``h]j0)}(hj.h]h mesh_show}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj.ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hΖhMhj{.ubj)}(hhh]h)}(h+Output the mesh data rather than image datah]h+Output the mesh data rather than image data}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hMhj.ubah}(h]h ]h"]h$]h&]uh1jhj{.ubeh}(h]h ]h"]h$]h&]uh1jhj.hMhj?.ubj)}(h``mesh_scale`` Set the precision and maximum gain range of mesh shading - 0 = 0-2x gain - 1 = 0-4x gain - 2 = 0-8x gain - 3 = 0-16x gain - 4 = 1-2x gain - 5 = 1-3x gain - 6 = 1-5x gain - 7 = 1-9x gain h](j)}(h``mesh_scale``h]j0)}(hj.h]h mesh_scale}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj.ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj.ubj)}(hhh]h)}(hSet the precision and maximum gain range of mesh shading - 0 = 0-2x gain - 1 = 0-4x gain - 2 = 0-8x gain - 3 = 0-16x gain - 4 = 1-2x gain - 5 = 1-3x gain - 6 = 1-5x gain - 7 = 1-9x gainh]hSet the precision and maximum gain range of mesh shading - 0 = 0-2x gain - 1 = 0-4x gain - 2 = 0-8x gain - 3 = 0-16x gain - 4 = 1-2x gain - 5 = 1-3x gain - 6 = 1-5x gain - 7 = 1-9x gain}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hMhj?.ubj)}(h=``mesh_page_r`` Mesh page select for red colour plane [0..2] h](j)}(h``mesh_page_r``h]j0)}(hj.h]h mesh_page_r}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj.ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj.ubj)}(hhh]h)}(h,Mesh page select for red colour plane [0..2]h]h,Mesh page select for red colour plane [0..2]}(hj /hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj /hMhj /ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj /hMhj?.ubj)}(h?``mesh_page_g`` Mesh page select for green colour plane [0..2] h](j)}(h``mesh_page_g``h]j0)}(hj-/h]h mesh_page_g}(hj//hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj+/ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj'/ubj)}(hhh]h)}(h.Mesh page select for green colour plane [0..2]h]h.Mesh page select for green colour plane [0..2]}(hjF/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjB/hMhjC/ubah}(h]h ]h"]h$]h&]uh1jhj'/ubeh}(h]h ]h"]h$]h&]uh1jhjB/hMhj?.ubj)}(h>``mesh_page_b`` Mesh page select for blue colour plane [0..2] h](j)}(h``mesh_page_b``h]j0)}(hjf/h]h mesh_page_b}(hjh/hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjd/ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj`/ubj)}(hhh]h)}(h-Mesh page select for blue colour plane [0..2]h]h-Mesh page select for blue colour plane [0..2]}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{/hMhj|/ubah}(h]h ]h"]h$]h&]uh1jhj`/ubeh}(h]h ]h"]h$]h&]uh1jhj{/hMhj?.ubj)}(h:``mesh_width`` Number of horizontal nodes minus 1 [15,31] h](j)}(h``mesh_width``h]j0)}(hj/h]h mesh_width}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj/ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj/ubj)}(hhh]h)}(h*Number of horizontal nodes minus 1 [15,31]h]h*Number of horizontal nodes minus 1 [15,31]}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hMhj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj/hMhj?.ubj)}(h9``mesh_height`` Number of vertical nodes minus 1 [15,31] h](j)}(h``mesh_height``h]j0)}(hj/h]h mesh_height}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj/ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj/ubj)}(hhh]h)}(h(Number of vertical nodes minus 1 [15,31]h]h(Number of vertical nodes minus 1 [15,31]}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hMhj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj/hMhj?.ubj)}(h'``mesh`` Mesh shading correction tablesh](j)}(h``mesh``h]j0)}(hj0h]hmesh}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj0ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj 0ubj)}(hhh]h)}(hMesh shading correction tablesh]hMesh shading correction tables}(hj*0hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj'0ubah}(h]h ]h"]h$]h&]uh1jhj 0ubeh}(h]h ]h"]h$]h&]uh1jhj&0hMhj?.ubeh}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hjT0h]h Description}(hjV0hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjR0ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hThe mesh shading correction module allows programming a separate table of either 16x16 or 32x32 node coefficients for 3 different light sources. The final correction coefficients applied are computed by blending the coefficients from two tables together.h]hThe mesh shading correction module allows programming a separate table of either 16x16 or 32x32 node coefficients for 3 different light sources. The final correction coefficients applied are computed by blending the coefficients from two tables together.}(hjj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMghjhhubh)}(hX8A page of 1024 32-bit integers is associated to each colour channel, with pages stored consecutively in memory. Each 32-bit integer packs 3 8-bit correction coefficients for a single node, one for each of the three light sources. The 8 most significant bits are unused. The following table describes the layout::h]hX7A page of 1024 32-bit integers is associated to each colour channel, with pages stored consecutively in memory. Each 32-bit integer packs 3 8-bit correction coefficients for a single node, one for each of the three light sources. The 8 most significant bits are unused. The following table describes the layout:}(hjy0hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMlhjhhubj)}(hX +----------- Page (Colour Plane) 0 -------------+ | @mesh[i] | Mesh Point | Bits | Light Source | +-----------+------------+-------+--------------+ | 0 | 0,0 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | 1 | 0,1 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | ... | ... | ... | ... | +-----------+------------+-------+--------------+ | 1023 | 31,31 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +----------- Page (Colour Plane) 1 -------------+ | @mesh[i] | Mesh Point | Bits | Light Source | +-----------+------------+-------+--------------+ | 1024 | 0,0 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | 1025 | 0,1 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | ... | ... | ... | ... | +-----------+------------+-------+--------------+ | 2047 | 31,31 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +----------- Page (Colour Plane) 2 -------------+ | @mesh[i] | Mesh Point | Bits | Light Source | +-----------+------------+-------+--------------+ | 2048 | 0,0 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | 2049 | 0,1 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | ... | ... | ... | ... | +-----------+------------+-------+--------------+ | 3071 | 31,31 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+h]hX +----------- Page (Colour Plane) 0 -------------+ | @mesh[i] | Mesh Point | Bits | Light Source | +-----------+------------+-------+--------------+ | 0 | 0,0 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | 1 | 0,1 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | ... | ... | ... | ... | +-----------+------------+-------+--------------+ | 1023 | 31,31 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +----------- Page (Colour Plane) 1 -------------+ | @mesh[i] | Mesh Point | Bits | Light Source | +-----------+------------+-------+--------------+ | 1024 | 0,0 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | 1025 | 0,1 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | ... | ... | ... | ... | +-----------+------------+-------+--------------+ | 2047 | 31,31 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +----------- Page (Colour Plane) 2 -------------+ | @mesh[i] | Mesh Point | Bits | Light Source | +-----------+------------+-------+--------------+ | 2048 | 0,0 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | 2049 | 0,1 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+ | ... | ... | ... | ... | +-----------+------------+-------+--------------+ | 3071 | 31,31 | 16,23 | LS2 | | | | 08-15 | LS1 | | | | 00-07 | LS0 | +-----------+------------+-------+--------------+}hj0sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMrhjhhubh)}(hThe **mesh_scale** member determines the precision and minimum and maximum gain. For example if **mesh_scale** is 0 and therefore selects 0 - 2x gain, a value of 0 in a coefficient means 0.0 gain, a value of 128 means 1.0 gain and 255 means 2.0 gain.h](hThe }(hj0hhhNhNubj{)}(h**mesh_scale**h]h mesh_scale}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj0ubhN member determines the precision and minimum and maximum gain. For example if }(hj0hhhNhNubj{)}(h**mesh_scale**h]h mesh_scale}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj0ubh is 0 and therefore selects 0 - 2x gain, a value of 0 in a coefficient means 0.0 gain, a value of 128 means 1.0 gain and 255 means 2.0 gain.}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hxheader.type should be set to MALI_C55_PARAM_MESH_SHADING_CONFIG from :c:type:`mali_c55_param_block_type` for this block.h](hEheader.type should be set to MALI_C55_PARAM_MESH_SHADING_CONFIG from }(hj0hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hj0h]hmali_c55_param_block_type}(hj0hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj0ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj0ubh for this block.}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj0hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j1mali_c55_params_mesh_shading_selection (C struct)(c.mali_c55_params_mesh_shading_selectionhNtauh1jhjhhhjhNubj)}(hhh](j)}(h&mali_c55_params_mesh_shading_selectionh]j)}(h-struct mali_c55_params_mesh_shading_selectionh](j)}(hjh]hstruct}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubj)}(h h]h }(hj#1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1hhhj"1hMubj)}(h&mali_c55_params_mesh_shading_selectionh]j)}(hj1h]h&mali_c55_params_mesh_shading_selection}(hj51hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj11ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj1hhhj"1hMubeh}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj 1hhhj"1hMubah}(h]j1ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj"1hMhj 1hhubjJ)}(hhh]h)}(hMesh table selectionh]hMesh table selection}(hjW1hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjT1hhubah}(h]h ]h"]h$]h&]uh1jIhj 1hhhj"1hMubeh}(h]h ](j;structeh"]h$]h&]jjj;jkjo1jljo1jmjnjouh1jhhhjhjhNubjq)}(hXv**Definition**:: struct mali_c55_params_mesh_shading_selection { struct v4l2_isp_params_block_header header; __u8 mesh_alpha_bank_r; __u8 mesh_alpha_bank_g; __u8 mesh_alpha_bank_b; __u8 mesh_alpha_r; __u8 mesh_alpha_g; __u8 mesh_alpha_b; __u16 mesh_strength; }; **Members** ``header`` The Mali-C55 parameters block header ``mesh_alpha_bank_r`` Red mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`) ``mesh_alpha_bank_g`` Green mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`) ``mesh_alpha_bank_b`` Blue mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`) ``mesh_alpha_r`` Blend coefficient for R [0..255] ``mesh_alpha_g`` Blend coefficient for G [0..255] ``mesh_alpha_b`` Blend coefficient for B [0..255] ``mesh_strength`` Mesh strength in Q4.12 format [0..4096]h](h)}(h**Definition**::h](j{)}(h**Definition**h]h Definition}(hj{1hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjw1ubh:}(hjw1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjs1ubj)}(hXstruct mali_c55_params_mesh_shading_selection { struct v4l2_isp_params_block_header header; __u8 mesh_alpha_bank_r; __u8 mesh_alpha_bank_g; __u8 mesh_alpha_bank_b; __u8 mesh_alpha_r; __u8 mesh_alpha_g; __u8 mesh_alpha_b; __u16 mesh_strength; };h]hXstruct mali_c55_params_mesh_shading_selection { struct v4l2_isp_params_block_header header; __u8 mesh_alpha_bank_r; __u8 mesh_alpha_bank_g; __u8 mesh_alpha_bank_b; __u8 mesh_alpha_r; __u8 mesh_alpha_g; __u8 mesh_alpha_b; __u16 mesh_strength; };}hj1sbah}(h]h ]h"]h$]h&]hhuh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjs1ubh)}(h **Members**h]j{)}(hj1h]hMembers}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj1ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjs1ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]j0)}(hj1h]hheader}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj1ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj1ubj)}(hhh]h)}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1hMhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1hMhj1ubj)}(h\``mesh_alpha_bank_r`` Red mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`) h](j)}(h``mesh_alpha_bank_r``h]j0)}(hj1h]hmesh_alpha_bank_r}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj1ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj1ubj)}(hhh]h)}(hERed mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`)h](hRed mesh table select (c:type:}(hj2hhhNhNubhtitle_reference)}(h&`enum mali_c55_params_mesh_alpha_bank`h]h$enum mali_c55_params_mesh_alpha_bank}(hj 2hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj2ubh)}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj2hMhj2ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj2hMhj1ubj)}(h^``mesh_alpha_bank_g`` Green mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`) h](j)}(h``mesh_alpha_bank_g``h]j0)}(hjJ2h]hmesh_alpha_bank_g}(hjL2hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjH2ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjD2ubj)}(hhh]h)}(hGGreen mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`)h](h Green mesh table select (c:type:}(hjc2hhhNhNubj2)}(h&`enum mali_c55_params_mesh_alpha_bank`h]h$enum mali_c55_params_mesh_alpha_bank}(hjk2hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hjc2ubh)}(hjc2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj_2hMhj`2ubah}(h]h ]h"]h$]h&]uh1jhjD2ubeh}(h]h ]h"]h$]h&]uh1jhj_2hMhj1ubj)}(h]``mesh_alpha_bank_b`` Blue mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`) h](j)}(h``mesh_alpha_bank_b``h]j0)}(hj2h]hmesh_alpha_bank_b}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj2ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj2ubj)}(hhh]h)}(hFBlue mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`)h](hBlue mesh table select (c:type:}(hj2hhhNhNubj2)}(h&`enum mali_c55_params_mesh_alpha_bank`h]h$enum mali_c55_params_mesh_alpha_bank}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hj2ubh)}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj2hMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2hMhj1ubj)}(h2``mesh_alpha_r`` Blend coefficient for R [0..255] h](j)}(h``mesh_alpha_r``h]j0)}(hj2h]h mesh_alpha_r}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj2ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj2ubj)}(hhh]h)}(h Blend coefficient for R [0..255]h]h Blend coefficient for R [0..255]}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2hMhj1ubj)}(h2``mesh_alpha_g`` Blend coefficient for G [0..255] h](j)}(h``mesh_alpha_g``h]j0)}(hj3h]h mesh_alpha_g}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj3ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj3ubj)}(hhh]h)}(h Blend coefficient for G [0..255]h]h Blend coefficient for G [0..255]}(hj23hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.3hMhj/3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj.3hMhj1ubj)}(h2``mesh_alpha_b`` Blend coefficient for B [0..255] h](j)}(h``mesh_alpha_b``h]j0)}(hjR3h]h mesh_alpha_b}(hjT3hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjP3ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjL3ubj)}(hhh]h)}(h Blend coefficient for B [0..255]h]h Blend coefficient for B [0..255]}(hjk3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjg3hMhjh3ubah}(h]h ]h"]h$]h&]uh1jhjL3ubeh}(h]h ]h"]h$]h&]uh1jhjg3hMhj1ubj)}(h9``mesh_strength`` Mesh strength in Q4.12 format [0..4096]h](j)}(h``mesh_strength``h]j0)}(hj3h]h mesh_strength}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hj3ubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj3ubj)}(hhh]h)}(h'Mesh strength in Q4.12 format [0..4096]h]h'Mesh strength in Q4.12 format [0..4096]}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3hMhj1ubeh}(h]h ]h"]h$]h&]uh1jhjs1ubeh}(h]h ] kernelindentah"]h$]h&]uh1jphjhhhjhNubh)}(h**Description**h]j{)}(hj3h]h Description}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj3ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hThe module computes the final correction coefficients by blending the ones from two light source tables, which are selected (independently for each colour channel) by the **mesh_alpha_bank_r**/g/b fields.h](hThe module computes the final correction coefficients by blending the ones from two light source tables, which are selected (independently for each colour channel) by the }(hj3hhhNhNubj{)}(h**mesh_alpha_bank_r**h]hmesh_alpha_bank_r}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj3ubh /g/b fields.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hYThe final blended coefficients for each node are calculated using the following equation:h]hYThe final blended coefficients for each node are calculated using the following equation:}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj)}(hJFinal coefficient = (a * LS\ :sub:`b`\ + (256 - a) * LS\ :sub:`a`\) / 256 h]h)}(hIFinal coefficient = (a * LS\ :sub:`b`\ + (256 - a) * LS\ :sub:`a`\) / 256h](hFinal coefficient = (a * LS }(hj4hhhNhNubh subscript)}(h:sub:`b`h]hb}(hj"4hhhNhNubah}(h]h ]h"]h$]h&]uh1j 4hj4ubh + (256 - a) * LS }(hj4hhhNhNubj!4)}(h:sub:`a`h]ha}(hj44hhhNhNubah}(h]h ]h"]h$]h&]uh1j 4hj4ubh) / 256}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj4ubah}(h]h ]h"]h$]h&]uh1jhjL4hMhjhhubh)}(hWhere a is the **mesh_alpha_r**/g/b value, and LS\ :sub:`a`\ and LS\ :sub:`b`\ are the node cofficients for the two tables selected by the **mesh_alpha_bank_r**/g/b value.h](hWhere a is the }(hjS4hhhNhNubj{)}(h**mesh_alpha_r**h]h mesh_alpha_r}(hj[4hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjS4ubh/g/b value, and LS }(hjS4hhhNhNubj!4)}(h:sub:`a`h]ha}(hjm4hhhNhNubah}(h]h ]h"]h$]h&]uh1j 4hjS4ubh and LS }(hjS4hhhNhNubj!4)}(h:sub:`b`h]hb}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j 4hjS4ubh> are the node cofficients for the two tables selected by the }(hjS4hhhNhNubj{)}(h**mesh_alpha_bank_r**h]hmesh_alpha_bank_r}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhjS4ubh /g/b value.}(hjS4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(hThe scale of the applied correction may also be controlled by tuning the **mesh_strength** member. This is a modifier to the final coefficients which can be used to globally reduce the gains applied.h](hIThe scale of the applied correction may also be controlled by tuning the }(hj4hhhNhNubj{)}(h**mesh_strength**h]h mesh_strength}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj4ubhm member. This is a modifier to the final coefficients which can be used to globally reduce the gains applied.}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubh)}(h{header.type should be set to MALI_C55_PARAM_MESH_SHADING_SELECTION from :c:type:`mali_c55_param_block_type` for this block.h](hHheader.type should be set to MALI_C55_PARAM_MESH_SHADING_SELECTION from }(hj4hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hj4h]hmali_c55_param_block_type}(hj4hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj4ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj4ubh for this block.}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj4hMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"MALI_C55_PARAMS_MAX_SIZE (C macro)c.MALI_C55_PARAMS_MAX_SIZEhNtauh1jhjhhhjhNubj)}(hhh](j)}(hMALI_C55_PARAMS_MAX_SIZEh]j)}(hMALI_C55_PARAMS_MAX_SIZEh]j)}(hMALI_C55_PARAMS_MAX_SIZEh]j)}(hj5h]hMALI_C55_PARAMS_MAX_SIZE}(hj5hhhNhNubah}(h]h ]j)ah"]h$]h&]uh1jhj5ubah}(h]h ](j0j1eh"]h$]h&]hhuh1jhj5hhh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMubah}(h]h ]h"]h$]h&]hhj;uh1jj<j=hj5hhhj-5hMubah}(h]j 5ah ](jAjBeh"]h$]h&]jFjG)jHhuh1jhj-5hMhj 5hhubjJ)}(hhh]h}(h]h ]h"]h$]h&]uh1jIhj 5hhhj-5hMubeh}(h]h ](j;macroeh"]h$]h&]jjj;jkjF5jljF5jmjnjouh1jhhhjhjhNubh)}(h``MALI_C55_PARAMS_MAX_SIZE``h]j0)}(hjL5h]hMALI_C55_PARAMS_MAX_SIZE}(hjN5hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hjJ5ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj)}(hX Maximum size of all Mali C55 Parameters **Description** Though the parameters for the Mali-C55 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. Some structs are in this list multiple times. Where that's the case, it just reflects the fact that the same struct can be used with multiple different header types from :c:type:`mali_c55_param_block_type`. h](j)}(h(Maximum size of all Mali C55 Parameters h]h)}(h'Maximum size of all Mali C55 Parametersh]h'Maximum size of all Mali C55 Parameters}(hjj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjf5ubah}(h]h ]h"]h$]h&]uh1jhjx5hMhjb5ubh)}(h**Description**h]j{)}(hj5h]h Description}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jzhj5ubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjb5ubh)}(hX Though the parameters for the Mali-C55 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]hX Though the parameters for the Mali-C55 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.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjb5ubh)}(hSome structs are in this list multiple times. Where that's the case, it just reflects the fact that the same struct can be used with multiple different header types from :c:type:`mali_c55_param_block_type`.h](hSome structs are in this list multiple times. Where that’s the case, it just reflects the fact that the same struct can be used with multiple different header types from }(hj5hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]j0)}(hj5h]hmali_c55_param_block_type}(hj5hhhNhNubah}(h]h ](jj;c-typeeh"]h$]h&]uh1j/hj5ubah}(h]h ]h"]h$]h&]refdocj refdomainj;reftypetype refexplicitrefwarnjjj%mali_c55_param_block_typeuh1hh/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj5ubh.}(hj5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj5hMhjb5ubeh}(h]h ]h"]h$]h&]uh1jhjx5hMhjhhubeh}(h]arm-mali-c55-uapi-data-typesah ]h"]arm mali-c55 uapi data typesah$]h&]uh1hhhhhhhhKRubeh}(h](Dv4l2-meta-fmt-mali-c55-stats-c55s-v4l2-meta-fmt-mali-c55-params-c55phheh ]h"](Mv4l2_meta_fmt_mali_c55_stats ('c55s'), v4l2_meta_fmt_mali_c55_params ('c55p')v4l2-meta-fmt-mali-c55-statsheh$]h&]uh1hhhhhhhhKh}(j5hhhuh}(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_handlerj6error_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}(hhj5hj5j5jjjjj5j5u nametypes}(hψj5j5jjj5uh}(hhhhj5hjhjjj5jjjjjjj jjj j j j jujzjjjjjcjhj]jbjjjjjjj j j"j"jN$jS$jd%ji%j'j'j(j(j-j-j1j 1j 5j5u 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]h)}(hhh]hCHyperlink target "v4l2-meta-fmt-mali-c55-params" is not referenced.}hj6sbah}(h]h ]h"]h$]h&]uh1hhj|6ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jz6ubj{6)}(hhh]h)}(hhh]hBHyperlink target "v4l2-meta-fmt-mali-c55-stats" is not referenced.}hj6sbah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]levelKtypej6sourcehlineKuh1jz6ube transformerN include_log] decorationNhhub.