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]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/pt_BR/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&]hԌv4l2-meta-fmt-mali-c55-statsuh1hhKhhhhhhnjexpect_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 }(hjhhhNhNubh)}(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 refdomainj'reftyperef refexplicitrefwarn reftargetmali-c55-3a-statsuh1hhhhK hjubh( metadata capture video node, using the }(hjhhhNhNubh)}(h:c:type:`v4l2_meta_format`h]hliteral)}(hjAh]hv4l2_meta_format}(hjEhhhNhNubah}(h]h ](j&cc-typeeh"]h$]h&]uh1jChj?ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj9v4l2_meta_formatuh1hhhhK hjubhE interface. The buffer contains a single instance of the C structure }(hjhhhNhNubh)}(h:c:type:`mali_c55_stats_buffer`h]jD)}(hjgh]hmali_c55_stats_buffer}(hjihhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChjeubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj9mali_c55_stats_bufferuh1hhhhK hjubh defined in }(hjhhhNhNubjD)}(h``mali-c55-config.h``h]hmali-c55-config.h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubh6, so the structure can be obtained from the buffer by:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhK 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&]hhƌforcelanguageChighlight_args}uh1jhhhKhhhhubj )}(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]jD)}(hjh]hmali_c55_stats_buffer}(hjhhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj9mali_c55_stats_bufferuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKhhhhubeh}(h] a-statisticsah ]h"] 3a statisticsah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hConfiguration Parametersh]hConfiguration Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubj )}(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)}(hj h]hmali-c55 3a params}(hj hhhNhNubah}(h]h ](j&stdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj3 refdomainjreftyperef refexplicitrefwarnj9mali-c55-3a-paramsuh1hhhhKhjubh' metadata output video node, using the }(hjhhhNhNubh)}(h:c:type:`v4l2_meta_format`h]jD)}(hj-h]hv4l2_meta_format}(hj/hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChj+ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj9v4l2_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]jD)}(hjPh]hv4l2_isp_params_buffer}(hjRhhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChjNubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj9v4l2_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]jD)}(hjsh]hv4l2_isp_params_block_header}(hjuhhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChjqubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj9v4l2_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]jD)}(hjh]hmali_c55_param_block_type}(hjhhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj9mali_c55_param_block_typeuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKhjhhubj)}(hX\struct v4l2_isp_params_buffer *params = (struct v4l2_isp_params_buffer *)buffer; params->version = V4L2_ISP_PARAMS_VERSION_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]hX\struct v4l2_isp_params_buffer *params = (struct v4l2_isp_params_buffer *)buffer; params->version = V4L2_ISP_PARAMS_VERSION_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&]hhjjjOj}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}(hj hhhNhNubah}(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}(hj3hhhNhNubah}(h]h ]nah"]h$]h&]uh1j1hj-ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j+hjhhhjhKubeh}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1jsphinx_line_type declaratorhjhhhjhKubah}(h]jah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhjhKhjhhubh desc_content)}(hhh]j )}(h+Auto Exposure 1024-bin histogram statisticsh]h+Auto Exposure 1024-bin histogram statistics}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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_hhubah}(h]h ]h"]h$]h&]uh1j]hjhhhjhKubeh}(h]h ](jOstructeh"]h$]h&]domainjOobjtypejzdesctypejznoindex noindexentrynocontentsentryuh1jhhhjhjhNubh container)}(h**Definition**:: struct mali_c55_ae_1024bin_hist { __u16 bins[1024]; }; **Members** ``bins`` 1024 element array of 16-bit pixel counts.h](j )}(h**Definition**::h](hstrong)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK,hjubj)}(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.hjubj )}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhK2hjubhdefinition_list)}(hhh]hdefinition_list_item)}(h3``bins`` 1024 element array of 16-bit pixel counts.h](hterm)}(h``bins``h]jD)}(hjh]hbins}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(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&]uh1j h/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&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hj$h]h Description}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1j h/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 )}(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&]uh1j h/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 )}(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:}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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 }}hjXsbah}(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}(hjnhhhNhNubah}(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.hhKChjjubj)}(hhh]j )}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKBhj}ubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhj|hKChjgubah}(h]h ]h"]h$]h&]uh1jhjhhhjhNubj )}(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&]uh1j h/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]j )}(hjh]h:Pixels can be skipped in X and Y directions independently.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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]j )}(hjh]h-Minimum/Maximum intensities can be configured}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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]j )}(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&]uh1j h/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.uh1jhjhhhjhNubj )}(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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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 )}(hj h]hstruct}(hj3hhhNhNubah}(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.hhKSubj)}(h h]h }(hjAhhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhj/hhhj@hKSubj,)}(hmali_c55_ae_5bin_histh]j2)}(hj-h]hmali_c55_ae_5bin_hist}(hjShhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjOubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj/hhhj@hKSubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj+hhhj@hKSubah}(h]j&ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj@hKShj(hhubj^)}(hhh]j )}(h(Auto Exposure 5-bin histogram statisticsh]h(Auto Exposure 5-bin histogram statistics}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKVhjrhhubah}(h]h ]h"]h$]h&]uh1j]hj(hhhj@hKSubeh}(h]h ](jOstructeh"]h$]h&]j~jOjjjjjjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKZhjubj)}(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\hjubj )}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKchjubj)}(hhh](j)}(hB``hist0`` 16-bit normalised pixel count for the 0th intensity bin h](j)}(h ``hist0``h]jD)}(hjh]hhist0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(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&]uh1j hjhKYhjubah}(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]jD)}(hjh]hhist1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h716-bit normalised pixel count for the 1st intensity binh]h716-bit normalised pixel count for the 1st intensity bin}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj0hKZhj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj0hKZhjubj)}(hB``hist3`` 16-bit normalised pixel count for the 3rd intensity bin h](j)}(h ``hist3``h]jD)}(hjTh]hhist3}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjRubah}(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[hjNubj)}(hhh]j )}(h716-bit normalised pixel count for the 3rd intensity binh]h716-bit normalised pixel count for the 3rd intensity bin}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjihK[hjjubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjihK[hjubj)}(hA``hist4`` 16-bit normalised pixel count for the 4th intensity binh](j)}(h ``hist4``h]jD)}(hjh]hhist4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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[hjubj)}(hhh]j )}(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&]uh1j h/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[hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/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 )}(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&]uh1j h/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]j )}(h0hist2 = 0xffff - (hist0 + hist1 + hist3 + hist4)h]h0hist2 = 0xffff - (hist0 + hist1 + hist3 + hist4)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhj hKbhjhhubj)}(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 )}(hj h]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.hhKgubj)}(h h]h }(hj7hhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhj%hhhj6hKgubj,)}(hmali_c55_awb_average_ratiosh]j2)}(hj#h]hmali_c55_awb_average_ratios}(hjIhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjEubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj%hhhj6hKgubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj!hhhj6hKgubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj6hKghjhhubj^)}(hhh]j )}(h Auto White Balance colour ratiosh]h Auto White Balance colour ratios}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKmhjhhhubah}(h]h ]h"]h$]h&]uh1j]hjhhhj6hKgubeh}(h]h ](jOstructeh"]h$]h&]j~jOjjjjjjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKqhjubj)}(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.hhKshjubj )}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/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](j)}(h7``avg_rg_gr`` Average R/G or G/R ratio in Q4.8 format. h](j)}(h ``avg_rg_gr``h]jD)}(hjh]h avg_rg_gr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(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&]uh1j hjhKphjubah}(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]jD)}(hjh]h avg_bg_br}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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.hhKqhj ubj)}(hhh]j )}(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.}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj&hKqhj'ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj&hKqhjubj)}(h?``num_pixels`` The number of pixels used in the AWB calculationh](j)}(h``num_pixels``h]jD)}(hjJh]h num_pixels}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjHubah}(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.hhKqhjDubj)}(hhh]j )}(h0The number of pixels used in the AWB calculationh]h0The number of pixels used in the AWB calculation}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKrhj`ubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj_hKqhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKuhjhhubj )}(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&]uh1j h/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 )}(hj h]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 ]j'ah"]h$]h&]uh1jhjhhhjhK{ubj,)}(hmali_c55_af_statisticsh]j2)}(hjh]hmali_c55_af_statistics}(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjhhhjhK{ubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjhhhjhK{ubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjhK{hjhhubj^)}(hhh]j )}(h(Auto Focus edge and intensity statisticsh]h(Auto Focus edge and intensity statistics}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hjhhhjhK{ubeh}(h]h ](jOstructeh"]h$]h&]j~jOjj% jj% jjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj1 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj- ubh:}(hj- hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/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; };}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.hhKhj) ubj )}(h **Members**h]j)}(hj[ h]hMembers}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY ubah}(h]h ]h"]h$]h&]uh1j h/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]jD)}(hjz h]hintensity_stats}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjx 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.hhKhjt ubj)}(hhh]j )}(h6Packed mantissa and exponent value for pixel intensityh]h6Packed mantissa and exponent value for pixel intensity}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjt ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjq ubj)}(hE``edge_stats`` Packed mantissa and exponent values for edge intensityh](j)}(h``edge_stats``h]jD)}(hj h]h edge_stats}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(h6Packed mantissa and exponent values for edge intensityh]h6Packed mantissa and exponent values for edge intensity}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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 hKhjq ubeh}(h]h ]h"]h$]h&]uh1jhj) ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj )}(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&]uh1j h/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]j )}(h C = E2 / I2h]h C = E2 / I2}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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< hKhjhhubj )}(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.}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj )}(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:}(hjR hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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) }}hja 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}(hjw 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.hhKhjs ubj)}(hhh]j )}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhjs ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjp 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 )}(hj h]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 ]j'ah"]h$]h&]uh1jhj hhhj hKubj,)}(hmali_c55_stats_bufferh]j2)}(hj h]hmali_c55_stats_buffer}(hj hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj hhhj hKubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj hhhj hKubah}(h]j ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj hKhj hhubj^)}(hhh]j )}(h"3A statistics for the mali-c55 ISPh]h"3A statistics for the mali-c55 ISP}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hj hhhj hKubeh}(h]h ](jOstructeh"]h$]h&]j~jOjj jj jjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj% ubh:}(hj% hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/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]; };}hjB 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! ubj )}(h **Members**h]j)}(hjS h]hMembers}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQ ubah}(h]h ]h"]h$]h&]uh1j h/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]jD)}(hjr h]hae_1024bin_hist}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjp 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.hhKhjl ubj)}(hhh]j )}(h/1024-bin frame-global pixel intensity histogramh]h/1024-bin frame-global pixel intensity histogram}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hKhj ubah}(h]h ]h"]h$]h&]uh1jhjl ubeh}(h]h ]h"]h$]h&]uh1jhj hKhji ubj)}(h=``iridix_1024bin_hist`` Post-Iridix block 1024-bin histogram h](j)}(h``iridix_1024bin_hist``h]jD)}(hj h]hiridix_1024bin_hist}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(h$Post-Iridix block 1024-bin histogramh]h$Post-Iridix block 1024-bin histogram}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhji ubj)}(h;``ae_5bin_hists`` 5-bin pixel intensity histograms for AEC h](j)}(h``ae_5bin_hists``h]jD)}(hj h]h ae_5bin_hists}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(h(5-bin pixel intensity histograms for AECh]h(5-bin pixel intensity histograms for AEC}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhji ubj)}(h%``reserved1`` Undefined buffer space h](j)}(h ``reserved1``h]jD)}(hj h]h reserved1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(hUndefined buffer spaceh]hUndefined buffer space}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj2 hKhj3 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj2 hKhji ubj)}(h;``awb_ratios`` Color balance ratios for Auto White Balance h](j)}(h``awb_ratios``h]jD)}(hjV h]h awb_ratios}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjT 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.hhKhjP ubj)}(hhh]j )}(h+Color balance ratios for Auto White Balanceh]h+Color balance ratios for Auto White Balance}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjk hKhjl ubah}(h]h ]h"]h$]h&]uh1jhjP ubeh}(h]h ]h"]h$]h&]uh1jhjk hKhji ubj)}(h%``reserved2`` Undefined buffer space h](j)}(h ``reserved2``h]jD)}(hj h]h reserved2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(hUndefined buffer spaceh]hUndefined buffer space}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhji ubj)}(h<``af_statistics`` Pixel intensity statistics for Auto Focus h](j)}(h``af_statistics``h]jD)}(hj h]h af_statistics}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(h)Pixel intensity statistics for Auto Focush]h)Pixel intensity statistics for Auto Focus}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhji ubj)}(h$``reserved3`` Undefined buffer spaceh](j)}(h ``reserved3``h]jD)}(hj h]h reserved3}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(hUndefined buffer spaceh]hUndefined buffer space}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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 hKhji ubeh}(h]h ]h"]h$]h&]uh1jhj! ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hjD h]h Description}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjB ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj )}(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 }(hjZ hhhNhNubj)}(h**ae_5bin_hists**h]h ae_5bin_hists}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZ ubh, }(hjZ hhhNhNubj)}(h**awb_ratios**h]h awb_ratios}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZ ubh and }(hjZ hhhNhNubj)}(h**af_statistics**h]h af_statistics}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZ 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.}(hjZ hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/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_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 )}(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 ]j'ah"]h$]h&]uh1jhj hhhj hKubj,)}(hmali_c55_param_block_typeh]j2)}(hj h]hmali_c55_param_block_type}(hj hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj hhhj hKubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj hhhj hKubah}(h]j ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj hKhj hhubj^)}(hhh]j )}(h(Enumeration of Mali-C55 parameter blocksh]h(Enumeration of Mali-C55 parameter blocks}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hj hhhj hKubeh}(h]h ](jOenumeh"]h$]h&]j~jOjjjjjjjuh1jhhhjhjhNubj)}(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](j )}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/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]jD)}(hj<h]h MALI_C55_PARAM_BLOCK_SENSOR_OFFS}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj: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.hhKhj6ubj)}(hhh]j )}(h%Sensor pre-shading black level offseth]h%Sensor pre-shading black level offset}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjQhKhjRubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjQhKhj3ubj)}(hR``MALI_C55_PARAM_BLOCK_AEXP_HIST`` Auto-exposure 1024-bin histogram configuration h](j)}(h"``MALI_C55_PARAM_BLOCK_AEXP_HIST``h]jD)}(hjuh]hMALI_C55_PARAM_BLOCK_AEXP_HIST}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjsubah}(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.hhKhjoubj)}(hhh]j )}(h.Auto-exposure 1024-bin histogram configurationh]h.Auto-exposure 1024-bin histogram configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhjhKhj3ubj)}(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]jD)}(hjh]hMALI_C55_PARAM_BLOCK_AEXP_IHIST}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h:Post-Iridix auto-exposure 1024-bin histogram configurationh]h:Post-Iridix auto-exposure 1024-bin histogram configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhjhKhj3ubj)}(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]jD)}(hjh]h&MALI_C55_PARAM_BLOCK_AEXP_HIST_WEIGHTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h*Auto-exposure 1024-bin histogram weightingh]h*Auto-exposure 1024-bin histogram weighting}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhjhKhj3ubj)}(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]jD)}(hj#h]h'MALI_C55_PARAM_BLOCK_AEXP_IHIST_WEIGHTS}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj!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.hhKhjubj)}(hhh]j )}(h6Post-Iridix auto-exposure 1024-bin histogram weightingh]h6Post-Iridix auto-exposure 1024-bin histogram weighting}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhj9ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj8hKhj3ubj)}(h3``MALI_C55_PARAM_BLOCK_DIGITAL_GAIN`` Digital gain h](j)}(h%``MALI_C55_PARAM_BLOCK_DIGITAL_GAIN``h]jD)}(hj]h]h!MALI_C55_PARAM_BLOCK_DIGITAL_GAIN}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj[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.hhKhjWubj)}(hhh]j )}(h Digital gainh]h Digital gain}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjrhKhjsubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjrhKhj3ubj)}(h<``MALI_C55_PARAM_BLOCK_AWB_GAINS`` Auto-white balance gains h](j)}(h"``MALI_C55_PARAM_BLOCK_AWB_GAINS``h]jD)}(hjh]hMALI_C55_PARAM_BLOCK_AWB_GAINS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(hAuto-white balance gainsh]hAuto-white balance gains}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj3ubj)}(hI``MALI_C55_PARAM_BLOCK_AWB_CONFIG`` Auto-white balance statistics config h](j)}(h#``MALI_C55_PARAM_BLOCK_AWB_CONFIG``h]jD)}(hjh]hMALI_C55_PARAM_BLOCK_AWB_CONFIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h$Auto-white balance statistics configh]h$Auto-white balance statistics config}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj3ubj)}(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]jD)}(hjh]h#MALI_C55_PARAM_BLOCK_AWB_GAINS_AEXP}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h'Auto-white balance gains for AEXP-0 taph]h'Auto-white balance gains for AEXP-0 tap}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj3ubj)}(hI``MALI_C55_PARAM_MESH_SHADING_CONFIG`` Mesh shading tables configuration h](j)}(h&``MALI_C55_PARAM_MESH_SHADING_CONFIG``h]jD)}(hjAh]h"MALI_C55_PARAM_MESH_SHADING_CONFIG}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jChj?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]j )}(h!Mesh shading tables configurationh]h!Mesh shading tables configuration}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjVhKhjWubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjVhKhj3ubj)}(hF``MALI_C55_PARAM_MESH_SHADING_SELECTION`` Mesh shading table selectionh](j)}(h)``MALI_C55_PARAM_MESH_SHADING_SELECTION``h]jD)}(hjzh]h%MALI_C55_PARAM_MESH_SHADING_SELECTION}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjxubah}(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.hhKhjtubj)}(hhh]j )}(hMesh shading table selectionh]hMesh shading table selection}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjhKhj3ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj )}(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&]uh1j h/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 )}(hj h]hstruct}(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.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhjhhhjhKubj,)}(h%mali_c55_params_sensor_off_preshadingh]j2)}(hjh]h%mali_c55_params_sensor_off_preshading}(hj*hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj&ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjhhhjhKubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjhhhjhKubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjhKhjhhubj^)}(hhh]j )}(h)offset subtraction for each color channelh]h)offset subtraction for each color channel}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjIhhubah}(h]h ]h"]h$]h&]uh1j]hjhhhjhKubeh}(h]h ](jOstructeh"]h$]h&]j~jOjjdjjdjjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jhjlubh:}(hjlhhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhubj)}(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; };}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.hhKhjhubj )}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]jD)}(hjh]hheader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h4``chan00`` Offset for color channel 00 (default: R) h](j)}(h ``chan00``h]jD)}(hjh]hchan00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h(Offset for color channel 00 (default: R)h]h(Offset for color channel 00 (default: R)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h5``chan01`` Offset for color channel 01 (default: Gr) h](j)}(h ``chan01``h]jD)}(hj+h]hchan01}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj)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]j )}(h)Offset for color channel 01 (default: Gr)h]h)Offset for color channel 01 (default: Gr)}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj@hKhjAubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj@hKhjubj)}(h5``chan10`` Offset for color channel 10 (default: Gb) h](j)}(h ``chan10``h]jD)}(hjdh]hchan10}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjbubah}(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]j )}(h)Offset for color channel 10 (default: Gb)h]h)Offset for color channel 10 (default: Gb)}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjyhKhjzubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]uh1jhjyhKhjubj)}(h3``chan11`` Offset for color channel 11 (default: B)h](j)}(h ``chan11``h]jD)}(hjh]hchan11}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h(Offset for color channel 11 (default: B)h]h(Offset for color channel 11 (default: B)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhKhjhhubj )}(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]jD)}(hjh]hmali_c55_param_block_type}(hjhhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChj ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]sbj9mali_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&]uh1j hj4hKhjhhubj)}(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}(hjXhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjThhh/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 }(hjfhhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhjThhhjehKubj,)}(hmali_c55_aexp_hist_tap_pointsh]j2)}(hjRh]hmali_c55_aexp_hist_tap_points}(hjxhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjtubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjThhhjehKubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjPhhhjehKubah}(h]jKah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjehKhjMhhubj^)}(hhh]j )}(h!Tap points for the AEXP histogramh]h!Tap points for the AEXP histogram}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hjMhhhjehKubeh}(h]h ](jOenumeh"]h$]h&]j~jOjjjjjjjuh1jhhhjhjhNubj)}(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](j )}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/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)}(h9``MALI_C55_AEXP_HIST_TAP_WB`` After static white balance h](j)}(h``MALI_C55_AEXP_HIST_TAP_WB``h]jD)}(hjh]hMALI_C55_AEXP_HIST_TAP_WB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(hAfter static white balanceh]hAfter static white balance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhjubah}(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]jD)}(hjh]hMALI_C55_AEXP_HIST_TAP_FS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(hAfter WDR Frame Stitchh]hAfter WDR Frame Stitch}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj)hMhj*ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj)hMhjubj)}(h?``MALI_C55_AEXP_HIST_TAP_TPG`` After the test pattern generatorh](j)}(h``MALI_C55_AEXP_HIST_TAP_TPG``h]jD)}(hjMh]hMALI_C55_AEXP_HIST_TAP_TPG}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjKubah}(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.hhMhjGubj)}(hhh]j )}(h After the test pattern generatorh]h After the test pattern generator}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjcubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjbhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj)}(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}(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.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhjhhhjhMubj,)}(hmali_c55_aexp_skip_xh]j2)}(hjh]hmali_c55_aexp_skip_x}(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjhhhjhMubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjhhhjhMubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjhMhjhhubj^)}(hhh]j )}(hHorizontal pixel skippingh]hHorizontal pixel skipping}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hjhhhjhMubeh}(h]h ](jOenumeh"]h$]h&]j~jOjjjjjjjuh1jhhhjhjhNubj)}(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](j )}(h **Constants**h]j)}(hj h]h Constants}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1j h/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)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_2ND`` Collect every 2nd pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_2ND``h]jD)}(hj*h]hMALI_C55_AEXP_SKIP_X_EVERY_2ND}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj(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]j )}(h$Collect every 2nd pixel horizontallyh]h$Collect every 2nd pixel horizontally}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j hj?hMhj@ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj?hMhj!ubj)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_3RD`` Collect every 3rd pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_3RD``h]jD)}(hjch]hMALI_C55_AEXP_SKIP_X_EVERY_3RD}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jChjaubah}(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]j )}(h$Collect every 3rd pixel horizontallyh]h$Collect every 3rd pixel horizontally}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjxhMhjyubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjxhMhj!ubj)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_4TH`` Collect every 4th pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_4TH``h]jD)}(hjh]hMALI_C55_AEXP_SKIP_X_EVERY_4TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h$Collect every 4th pixel horizontallyh]h$Collect every 4th pixel horizontally}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM hj!ubj)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_5TH`` Collect every 5th pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_5TH``h]jD)}(hjh]hMALI_C55_AEXP_SKIP_X_EVERY_5TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h$Collect every 5th pixel horizontallyh]h$Collect every 5th pixel horizontally}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM#hj!ubj)}(hH``MALI_C55_AEXP_SKIP_X_EVERY_8TH`` Collect every 8th pixel horizontally h](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_8TH``h]jD)}(hjh]hMALI_C55_AEXP_SKIP_X_EVERY_8TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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&hjubj)}(hhh]j )}(h$Collect every 8th pixel horizontallyh]h$Collect every 8th pixel horizontally}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj#hM&hj$ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj#hM&hj!ubj)}(hG``MALI_C55_AEXP_SKIP_X_EVERY_9TH`` Collect every 9th pixel horizontallyh](j)}(h"``MALI_C55_AEXP_SKIP_X_EVERY_9TH``h]jD)}(hjGh]hMALI_C55_AEXP_SKIP_X_EVERY_9TH}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjEubah}(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(hjAubj)}(hhh]j )}(h$Collect every 9th pixel horizontallyh]h$Collect every 9th pixel horizontally}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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]ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj\hM(hj!ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj)}(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}(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 ]j'ah"]h$]h&]uh1jhjhhhjhM.ubj,)}(hmali_c55_aexp_skip_yh]j2)}(hjh]hmali_c55_aexp_skip_y}(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjhhhjhM.ubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjhhhjhM.ubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjhM.hjhhubj^)}(hhh]j )}(hVertical pixel skippingh]hVertical pixel skipping}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hjhhhjhM.ubeh}(h]h ](jOenumeh"]h$]h&]j~jOjjjjjjjuh1jhhhjhjhNubj)}(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](j )}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/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)}(hC``MALI_C55_AEXP_SKIP_Y_ALL`` Collect every single pixel vertically h](j)}(h``MALI_C55_AEXP_SKIP_Y_ALL``h]jD)}(hj$h]hMALI_C55_AEXP_SKIP_Y_ALL}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj"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,hjubj)}(hhh]j )}(h%Collect every single pixel verticallyh]h%Collect every single pixel vertically}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj9hM,hj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj9hM,hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_2ND`` Collect every 2nd pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_2ND``h]jD)}(hj]h]hMALI_C55_AEXP_SKIP_Y_EVERY_2ND}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj[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/hjWubj)}(hhh]j )}(h"Collect every 2nd pixel verticallyh]h"Collect every 2nd pixel vertically}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjrhM/hjsubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjrhM/hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_3RD`` Collect every 3rd pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_3RD``h]jD)}(hjh]hMALI_C55_AEXP_SKIP_Y_EVERY_3RD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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.hhM2hjubj)}(hhh]j )}(h"Collect every 3rd pixel verticallyh]h"Collect every 3rd pixel vertically}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhM2hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM2hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_4TH`` Collect every 4th pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_4TH``h]jD)}(hjh]hMALI_C55_AEXP_SKIP_Y_EVERY_4TH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h"Collect every 4th pixel verticallyh]h"Collect every 4th pixel vertically}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhM5hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM5hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_5TH`` Collect every 5th pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_5TH``h]jD)}(hjh]hMALI_C55_AEXP_SKIP_Y_EVERY_5TH}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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.hhM8hjubj)}(hhh]j )}(h"Collect every 5th pixel verticallyh]h"Collect every 5th pixel vertically}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM8hjubj)}(hF``MALI_C55_AEXP_SKIP_Y_EVERY_8TH`` Collect every 8th pixel vertically h](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_8TH``h]jD)}(hjAh]hMALI_C55_AEXP_SKIP_Y_EVERY_8TH}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jChj?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]j )}(h"Collect every 8th pixel verticallyh]h"Collect every 8th pixel vertically}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjVhM;hjWubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjVhM;hjubj)}(hE``MALI_C55_AEXP_SKIP_Y_EVERY_9TH`` Collect every 9th pixel verticallyh](j)}(h"``MALI_C55_AEXP_SKIP_Y_EVERY_9TH``h]jD)}(hjzh]hMALI_C55_AEXP_SKIP_Y_EVERY_9TH}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjxubah}(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=hjtubj)}(hhh]j )}(h"Collect every 9th pixel verticallyh]h"Collect every 9th pixel vertically}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM>hjubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjhM=hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj)}(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.hhMCubj)}(h h]h }(hjhhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhjhhhjhMCubj,)}(hmali_c55_aexp_row_column_offseth]j2)}(hjh]hmali_c55_aexp_row_column_offset}(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjhhhjhMCubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjhhhjhMCubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjhMChjhhubj^)}(hhh]j )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM9hjhhubah}(h]h ]h"]h$]h&]uh1j]hjhhhjhMCubeh}(h]h ](jOenumeh"]h$]h&]j~jOjj.jj.jjjuh1jhhhjhjhNubj)}(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](j )}(h **Constants**h]j)}(hj8h]h Constants}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM=hj2ubj)}(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]jD)}(hjWh]hMALI_C55_AEXP_FIRST_ROW_OR_COL}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjUubah}(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@hjQubj)}(hhh]j )}(h!Start from the first row / columnh]h!Start from the first row / column}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1j hjlhM@hjmubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjlhM@hjNubj)}(hF``MALI_C55_AEXP_SECOND_ROW_OR_COL`` Start from the second row / columnh](j)}(h#``MALI_C55_AEXP_SECOND_ROW_OR_COL``h]jD)}(hjh]hMALI_C55_AEXP_SECOND_ROW_OR_COL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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.hhMBhjubj)}(hhh]j )}(h"Start from the second row / columnh]h"Start from the second row / column}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMChjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMBhjNubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj)}(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.hhMHubj)}(h h]h }(hjhhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhjhhhjhMHubj,)}(hmali_c55_aexp_hist_plane_modeh]j2)}(hjh]hmali_c55_aexp_hist_plane_mode}(hj hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjhhhjhMHubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjhhhjhMHubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjhMHhjhhubj^)}(hhh]j )}(hMode for the AEXP Histogramsh]hMode for the AEXP Histograms}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMDhj)hhubah}(h]h ]h"]h$]h&]uh1j]hjhhhjhMHubeh}(h]h ](jOenumeh"]h$]h&]j~jOjjDjjDjjjuh1jhhhjhjhNubj)}(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](j )}(h **Constants**h]j)}(hjNh]h Constants}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMHhjHubj)}(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]jD)}(hjmh]hMALI_C55_AEXP_HIST_COMBINED}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jChjkubah}(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.hhMKhjgubj)}(hhh]j )}(h*All color planes in one 1024-bin histogramh]h*All color planes in one 1024-bin histogram}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMKhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjhMKhjdubj)}(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]jD)}(hjh]hMALI_C55_AEXP_HIST_SEPARATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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.hhMNhjubj)}(hhh]j )}(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&]uh1j hjhMNhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMNhjdubj)}(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]jD)}(hjh]hMALI_C55_AEXP_HIST_FOCUS_00}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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.hhMQhjubj)}(hhh]j )}(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&]uh1j hjhMQhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMQhjdubj)}(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]jD)}(hjh]hMALI_C55_AEXP_HIST_FOCUS_01}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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.hhMThjubj)}(hhh]j )}(h6Top right plane in the first bank, rest in second bankh]h6Top right plane in the first bank, rest in second bank}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj-hMThj.ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj-hMThjdubj)}(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]jD)}(hjQh]hMALI_C55_AEXP_HIST_FOCUS_10}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jChjOubah}(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.hhMWhjKubj)}(hhh]j )}(h8Bottom left plane in the first bank, rest in second bankh]h8Bottom left plane in the first bank, rest in second bank}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjfhMWhjgubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjfhMWhjdubj)}(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]jD)}(hjh]hMALI_C55_AEXP_HIST_FOCUS_11}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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.hhMYhjubj)}(hhh]j )}(h9Bottom right plane in the first bank, rest in second bankh]h9Bottom right plane in the first bank, rest in second bank}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMZhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMYhjdubeh}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM\hjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMKhjhhubj)}(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 )}(hj h]hstruct}(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.hhMSubj)}(h h]h }(hjhhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhjhhhjhMSubj,)}(hmali_c55_params_aexp_histh]j2)}(hjh]hmali_c55_params_aexp_hist}(hj+hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj'ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjhhhjhMSubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjhhhjhMSubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjhMShjhhubj^)}(hhh]j )}(h%configuration for AEXP metering histsh]h%configuration for AEXP metering hists}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM[hjJhhubah}(h]h ]h"]h$]h&]uh1j]hjhhhjhMSubeh}(h]h ](jOstructeh"]h$]h&]j~jOjjejjejjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubh:}(hjmhhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM_hjiubj)}(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; };}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.hhMahjiubj )}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMmhjiubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]jD)}(hjh]hheader}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h@``skip_x`` Horizontal decimation. See enum mali_c55_aexp_skip_x h](j)}(h ``skip_x``h]jD)}(hjh]hskip_x}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(h4Horizontal decimation. See enum mali_c55_aexp_skip_xh]h4Horizontal decimation. See enum mali_c55_aexp_skip_x}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hU``offset_x`` Skip the first column, or not. See enum mali_c55_aexp_row_column_offset h](j)}(h ``offset_x``h]jD)}(hj,h]hoffset_x}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj*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]j )}(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}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjAhMhjBubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhjAhMhjubj)}(h>``skip_y`` Vertical decimation. See enum mali_c55_aexp_skip_y h](j)}(h ``skip_y``h]jD)}(hjeh]hskip_y}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jChjcubah}(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]j )}(h2Vertical decimation. See enum mali_c55_aexp_skip_yh]h2Vertical decimation. See enum mali_c55_aexp_skip_y}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjzhMhj{ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhjzhMhjubj)}(hR``offset_y`` Skip the first row, or not. See enum mali_c55_aexp_row_column_offset h](j)}(h ``offset_y``h]jD)}(hjh]hoffset_y}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(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&]uh1j hjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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]jD)}(hjh]h scale_bottom}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(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&]uh1j hjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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]jD)}(hjh]h scale_top}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(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}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj%hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj%hMhjubj)}(hM``plane_mode`` Plane separation mode. See enum mali_c55_aexp_hist_plane_mode h](j)}(h``plane_mode``h]jD)}(hjIh]h plane_mode}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjGubah}(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.hhMhjCubj)}(hhh]j )}(h=Plane separation mode. See enum mali_c55_aexp_hist_plane_modeh]h=Plane separation mode. See enum mali_c55_aexp_hist_plane_mode}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj^hMhj_ubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj^hMhjubj)}(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]jD)}(hjh]h tap_point}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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]j )}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM\hjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM`hjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMehjhhubj )}(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.h]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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMkhjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMqhjhhubj )}(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:}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMxhjhhubj )}(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}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM}hjhhubj )}(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:}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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/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}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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:}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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/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}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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 }(hjhhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]jD)}(hjh]hmali_c55_param_block_type}(hjhhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_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.hhMhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhMhjhhubj)}(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 )}(hj h]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.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhjhhhjhMubj,)}(hmali_c55_params_aexp_weightsh]j2)}(hjh]hmali_c55_params_aexp_weights}(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjhhhjhMubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjhhhjhMubah}(h]jah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjhMhjhhubj^)}(hhh]j )}(h"Array of weights for AEXP meteringh]h"Array of weights for AEXP metering}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hjhhhjhMubeh}(h]h ](jOstructeh"]h$]h&]j~jOjj$ jj$ jjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj, ubh:}(hj, hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/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]; };}hjI 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( ubj )}(h **Members**h]j)}(hjZ h]hMembers}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjX ubah}(h]h ]h"]h$]h&]uh1j h/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]jD)}(hjy h]hheader}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjw 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]j )}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hMhj ubah}(h]h ]h"]h$]h&]uh1jhjs ubeh}(h]h ]h"]h$]h&]uh1jhj hMhjp ubj)}(hA``nodes_used_horiz`` Number of active zones horizontally [0..15] h](j)}(h``nodes_used_horiz``h]jD)}(hj h]hnodes_used_horiz}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(h+Number of active zones horizontally [0..15]h]h+Number of active zones horizontally [0..15]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhjp ubj)}(h>``nodes_used_vert`` Number of active zones vertically [0..15] h](j)}(h``nodes_used_vert``h]jD)}(hj h]hnodes_used_vert}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]j )}(h)Number of active zones vertically [0..15]h]h)Number of active zones vertically [0..15]}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj!hMhj!ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj!hMhjp 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]jD)}(hj$!h]h zone_weights}(hj&!hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj"!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]j )}(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}(hjE!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=!ubh and }(hj=!hhhNhNubj)}(h**nodes_used_horiz**h]hnodes_used_horiz}(hjW!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=!ubeh}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhj9!hMhjp ubeh}(h]h ]h"]h$]h&]uh1jhj( ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hj!h]h Description}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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 }(hj!hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]jD)}(hj!h]hmali_c55_param_block_type}(hj!hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChj!ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_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&]uh1j hj!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 )}(hj h]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 ]j'ah"]h$]h&]uh1jhj!hhhj"hMubj,)}(hmali_c55_params_digital_gainh]j2)}(hj!h]hmali_c55_params_digital_gain}(hj"hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj"ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj!hhhj"hMubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj!hhhj"hMubah}(h]j!ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj"hMhj!hhubj^)}(hhh]j )}(hDigital gain valueh]hDigital gain value}(hj9"hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj6"hhubah}(h]h ]h"]h$]h&]uh1j]hj!hhhj"hMubeh}(h]h ](jOstructeh"]h$]h&]j~jOjjQ"jjQ"jjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj]"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY"ubh:}(hjY"hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjU"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; };}hjv"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.hhMhjU"ubj )}(h **Members**h]j)}(hj"h]hMembers}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjU"ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]jD)}(hj"h]hheader}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj"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]j )}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj"hMhj"ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj"hMhj"ubj)}(h9``gain`` The digital gain value to apply, in Q5.8 format.h](j)}(h``gain``h]jD)}(hj"h]hgain}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj"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]j )}(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&]uh1j h/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&]uh1jhjU"ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hj"#h]h Description}(hj$#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj #ubah}(h]h ]h"]h$]h&]uh1j h/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;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.}(hj8#hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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 }(hjG#hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]jD)}(hjQ#h]hmali_c55_param_block_type}(hjS#hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChjO#ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_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.hhMhjG#ubh for this block.}(hjG#hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjn#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&]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 ]j'ah"]h$]h&]uh1jhj#hhhj#hMubj,)}(hmali_c55_awb_stats_modeh]j2)}(hj#h]hmali_c55_awb_stats_mode}(hj#hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj#ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj#hhhj#hMubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj#hhhj#hMubah}(h]j#ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj#hMhj#hhubj^)}(hhh]j )}(hStatistics mode for AWBh]hStatistics mode for AWB}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hj#hhhj#hMubeh}(h]h ](jOenumeh"]h$]h&]j~jOjj#jj#jjjuh1jhhhjhjhNubj)}(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](j )}(h **Constants**h]j)}(hj#h]h Constants}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1j h/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]jD)}(hj$h]hMALI_C55_AWB_MODE_GRBR}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj$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]j )}(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&]uh1j hj*$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]jD)}(hjN$h]hMALI_C55_AWB_MODE_RGBG}(hjP$hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjL$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.hhMhjH$ubj)}(hhh]j )}(h7Statistics collected as Red/Green and Blue/Green ratiosh]h7Statistics collected as Red/Green and Blue/Green ratios}(hjg$hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjd$ubah}(h]h ]h"]h$]h&]uh1jhjH$ubeh}(h]h ]h"]h$]h&]uh1jhjc$hMhj $ubeh}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj)}(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 )}(hj h]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 ]j'ah"]h$]h&]uh1jhj$hhhj$hMubj,)}(hmali_c55_params_awb_gainsh]j2)}(hj$h]hmali_c55_params_awb_gains}(hj$hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj$ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj$hhhj$hMubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj$hhhj$hMubah}(h]j$ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj$hMhj$hhubj^)}(hhh]j )}(h$Gain settings for auto white balanceh]h$Gain settings for auto white balance}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1j]hj$hhhj$hMubeh}(h]h ](jOstructeh"]h$]h&]j~jOjj%jj%jjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj %ubh:}(hj %hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/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%ubj )}(h **Members**h]j)}(hj8%h]hMembers}(hj:%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6%ubah}(h]h ]h"]h$]h&]uh1j h/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]jD)}(hjW%h]hheader}(hjY%hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjU%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.hhMhjQ%ubj)}(hhh]j )}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hjp%hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjl%hMhjm%ubah}(h]h ]h"]h$]h&]uh1jhjQ%ubeh}(h]h ]h"]h$]h&]uh1jhjl%hMhjN%ubj)}(h,``gain00`` Multiplier for colour channel 00 h](j)}(h ``gain00``h]jD)}(hj%h]hgain00}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj%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]j )}(h Multiplier for colour channel 00h]h Multiplier for colour channel 00}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj%hMhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj%hMhjN%ubj)}(h,``gain01`` Multiplier for colour channel 01 h](j)}(h ``gain01``h]jD)}(hj%h]hgain01}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj%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]j )}(h Multiplier for colour channel 01h]h Multiplier for colour channel 01}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj%hMhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj%hMhjN%ubj)}(h,``gain10`` Multiplier for colour channel 10 h](j)}(h ``gain10``h]jD)}(hj&h]hgain10}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj&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]j )}(h Multiplier for colour channel 10h]h Multiplier for colour channel 10}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj&hMhj&ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj&hMhjN%ubj)}(h+``gain11`` Multiplier for colour channel 11h](j)}(h ``gain11``h]jD)}(hj;&h]hgain11}(hj=&hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj9&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.hhMhj5&ubj)}(hhh]j )}(h Multiplier for colour channel 11h]h Multiplier for colour channel 11}(hjT&hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjQ&ubah}(h]h ]h"]h$]h&]uh1jhj5&ubeh}(h]h ]h"]h$]h&]uh1jhjP&hMhjN%ubeh}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hj~&h]h Description}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|&ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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&]uh1j h/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}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.hhMhjhhubj )}(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&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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]jD)}(hj&h]hmali_c55_param_block_type}(hj&hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChj&ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_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&]uh1j hj&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 ]j'ah"]h$]h&]uh1jhj'hhhj'hMubj,)}(hmali_c55_params_awb_tap_pointsh]j2)}(hj'h]hmali_c55_params_awb_tap_points}(hj,'hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj('ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj'hhhj'hMubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj'hhhj'hMubah}(h]j&ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj'hMhj'hhubj^)}(hhh]j )}(h!Tap points for the AWB statisticsh]h!Tap points for the AWB statistics}(hjN'hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjK'hhubah}(h]h ]h"]h$]h&]uh1j]hj'hhhj'hMubeh}(h]h ](jOenumeh"]h$]h&]j~jOjjf'jjf'jjjuh1jhhhjhjhNubj)}(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](j )}(h **Constants**h]j)}(hjp'h]h Constants}(hjr'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjn'ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM hjj'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]jD)}(hj'h]hMALI_C55_AWB_STATS_TAP_PF}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj'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]j )}(h)Immediately after the Purple Fringe blockh]h)Immediately after the Purple Fringe block}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj'hM hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'hM hj'ubj)}(h>``MALI_C55_AWB_STATS_TAP_CNR`` Immediately after the CNR blockh](j)}(h``MALI_C55_AWB_STATS_TAP_CNR``h]jD)}(hj'h]hMALI_C55_AWB_STATS_TAP_CNR}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj'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]j )}(hImmediately after the CNR blockh]hImmediately after the CNR block}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhjj'ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj)}(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 )}(hj h]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 }(hj0(hhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhj(hhhj/(hMubj,)}(hmali_c55_params_awb_configh]j2)}(hj(h]hmali_c55_params_awb_config}(hjB(hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj>(ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj(hhhj/(hMubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj(hhhj/(hMubah}(h]j(ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj/(hMhj(hhubj^)}(hhh]j )}(h%Stats settings for auto-white balanceh]h%Stats settings for auto-white balance}(hjd(hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhja(hhubah}(h]h ]h"]h$]h&]uh1j]hj(hhhj/(hMubeh}(h]h ](jOstructeh"]h$]h&]j~jOjj|(jj|(jjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh:}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/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)}(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; };}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(ubj )}(h **Members**h]j)}(hj(h]hMembers}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1j h/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](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]jD)}(hj(h]hheader}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj(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.hhM9hj(ubj)}(hhh]j )}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj(hM9hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(hM9hj(ubj)}(hE``tap_point`` The tap point from enum mali_c55_params_awb_tap_points h](j)}(h ``tap_point``h]jD)}(hj )h]h tap_point}(hj )hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj)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]j )}(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&]uh1j hj)hM:hj )ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)hM:hj(ubj)}(hU``stats_mode`` AWB statistics collection mode, see :c:type:`mali_c55_awb_stats_mode` h](j)}(h``stats_mode``h]jD)}(hjC)h]h stats_mode}(hjE)hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjA)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]j )}(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]jD)}(hjf)h]hmali_c55_awb_stats_mode}(hjh)hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChjd)ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_c55_awb_stats_modeuh1hhjX)hM;hj\)ubeh}(h]h ]h"]h$]h&]uh1j hjX)hM;hjY)ubah}(h]h ]h"]h$]h&]uh1jhj=)ubeh}(h]h ]h"]h$]h&]uh1jhjX)hM;hj(ubj)}(hD``white_level`` Upper pixel intensity (I.E. raw pixel values) limit h](j)}(h``white_level``h]jD)}(hj)h]h white_level}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj)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]j )}(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&]uh1j hj)hM<hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)hM<hj(ubj)}(hD``black_level`` Lower pixel intensity (I.E. raw pixel values) limit h](j)}(h``black_level``h]jD)}(hj)h]h black_level}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj)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]j )}(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&]uh1j hj)hM=hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)hM=hj(ubj)}(h+``cr_max`` Maximum R/G ratio (Q4.8 format) h](j)}(h ``cr_max``h]jD)}(hj *h]hcr_max}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj *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]j )}(hMaximum R/G ratio (Q4.8 format)h]hMaximum R/G ratio (Q4.8 format)}(hj&*hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj"*hM>hj#*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj"*hM>hj(ubj)}(h+``cr_min`` Minimum R/G ratio (Q4.8 format) h](j)}(h ``cr_min``h]jD)}(hjF*h]hcr_min}(hjH*hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjD*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]j )}(hMinimum R/G ratio (Q4.8 format)h]hMinimum R/G ratio (Q4.8 format)}(hj_*hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj[*hM?hj\*ubah}(h]h ]h"]h$]h&]uh1jhj@*ubeh}(h]h ]h"]h$]h&]uh1jhj[*hM?hj(ubj)}(h+``cb_max`` Maximum B/G ratio (Q4.8 format) h](j)}(h ``cb_max``h]jD)}(hj*h]hcb_max}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj}*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@hjy*ubj)}(hhh]j )}(hMaximum B/G ratio (Q4.8 format)h]hMaximum B/G ratio (Q4.8 format)}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj*hM@hj*ubah}(h]h ]h"]h$]h&]uh1jhjy*ubeh}(h]h ]h"]h$]h&]uh1jhj*hM@hj(ubj)}(h+``cb_min`` Minimum B/G ratio (Q4.8 format) h](j)}(h ``cb_min``h]jD)}(hj*h]hcb_min}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj*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.hhMAhj*ubj)}(hhh]j )}(hMinimum B/G ratio (Q4.8 format)h]hMinimum B/G ratio (Q4.8 format)}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj*hMAhj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj*hMAhj(ubj)}(hA``nodes_used_horiz`` Number of active zones horizontally [0..15] h](j)}(h``nodes_used_horiz``h]jD)}(hj*h]hnodes_used_horiz}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj*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]j )}(h+Number of active zones horizontally [0..15]h]h+Number of active zones horizontally [0..15]}(hj +hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj+hMBhj+ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj+hMBhj(ubj)}(h>``nodes_used_vert`` Number of active zones vertically [0..15] h](j)}(h``nodes_used_vert``h]jD)}(hj*+h]hnodes_used_vert}(hj,+hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj(+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]j )}(h)Number of active zones vertically [0..15]h]h)Number of active zones vertically [0..15]}(hjC+hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj?+hMChj@+ubah}(h]h ]h"]h$]h&]uh1jhj$+ubeh}(h]h ]h"]h$]h&]uh1jhj?+hMChj(ubj)}(h.``cr_high`` R/G ratio trim high (Q4.8 format) h](j)}(h ``cr_high``h]jD)}(hjc+h]hcr_high}(hje+hhhNhNubah}(h]h ]h"]h$]h&]uh1jChja+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]j )}(h!R/G ratio trim high (Q4.8 format)h]h!R/G ratio trim high (Q4.8 format)}(hj|+hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjx+hMDhjy+ubah}(h]h ]h"]h$]h&]uh1jhj]+ubeh}(h]h ]h"]h$]h&]uh1jhjx+hMDhj(ubj)}(h,``cr_low`` R/G ratio trim low (Q4.8 format) h](j)}(h ``cr_low``h]jD)}(hj+h]hcr_low}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj+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]j )}(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&]uh1j hj+hMEhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hMEhj(ubj)}(h.``cb_high`` B/G ratio trim high (Q4.8 format) h](j)}(h ``cb_high``h]jD)}(hj+h]hcb_high}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj+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]j )}(h!B/G ratio trim high (Q4.8 format)h]h!B/G ratio trim high (Q4.8 format)}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj+hMFhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+hMFhj(ubj)}(h+``cb_low`` B/G ratio trim low (Q4.8 format)h](j)}(h ``cb_low``h]jD)}(hj,h]hcb_low}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj ,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]j )}(h B/G ratio trim low (Q4.8 format)h]h B/G ratio trim low (Q4.8 format)}(hj',hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMGhj$,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj#,hMFhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hjQ,h]h Description}(hjS,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjO,ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMJhjhhubj )}(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:}(hjg,hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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}hjv,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.hhMhjhhubj )}(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 }(hj,hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]jD)}(hj,h]hmali_c55_param_block_type}(hj,hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChj,ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_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.hhM4hj,ubh for this block.}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj,hM4hjhhubj)}(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 )}(hj h]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.hhM:ubj)}(h h]h }(hj,hhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhj,hhhj,hM:ubj,)}(h#mali_c55_params_mesh_shading_configh]j2)}(hj,h]h#mali_c55_params_mesh_shading_config}(hj,hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hj,ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hj,hhhj,hM:ubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhj,hhhj,hM:ubah}(h]j,ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhj,hM:hj,hhubj^)}(hhh]j )}(hMesh shading configurationh]hMesh shading configuration}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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-hhubah}(h]h ]h"]h$]h&]uh1j]hj,hhhj,hM:ubeh}(h]h ](jOstructeh"]h$]h&]j~jOjj*-jj*-jjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj6-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2-ubh:}(hj2-hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMahj.-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]; };}hjO-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.hhMchj.-ubj )}(h **Members**h]j)}(hj`-h]hMembers}(hjb-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^-ubah}(h]h ]h"]h$]h&]uh1j h/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](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]jD)}(hj-h]hheader}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj}-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.hhMhjy-ubj)}(hhh]j )}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj-hMhj-ubah}(h]h ]h"]h$]h&]uh1jhjy-ubeh}(h]h ]h"]h$]h&]uh1jhj-hMhjv-ubj)}(h:``mesh_show`` Output the mesh data rather than image data h](j)}(h ``mesh_show``h]jD)}(hj-h]h mesh_show}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj-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]j )}(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&]uh1j hj-hMhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj-hMhjv-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]jD)}(hj-h]h mesh_scale}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj-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]j )}(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&]uh1j h/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.ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj.hMhjv-ubj)}(h=``mesh_page_r`` Mesh page select for red colour plane [0..2] h](j)}(h``mesh_page_r``h]jD)}(hj+.h]h mesh_page_r}(hj-.hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj).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]j )}(h,Mesh page select for red colour plane [0..2]h]h,Mesh page select for red colour plane [0..2]}(hjD.hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj@.hMhjA.ubah}(h]h ]h"]h$]h&]uh1jhj%.ubeh}(h]h ]h"]h$]h&]uh1jhj@.hMhjv-ubj)}(h?``mesh_page_g`` Mesh page select for green colour plane [0..2] h](j)}(h``mesh_page_g``h]jD)}(hjd.h]h mesh_page_g}(hjf.hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjb.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]j )}(h.Mesh page select for green colour plane [0..2]h]h.Mesh page select for green colour plane [0..2]}(hj}.hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjy.hMhjz.ubah}(h]h ]h"]h$]h&]uh1jhj^.ubeh}(h]h ]h"]h$]h&]uh1jhjy.hMhjv-ubj)}(h>``mesh_page_b`` Mesh page select for blue colour plane [0..2] h](j)}(h``mesh_page_b``h]jD)}(hj.h]h mesh_page_b}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj.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]j )}(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&]uh1j hj.hMhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hMhjv-ubj)}(h:``mesh_width`` Number of horizontal nodes minus 1 [15,31] h](j)}(h``mesh_width``h]jD)}(hj.h]h mesh_width}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj.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]j )}(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&]uh1j hj.hMhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.hMhjv-ubj)}(h9``mesh_height`` Number of vertical nodes minus 1 [15,31] h](j)}(h``mesh_height``h]jD)}(hj/h]h mesh_height}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj /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]j )}(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&]uh1j hj$/hMhj%/ubah}(h]h ]h"]h$]h&]uh1jhj /ubeh}(h]h ]h"]h$]h&]uh1jhj$/hMhjv-ubj)}(h'``mesh`` Mesh shading correction tablesh](j)}(h``mesh``h]jD)}(hjH/h]hmesh}(hjJ/hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjF/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]j )}(hMesh shading correction tablesh]hMesh shading correction tables}(hja/hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhjB/ubeh}(h]h ]h"]h$]h&]uh1jhj]/hMhjv-ubeh}(h]h ]h"]h$]h&]uh1jhj.-ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hj/h]h Description}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhM^hjhhubj )}(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:}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMchjhhubj)}(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 | +-----------+------------+-------+--------------+}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.hhMihjhhubj )}(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 }(hj/hhhNhNubj)}(h**mesh_scale**h]h mesh_scale}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubhN member determines the precision and minimum and maximum gain. For example if }(hj/hhhNhNubj)}(h**mesh_scale**h]h mesh_scale}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubh 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.}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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]jD)}(hj 0h]hmali_c55_param_block_type}(hj 0hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChj 0ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_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&]uh1j hj(0hMhjhhubj)}(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 )}(hj h]hstruct}(hjL0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjH0hhh/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 }(hjZ0hhhNhNubah}(h]h ]j'ah"]h$]h&]uh1jhjH0hhhjY0hMubj,)}(h&mali_c55_params_mesh_shading_selectionh]j2)}(hjF0h]h&mali_c55_params_mesh_shading_selection}(hjl0hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjh0ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjH0hhhjY0hMubeh}(h]h ]h"]h$]h&]hhjOuh1jjPjQhjD0hhhjY0hMubah}(h]j?0ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjY0hMhjA0hhubj^)}(hhh]j )}(hMesh table selectionh]hMesh table selection}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj0hhubah}(h]h ]h"]h$]h&]uh1j]hjA0hhhjY0hMubeh}(h]h ](jOstructeh"]h$]h&]j~jOjj0jj0jjjuh1jhhhjhjhNubj)}(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](j )}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubh:}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj0ubj)}(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; };}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.hhMhj0ubj )}(h **Members**h]j)}(hj0h]hMembers}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj0ubj)}(hhh](j)}(h0``header`` The Mali-C55 parameters block header h](j)}(h ``header``h]jD)}(hj0h]hheader}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj0ubah}(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.hhMhj0ubj)}(hhh]j )}(h$The Mali-C55 parameters block headerh]h$The Mali-C55 parameters block header}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj1hMhj1ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj1hMhj0ubj)}(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]jD)}(hj41h]hmesh_alpha_bank_r}(hj61hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj21ubah}(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.1ubj)}(hhh]j )}(hERed mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`)h](hRed mesh table select (c:type:}(hjM1hhhNhNubhtitle_reference)}(h&`enum mali_c55_params_mesh_alpha_bank`h]h$enum mali_c55_params_mesh_alpha_bank}(hjW1hhhNhNubah}(h]h ]h"]h$]h&]uh1jU1hjM1ubh)}(hjM1hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjI1hMhjJ1ubah}(h]h ]h"]h$]h&]uh1jhj.1ubeh}(h]h ]h"]h$]h&]uh1jhjI1hMhj0ubj)}(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]jD)}(hj1h]hmesh_alpha_bank_g}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj1ubah}(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{1ubj)}(hhh]j )}(hGGreen mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`)h](h Green mesh table select (c:type:}(hj1hhhNhNubjV1)}(h&`enum mali_c55_params_mesh_alpha_bank`h]h$enum mali_c55_params_mesh_alpha_bank}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jU1hj1ubh)}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj1hMhj1ubah}(h]h ]h"]h$]h&]uh1jhj{1ubeh}(h]h ]h"]h$]h&]uh1jhj1hMhj0ubj)}(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]jD)}(hj1h]hmesh_alpha_bank_b}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj1ubah}(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]j )}(hFBlue mesh table select (c:type:`enum mali_c55_params_mesh_alpha_bank`)h](hBlue mesh table select (c:type:}(hj1hhhNhNubjV1)}(h&`enum mali_c55_params_mesh_alpha_bank`h]h$enum mali_c55_params_mesh_alpha_bank}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jU1hj1ubh)}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj1hMhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1hMhj0ubj)}(h2``mesh_alpha_r`` Blend coefficient for R [0..255] h](j)}(h``mesh_alpha_r``h]jD)}(hj2h]h mesh_alpha_r}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj2ubah}(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]j )}(h Blend coefficient for R [0..255]h]h Blend coefficient for R [0..255]}(hj02hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj,2hMhj-2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj,2hMhj0ubj)}(h2``mesh_alpha_g`` Blend coefficient for G [0..255] h](j)}(h``mesh_alpha_g``h]jD)}(hjP2h]h mesh_alpha_g}(hjR2hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjN2ubah}(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.hhMhjJ2ubj)}(hhh]j )}(h Blend coefficient for G [0..255]h]h Blend coefficient for G [0..255]}(hji2hhhNhNubah}(h]h ]h"]h$]h&]uh1j hje2hMhjf2ubah}(h]h ]h"]h$]h&]uh1jhjJ2ubeh}(h]h ]h"]h$]h&]uh1jhje2hMhj0ubj)}(h2``mesh_alpha_b`` Blend coefficient for B [0..255] h](j)}(h``mesh_alpha_b``h]jD)}(hj2h]h mesh_alpha_b}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj2ubah}(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]j )}(h Blend coefficient for B [0..255]h]h Blend coefficient for B [0..255]}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj2hMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2hMhj0ubj)}(h9``mesh_strength`` Mesh strength in Q4.12 format [0..4096]h](j)}(h``mesh_strength``h]jD)}(hj2h]h mesh_strength}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj2ubah}(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]j )}(h'Mesh strength in Q4.12 format [0..4096]h]h'Mesh strength in Q4.12 format [0..4096]}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2hMhj0ubeh}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubj )}(h**Description**h]j)}(hj3h]h Description}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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}(hj#3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubh /g/b fields.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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:}(hj<3hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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]j )}(hIFinal coefficient = (a * LS\ :sub:`b`\ + (256 - a) * LS\ :sub:`a`\) / 256h](hFinal coefficient = (a * LS }(hjO3hhhNhNubh subscript)}(h:sub:`b`h]hb}(hjY3hhhNhNubah}(h]h ]h"]h$]h&]uh1jW3hjO3ubh + (256 - a) * LS }(hjO3hhhNhNubjX3)}(h:sub:`a`h]ha}(hjk3hhhNhNubah}(h]h ]h"]h$]h&]uh1jW3hjO3ubh) / 256}(hjO3hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjK3ubah}(h]h ]h"]h$]h&]uh1jhj3hMhjhhubj )}(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 }(hj3hhhNhNubj)}(h**mesh_alpha_r**h]h mesh_alpha_r}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubh/g/b value, and LS }(hj3hhhNhNubjX3)}(h:sub:`a`h]ha}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jW3hj3ubh and LS }(hj3hhhNhNubjX3)}(h:sub:`b`h]hb}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jW3hj3ubh> are the node cofficients for the two tables selected by the }(hj3hhhNhNubj)}(h**mesh_alpha_bank_r**h]hmesh_alpha_bank_r}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubh /g/b value.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhjhhubj )}(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 }(hj3hhhNhNubj)}(h**mesh_strength**h]h mesh_strength}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubhm member. This is a modifier to the final coefficients which can be used to globally reduce the gains applied.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1j h/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{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]jD)}(hj 4h]hmali_c55_param_block_type}(hj4hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChj 4ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_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&]uh1j hj)4hMhjhhubj)}(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]j2)}(hjG4h]hMALI_C55_PARAMS_MAX_SIZE}(hjQ4hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j1hjM4ubah}(h]h ](jDjEeh"]h$]h&]hhuh1j+hjI4hhh/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&]hhjOuh1jjPjQhjE4hhhjd4hMubah}(h]j@4ah ](jUjVeh"]h$]h&]jZj[)j\huh1jhjd4hMhjB4hhubj^)}(hhh]h}(h]h ]h"]h$]h&]uh1j]hjB4hhhjd4hMubeh}(h]h ](jOmacroeh"]h$]h&]j~jOjj}4jj}4jjjuh1jhhhjhjhNubj )}(h``MALI_C55_PARAMS_MAX_SIZE``h]jD)}(hj4h]hMALI_C55_PARAMS_MAX_SIZE}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj4ubah}(h]h ]h"]h$]h&]uh1j h/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]j )}(h'Maximum size of all Mali C55 Parametersh]h'Maximum size of all Mali C55 Parameters}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/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&]uh1jhj4hMhj4ubj )}(h**Description**h]j)}(hj4h]h Description}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj4ubj )}(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.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j h/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/metafmt-arm-mali-c55:84: ./include/uapi/linux/media/arm/mali-c55-config.hhMhj4ubj )}(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 }(hj4hhhNhNubh)}(h#:c:type:`mali_c55_param_block_type`h]jD)}(hj4h]hmali_c55_param_block_type}(hj4hhhNhNubah}(h]h ](j&jOc-typeeh"]h$]h&]uh1jChj4ubah}(h]h ]h"]h$]h&]refdocj3 refdomainjOreftypetype refexplicitrefwarnj+j/j9mali_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.}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj5hMhj4ubeh}(h]h ]h"]h$]h&]uh1jhj4hMhjhhubeh}(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}(j#5hhhuh}(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_handlerjK5error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _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}(hhj#5hj"5j5jjjjj5j5u nametypes}(hj#5j"5jjj5uh}(hhhhj5hjhjjj5jjjj&j+jj!jjj j j j jjjKjPjjjjjjjjjjjjj!j!j#j#j$j$j&j'j(j(j,j,j?0jD0j@4jE4u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages](hsystem_message)}(hhh]j )}(hhh]hCHyperlink target "v4l2-meta-fmt-mali-c55-params" is not referenced.}hj5sbah}(h]h ]h"]h$]h&]uh1j hj5ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehnjlineKuh1j5ubj5)}(hhh]j )}(hhh]hBHyperlink target "v4l2-meta-fmt-mali-c55-stats" is not referenced.}hj5sbah}(h]h ]h"]h$]h&]uh1j hj5ubah}(h]h ]h"]h$]h&]levelKtypej5sourcehnjlineKuh1j5ube transformerN include_log] decorationNhhub.