xsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget./translations/zh_CN/driver-api/media/v4l2-jpegmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/zh_TW/driver-api/media/v4l2-jpegmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/it_IT/driver-api/media/v4l2-jpegmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ja_JP/driver-api/media/v4l2-jpegmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ko_KR/driver-api/media/v4l2-jpegmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/pt_BR/driver-api/media/v4l2-jpegmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/sp_SP/driver-api/media/v4l2-jpegmodnameN 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:spacepreserveuh1hhhhhhH/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg.rsthKubhsection)}(hhh](htitle)}(h6V4L2 JPEG header related functions and data structuresh]h6V4L2 JPEG header related functions and data structures}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singlev4l2_jpeg_reference (C struct)c.v4l2_jpeg_referencehNtauh1hhhhhhNhNubhdesc)}(hhh](hdesc_signature)}(hv4l2_jpeg_referenceh]hdesc_signature_line)}(hstruct v4l2_jpeg_referenceh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1hhhhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhhhhhjhKubh desc_name)}(hv4l2_jpeg_referenceh]h desc_sig_name)}(hhh]hv4l2_jpeg_reference}(hj*hhhNhNubah}(h]h ]nah"]h$]h&]uh1j(hj$ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j"hhhhhjhKubeh}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1hsphinx_line_type declaratorhhhhhjhKubah}(h]hah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1hhjhKhhhhubh desc_content)}(hhh]h paragraph)}(hreference into the JPEG bufferh]hreference into the JPEG buffer}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK+hjVhhubah}(h]h ]h"]h$]h&]uh1jThhhhhjhKubeh}(h]h ](cstructeh"]h$]h&]domainjsobjtypejtdesctypejtnoindex noindexentrynocontentsentryuh1hhhhhhNhNubh container)}(hX **Definition**:: struct v4l2_jpeg_reference { u8 *start; size_t length; }; **Members** ``start`` pointer to the start of the referenced segment or table ``length`` size of the referenced segment or table **Description** Wnen referencing marker segments, start points right after the marker code, and length is the size of the segment parameters, excluding the marker code.h](h block_quote)}(h`**Definition**:: struct v4l2_jpeg_reference { u8 *start; size_t length; }; h](jZ)}(h**Definition**::h](hstrong)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK/hjubh literal_block)}(hEstruct v4l2_jpeg_reference { u8 *start; size_t length; };h]hEstruct v4l2_jpeg_reference { u8 *start; size_t length; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK1hjubeh}(h]h ]h"]h$]h&]uh1jhjhK/hjubjZ)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK6hjubhdefinition_list)}(hhh](hdefinition_list_item)}(hB``start`` pointer to the start of the referenced segment or table h](hterm)}(h ``start``h]hliteral)}(hjh]hstart}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK-hjubh definition)}(hhh]jZ)}(h7pointer to the start of the referenced segment or tableh]h7pointer to the start of the referenced segment or table}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhK-hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK-hjubj)}(h4``length`` size of the referenced segment or table h](j)}(h ``length``h]j)}(hj$h]hlength}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK/hjubj)}(hhh]jZ)}(h'size of the referenced segment or tableh]h'size of the referenced segment or table}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK.hj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj9hK/hjubeh}(h]h ]h"]h$]h&]uh1jhjubjZ)}(h**Description**h]j)}(hj`h]h Description}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK1hjubjZ)}(hWnen referencing marker segments, start points right after the marker code, and length is the size of the segment parameters, excluding the marker code.h]hWnen referencing marker segments, start points right after the marker code, and length is the size of the segment parameters, excluding the marker code.}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK.hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j~hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h)v4l2_jpeg_frame_component_spec (C struct) c.v4l2_jpeg_frame_component_spechNtauh1hhhhhhNhNubh)}(hhh](h)}(hv4l2_jpeg_frame_component_spech]h)}(h%struct v4l2_jpeg_frame_component_spech](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK4ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhK4ubj#)}(hv4l2_jpeg_frame_component_spech]j))}(hjh]hv4l2_jpeg_frame_component_spec}(hjhhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hjubah}(h]h ](j;j<eh"]h$]h&]hhuh1j"hjhhhjhK4ubeh}(h]h ]h"]h$]h&]hhjFuh1hjGjHhjhhhjhK4ubah}(h]jah ](jLjMeh"]h$]h&]jQjR)jShuh1hhjhK4hjhhubjU)}(hhh]jZ)}(hframe component-specificationh]hframe component-specification}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK:hjhhubah}(h]h ]h"]h$]h&]uh1jThjhhhjhK4ubeh}(h]h ](jsstructeh"]h$]h&]jxjsjyjjzjj{j|j}uh1hhhhhhNhNubj)}(hX **Definition**:: struct v4l2_jpeg_frame_component_spec { u8 component_identifier; u8 horizontal_sampling_factor; u8 vertical_sampling_factor; u8 quantization_table_selector; }; **Members** ``component_identifier`` C[i] ``horizontal_sampling_factor`` H[i] ``vertical_sampling_factor`` V[i] ``quantization_table_selector`` quantization table destination selector Tq[i]h](j)}(h**Definition**:: struct v4l2_jpeg_frame_component_spec { u8 component_identifier; u8 horizontal_sampling_factor; u8 vertical_sampling_factor; u8 quantization_table_selector; }; h](jZ)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK>hjubj)}(hstruct v4l2_jpeg_frame_component_spec { u8 component_identifier; u8 horizontal_sampling_factor; u8 vertical_sampling_factor; u8 quantization_table_selector; };h]hstruct v4l2_jpeg_frame_component_spec { u8 component_identifier; u8 horizontal_sampling_factor; u8 vertical_sampling_factor; u8 quantization_table_selector; };}hj(sbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK@hjubeh}(h]h ]h"]h$]h&]uh1jhj'hK>hjubjZ)}(h **Members**h]j)}(hj?h]hMembers}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKGhjubj)}(hhh](j)}(h``component_identifier`` C[i] h](j)}(h``component_identifier``h]j)}(hj^h]hcomponent_identifier}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjubj)}(hhh]jZ)}(hV[i]h]hV[i]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhK>hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK>hjUubj)}(hM``quantization_table_selector`` quantization table destination selector Tq[i]h](j)}(h``quantization_table_selector``h]j)}(hj h]hquantization_table_selector}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK>hjubj)}(hhh]jZ)}(h-quantization table destination selector Tq[i]h]h-quantization table destination selector Tq[i]}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK?hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK>hjUubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1j~hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h!v4l2_jpeg_frame_header (C struct)c.v4l2_jpeg_frame_headerhNtauh1hhhhhhNhNubh)}(hhh](h)}(hv4l2_jpeg_frame_headerh]h)}(hstruct v4l2_jpeg_frame_headerh](j)}(hjh]hstruct}(hjchhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj_hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKEubj)}(h h]h }(hjqhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj_hhhjphKEubj#)}(hv4l2_jpeg_frame_headerh]j))}(hj]h]hv4l2_jpeg_frame_header}(hjhhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hjubah}(h]h ](j;j<eh"]h$]h&]hhuh1j"hj_hhhjphKEubeh}(h]h ]h"]h$]h&]hhjFuh1hjGjHhj[hhhjphKEubah}(h]jVah ](jLjMeh"]h$]h&]jQjR)jShuh1hhjphKEhjXhhubjU)}(hhh]jZ)}(hJPEG frame headerh]hJPEG frame header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKHhjhhubah}(h]h ]h"]h$]h&]uh1jThjXhhhjphKEubeh}(h]h ](jsstructeh"]h$]h&]jxjsjyjjzjj{j|j}uh1hhhhhhNhNubj)}(hX **Definition**:: struct v4l2_jpeg_frame_header { u16 height; u16 width; u8 precision; u8 num_components; struct v4l2_jpeg_frame_component_spec component[V4L2_JPEG_MAX_COMPONENTS]; enum v4l2_jpeg_chroma_subsampling subsampling; }; **Members** ``height`` Y ``width`` X ``precision`` P ``num_components`` Nf ``component`` component-specification, see v4l2_jpeg_frame_component_spec ``subsampling`` decoded subsampling from component-specificationh](j)}(hX**Definition**:: struct v4l2_jpeg_frame_header { u16 height; u16 width; u8 precision; u8 num_components; struct v4l2_jpeg_frame_component_spec component[V4L2_JPEG_MAX_COMPONENTS]; enum v4l2_jpeg_chroma_subsampling subsampling; }; h](jZ)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKLhjubj)}(hstruct v4l2_jpeg_frame_header { u16 height; u16 width; u8 precision; u8 num_components; struct v4l2_jpeg_frame_component_spec component[V4L2_JPEG_MAX_COMPONENTS]; enum v4l2_jpeg_chroma_subsampling subsampling; };h]hstruct v4l2_jpeg_frame_header { u16 height; u16 width; u8 precision; u8 num_components; struct v4l2_jpeg_frame_component_spec component[V4L2_JPEG_MAX_COMPONENTS]; enum v4l2_jpeg_chroma_subsampling subsampling; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKNhjubeh}(h]h ]h"]h$]h&]uh1jhjhKLhjubjZ)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKWhjubj)}(hhh](j)}(h ``height`` Y h](j)}(h ``height``h]j)}(hjh]hheight}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKJhjubj)}(hhh]jZ)}(hYh]hY}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhj1hKJhj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj1hKJhjubj)}(h ``width`` X h](j)}(h ``width``h]j)}(hjUh]hwidth}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKKhjOubj)}(hhh]jZ)}(hXh]hX}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjjhKKhjkubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjjhKKhjubj)}(h``precision`` P h](j)}(h ``precision``h]j)}(hjh]h precision}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKLhjubj)}(hhh]jZ)}(hPh]hP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhKLhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKLhjubj)}(h``num_components`` Nf h](j)}(h``num_components``h]j)}(hjh]hnum_components}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKMhjubj)}(hhh]jZ)}(hNfh]hNf}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhKMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKMhjubj)}(hJ``component`` component-specification, see v4l2_jpeg_frame_component_spec h](j)}(h ``component``h]j)}(hjh]h component}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKNhjubj)}(hhh]jZ)}(h;component-specification, see v4l2_jpeg_frame_component_spech]h;component-specification, see v4l2_jpeg_frame_component_spec}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhKNhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKNhjubj)}(h@``subsampling`` decoded subsampling from component-specificationh](j)}(h``subsampling``h]j)}(hj9h]h subsampling}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKNhj3ubj)}(hhh]jZ)}(h0decoded subsampling from component-specificationh]h0decoded subsampling from component-specification}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKOhjOubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjNhKNhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1j~hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h(v4l2_jpeg_scan_component_spec (C struct)c.v4l2_jpeg_scan_component_spechNtauh1hhhhhhNhNubh)}(hhh](h)}(hv4l2_jpeg_scan_component_spech]h)}(h$struct v4l2_jpeg_scan_component_spech](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKUubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKUubj#)}(hv4l2_jpeg_scan_component_spech]j))}(hjh]hv4l2_jpeg_scan_component_spec}(hjhhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hjubah}(h]h ](j;j<eh"]h$]h&]hhuh1j"hjhhhjhKUubeh}(h]h ]h"]h$]h&]hhjFuh1hjGjHhjhhhjhKUubah}(h]jah ](jLjMeh"]h$]h&]jQjR)jShuh1hhjhKUhjhhubjU)}(hhh]jZ)}(hscan component-specificationh]hscan component-specification}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK\hjhhubah}(h]h ]h"]h$]h&]uh1jThjhhhjhKUubeh}(h]h ](jsstructeh"]h$]h&]jxjsjyjjzjj{j|j}uh1hhhhhhNhNubj)}(hXM **Definition**:: struct v4l2_jpeg_scan_component_spec { u8 component_selector; u8 dc_entropy_coding_table_selector; u8 ac_entropy_coding_table_selector; }; **Members** ``component_selector`` Cs[j] ``dc_entropy_coding_table_selector`` Td[j] ``ac_entropy_coding_table_selector`` Ta[j]h](j)}(h**Definition**:: struct v4l2_jpeg_scan_component_spec { u8 component_selector; u8 dc_entropy_coding_table_selector; u8 ac_entropy_coding_table_selector; }; h](jZ)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK`hjubj)}(hstruct v4l2_jpeg_scan_component_spec { u8 component_selector; u8 dc_entropy_coding_table_selector; u8 ac_entropy_coding_table_selector; };h]hstruct v4l2_jpeg_scan_component_spec { u8 component_selector; u8 dc_entropy_coding_table_selector; u8 ac_entropy_coding_table_selector; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKbhjubeh}(h]h ]h"]h$]h&]uh1jhjhK`hjubjZ)}(h **Members**h]j)}(hj-h]hMembers}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhhjubj)}(hhh](j)}(h``component_selector`` Cs[j] h](j)}(h``component_selector``h]j)}(hjLh]hcomponent_selector}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK^hjFubj)}(hhh]jZ)}(hCs[j]h]hCs[j]}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjahK^hjbubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjahK^hjCubj)}(h+``dc_entropy_coding_table_selector`` Td[j] h](j)}(h$``dc_entropy_coding_table_selector``h]j)}(hjh]h dc_entropy_coding_table_selector}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK_hjubj)}(hhh]jZ)}(hTd[j]h]hTd[j]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhK_hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK_hjCubj)}(h*``ac_entropy_coding_table_selector`` Ta[j]h](j)}(h$``ac_entropy_coding_table_selector``h]j)}(hjh]h ac_entropy_coding_table_selector}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK_hjubj)}(hhh]jZ)}(hTa[j]h]hTa[j]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK`hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK_hjCubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1j~hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h v4l2_jpeg_scan_header (C struct)c.v4l2_jpeg_scan_headerhNtauh1hhhhhhNhNubh)}(hhh](h)}(hv4l2_jpeg_scan_headerh]h)}(hstruct v4l2_jpeg_scan_headerh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKfubj)}(h h]h }(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj%hKfubj#)}(hv4l2_jpeg_scan_headerh]j))}(hjh]hv4l2_jpeg_scan_header}(hj8hhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hj4ubah}(h]h ](j;j<eh"]h$]h&]hhuh1j"hjhhhj%hKfubeh}(h]h ]h"]h$]h&]hhjFuh1hjGjHhjhhhj%hKfubah}(h]j ah ](jLjMeh"]h$]h&]jQjR)jShuh1hhj%hKfhj hhubjU)}(hhh]jZ)}(hJPEG scan headerh]hJPEG scan header}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhhjWhhubah}(h]h ]h"]h$]h&]uh1jThj hhhj%hKfubeh}(h]h ](jsstructeh"]h$]h&]jxjsjyjrjzjrj{j|j}uh1hhhhhhNhNubj)}(hX  **Definition**:: struct v4l2_jpeg_scan_header { u8 num_components; struct v4l2_jpeg_scan_component_spec component[V4L2_JPEG_MAX_COMPONENTS]; }; **Members** ``num_components`` Ns ``component`` component-specification, see v4l2_jpeg_scan_component_spech](j)}(h**Definition**:: struct v4l2_jpeg_scan_header { u8 num_components; struct v4l2_jpeg_scan_component_spec component[V4L2_JPEG_MAX_COMPONENTS]; }; h](jZ)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubh:}(hj~hhhNhNubeh}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKlhjzubj)}(hstruct v4l2_jpeg_scan_header { u8 num_components; struct v4l2_jpeg_scan_component_spec component[V4L2_JPEG_MAX_COMPONENTS]; };h]hstruct v4l2_jpeg_scan_header { u8 num_components; struct v4l2_jpeg_scan_component_spec component[V4L2_JPEG_MAX_COMPONENTS]; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKnhjzubeh}(h]h ]h"]h$]h&]uh1jhjhKlhjvubjZ)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKshjvubj)}(hhh](j)}(h``num_components`` Ns h](j)}(h``num_components``h]j)}(hjh]hnum_components}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKjhjubj)}(hhh]jZ)}(hNsh]hNs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhKjhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKjhjubj)}(hH``component`` component-specification, see v4l2_jpeg_scan_component_spech](j)}(h ``component``h]j)}(hj h]h component}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKjhj ubj)}(hhh]jZ)}(h:component-specification, see v4l2_jpeg_scan_component_spech]h:component-specification, see v4l2_jpeg_scan_component_spec}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKkhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKjhjubeh}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ] kernelindentah"]h$]h&]uh1j~hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hv4l2_jpeg_app14_tf (C enum)c.v4l2_jpeg_app14_tfhNtauh1hhhhhhNhNubh)}(hhh](h)}(hv4l2_jpeg_app14_tfh]h)}(henum v4l2_jpeg_app14_tfh](j)}(henumh]henum}(hjd hhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj` hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKqubj)}(h h]h }(hjs hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj` hhhjr hKqubj#)}(hv4l2_jpeg_app14_tfh]j))}(hj^ h]hv4l2_jpeg_app14_tf}(hj hhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hj ubah}(h]h ](j;j<eh"]h$]h&]hhuh1j"hj` hhhjr hKqubeh}(h]h ]h"]h$]h&]hhjFuh1hjGjHhj\ hhhjr hKqubah}(h]jW ah ](jLjMeh"]h$]h&]jQjR)jShuh1hhjr hKqhjY hhubjU)}(hhh]jZ)}(hAPP14 transform flag According to Rec. ITU-T T.872 (06/2012) 6.5.3 APP14 segment is for color encoding, it contains a transform flag, which may have values of 0, 1 and 2 and are interpreted as follows:h]hAPP14 transform flag According to Rec. ITU-T T.872 (06/2012) 6.5.3 APP14 segment is for color encoding, it contains a transform flag, which may have values of 0, 1 and 2 and are interpreted as follows:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKshj hhubah}(h]h ]h"]h$]h&]uh1jThjY hhhjr hKqubeh}(h]h ](jsenumeh"]h$]h&]jxjsjyj jzj j{j|j}uh1hhhhhhNhNubj)}(hXo**Constants** ``V4L2_JPEG_APP14_TF_CMYK_RGB`` CMYK for images encoded with four components RGB for images encoded with three components ``V4L2_JPEG_APP14_TF_YCBCR`` an image encoded with three components using YCbCr ``V4L2_JPEG_APP14_TF_YCCK`` an image encoded with four components using YCCK ``V4L2_JPEG_APP14_TF_UNKNOWN`` indicate app14 is not presenth](jZ)}(h **Constants**h]j)}(hj h]h Constants}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKwhj ubj)}(hhh](j)}(hz``V4L2_JPEG_APP14_TF_CMYK_RGB`` CMYK for images encoded with four components RGB for images encoded with three components h](j)}(h``V4L2_JPEG_APP14_TF_CMYK_RGB``h]j)}(hj h]hV4L2_JPEG_APP14_TF_CMYK_RGB}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK{hj ubj)}(hhh]jZ)}(hYCMYK for images encoded with four components RGB for images encoded with three componentsh]hYCMYK for images encoded with four components RGB for images encoded with three components}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKzhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hK{hj ubj)}(hP``V4L2_JPEG_APP14_TF_YCBCR`` an image encoded with three components using YCbCr h](j)}(h``V4L2_JPEG_APP14_TF_YCBCR``h]j)}(hj" h]hV4L2_JPEG_APP14_TF_YCBCR}(hj$ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK~hj ubj)}(hhh]jZ)}(h2an image encoded with three components using YCbCrh]h2an image encoded with three components using YCbCr}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhj7 hK~hj8 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj7 hK~hj ubj)}(hM``V4L2_JPEG_APP14_TF_YCCK`` an image encoded with four components using YCCK h](j)}(h``V4L2_JPEG_APP14_TF_YCCK``h]j)}(hj[ h]hV4L2_JPEG_APP14_TF_YCCK}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjY ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjU ubj)}(hhh]jZ)}(h0an image encoded with four components using YCCKh]h0an image encoded with four components using YCCK}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjp hKhjq ubah}(h]h ]h"]h$]h&]uh1jhjU ubeh}(h]h ]h"]h$]h&]uh1jhjp hKhj ubj)}(h<``V4L2_JPEG_APP14_TF_UNKNOWN`` indicate app14 is not presenth](j)}(h``V4L2_JPEG_APP14_TF_UNKNOWN``h]j)}(hj h]hV4L2_JPEG_APP14_TF_UNKNOWN}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(hindicate app14 is not presenth]hindicate app14 is not present}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1j~hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hv4l2_jpeg_header (C struct)c.v4l2_jpeg_headerhNtauh1hhhhhhNhNubh)}(hhh](h)}(hv4l2_jpeg_headerh]h)}(hstruct v4l2_jpeg_headerh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hKubj#)}(hv4l2_jpeg_headerh]j))}(hj h]hv4l2_jpeg_header}(hj hhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hj ubah}(h]h ](j;j<eh"]h$]h&]hhuh1j"hj hhhj hKubeh}(h]h ]h"]h$]h&]hhjFuh1hjGjHhj hhhj hKubah}(h]j ah ](jLjMeh"]h$]h&]jQjR)jShuh1hhj hKhj hhubjU)}(hhh]jZ)}(hparsed JPEG headerh]hparsed JPEG header}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj- hhubah}(h]h ]h"]h$]h&]uh1jThj hhhj hKubeh}(h]h ](jsstructeh"]h$]h&]jxjsjyjH jzjH j{j|j}uh1hhhhhhNhNubj)}(hX **Definition**:: struct v4l2_jpeg_header { struct v4l2_jpeg_reference sof; struct v4l2_jpeg_reference sos; unsigned int num_dht; struct v4l2_jpeg_reference dht[V4L2_JPEG_MAX_TABLES]; unsigned int num_dqt; struct v4l2_jpeg_reference dqt[V4L2_JPEG_MAX_TABLES]; struct v4l2_jpeg_frame_header frame; struct v4l2_jpeg_scan_header *scan; struct v4l2_jpeg_reference *quantization_tables; struct v4l2_jpeg_reference *huffman_tables; u16 restart_interval; size_t ecs_offset; enum v4l2_jpeg_app14_tf app14_tf; }; **Members** ``sof`` pointer to frame header and size ``sos`` pointer to scan header and size ``num_dht`` number of entries in **dht** ``dht`` pointers to huffman tables and sizes ``num_dqt`` number of entries in **dqt** ``dqt`` pointers to quantization tables and sizes ``frame`` parsed frame header ``scan`` pointer to parsed scan header, optional ``quantization_tables`` references to four quantization tables, optional ``huffman_tables`` references to four Huffman tables in DC0, DC1, AC0, AC1 order, optional ``restart_interval`` number of MCU per restart interval, Ri ``ecs_offset`` buffer offset in bytes to the entropy coded segment ``app14_tf`` transform flag from app14 data **Description** When this structure is passed to v4l2_jpeg_parse_header, the optional scan, quantization_tables, and huffman_tables pointers must be initialized to NULL or point at valid memory.h](j)}(hXd**Definition**:: struct v4l2_jpeg_header { struct v4l2_jpeg_reference sof; struct v4l2_jpeg_reference sos; unsigned int num_dht; struct v4l2_jpeg_reference dht[V4L2_JPEG_MAX_TABLES]; unsigned int num_dqt; struct v4l2_jpeg_reference dqt[V4L2_JPEG_MAX_TABLES]; struct v4l2_jpeg_frame_header frame; struct v4l2_jpeg_scan_header *scan; struct v4l2_jpeg_reference *quantization_tables; struct v4l2_jpeg_reference *huffman_tables; u16 restart_interval; size_t ecs_offset; enum v4l2_jpeg_app14_tf app14_tf; }; h](jZ)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjT ubh:}(hjT hhhNhNubeh}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjP ubj)}(hX3struct v4l2_jpeg_header { struct v4l2_jpeg_reference sof; struct v4l2_jpeg_reference sos; unsigned int num_dht; struct v4l2_jpeg_reference dht[V4L2_JPEG_MAX_TABLES]; unsigned int num_dqt; struct v4l2_jpeg_reference dqt[V4L2_JPEG_MAX_TABLES]; struct v4l2_jpeg_frame_header frame; struct v4l2_jpeg_scan_header *scan; struct v4l2_jpeg_reference *quantization_tables; struct v4l2_jpeg_reference *huffman_tables; u16 restart_interval; size_t ecs_offset; enum v4l2_jpeg_app14_tf app14_tf; };h]hX3struct v4l2_jpeg_header { struct v4l2_jpeg_reference sof; struct v4l2_jpeg_reference sos; unsigned int num_dht; struct v4l2_jpeg_reference dht[V4L2_JPEG_MAX_TABLES]; unsigned int num_dqt; struct v4l2_jpeg_reference dqt[V4L2_JPEG_MAX_TABLES]; struct v4l2_jpeg_frame_header frame; struct v4l2_jpeg_scan_header *scan; struct v4l2_jpeg_reference *quantization_tables; struct v4l2_jpeg_reference *huffman_tables; u16 restart_interval; size_t ecs_offset; enum v4l2_jpeg_app14_tf app14_tf; };}hjq sbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjP ubeh}(h]h ]h"]h$]h&]uh1jhjp hKhjL ubjZ)}(h **Members**h]j)}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjL ubj)}(hhh](j)}(h)``sof`` pointer to frame header and size h](j)}(h``sof``h]j)}(hj h]hsof}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(h pointer to frame header and sizeh]h pointer to frame header and size}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h(``sos`` pointer to scan header and size h](j)}(h``sos``h]j)}(hj h]hsos}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(hpointer to scan header and sizeh]hpointer to scan header and size}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h)``num_dht`` number of entries in **dht** h](j)}(h ``num_dht``h]j)}(hj h]hnum_dht}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(hnumber of entries in **dht**h](hnumber of entries in }(hj2 hhhNhNubj)}(h**dht**h]hdht}(hj: hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2 ubeh}(h]h ]h"]h$]h&]uh1jYhj. hKhj/ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj. hKhj ubj)}(h-``dht`` pointers to huffman tables and sizes h](j)}(h``dht``h]j)}(hj` h]hdht}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj^ ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjZ ubj)}(hhh]jZ)}(h$pointers to huffman tables and sizesh]h$pointers to huffman tables and sizes}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhju hKhjv ubah}(h]h ]h"]h$]h&]uh1jhjZ ubeh}(h]h ]h"]h$]h&]uh1jhju hKhj ubj)}(h)``num_dqt`` number of entries in **dqt** h](j)}(h ``num_dqt``h]j)}(hj h]hnum_dqt}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(hnumber of entries in **dqt**h](hnumber of entries in }(hj hhhNhNubj)}(h**dqt**h]hdqt}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jYhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h2``dqt`` pointers to quantization tables and sizes h](j)}(h``dqt``h]j)}(hj h]hdqt}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(h)pointers to quantization tables and sizesh]h)pointers to quantization tables and sizes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h``frame`` parsed frame header h](j)}(h ``frame``h]j)}(hj h]hframe}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(hparsed frame headerh]hparsed frame header}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhj. hKhj/ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj. hKhj ubj)}(h1``scan`` pointer to parsed scan header, optional h](j)}(h``scan``h]j)}(hjR h]hscan}(hjT hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjP ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjL ubj)}(hhh]jZ)}(h'pointer to parsed scan header, optionalh]h'pointer to parsed scan header, optional}(hjk hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjg hKhjh ubah}(h]h ]h"]h$]h&]uh1jhjL ubeh}(h]h ]h"]h$]h&]uh1jhjg hKhj ubj)}(hI``quantization_tables`` references to four quantization tables, optional h](j)}(h``quantization_tables``h]j)}(hj h]hquantization_tables}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(h0references to four quantization tables, optionalh]h0references to four quantization tables, optional}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h[``huffman_tables`` references to four Huffman tables in DC0, DC1, AC0, AC1 order, optional h](j)}(h``huffman_tables``h]j)}(hj h]hhuffman_tables}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(hGreferences to four Huffman tables in DC0, DC1, AC0, AC1 order, optionalh]hGreferences to four Huffman tables in DC0, DC1, AC0, AC1 order, optional}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubj)}(h<``restart_interval`` number of MCU per restart interval, Ri h](j)}(h``restart_interval``h]j)}(hj h]hrestart_interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh]jZ)}(h&number of MCU per restart interval, Rih]h&number of MCU per restart interval, Ri}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjhKhj ubj)}(hC``ecs_offset`` buffer offset in bytes to the entropy coded segment h](j)}(h``ecs_offset``h]j)}(hj7h]h ecs_offset}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj1ubj)}(hhh]jZ)}(h3buffer offset in bytes to the entropy coded segmenth]h3buffer offset in bytes to the entropy coded segment}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjLhKhjMubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhjLhKhj ubj)}(h-``app14_tf`` transform flag from app14 data h](j)}(h ``app14_tf``h]j)}(hjph]happ14_tf}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjjubj)}(hhh]jZ)}(htransform flag from app14 datah]htransform flag from app14 data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhjhKhj ubeh}(h]h ]h"]h$]h&]uh1jhjL ubjZ)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjL ubjZ)}(hWhen this structure is passed to v4l2_jpeg_parse_header, the optional scan, quantization_tables, and huffman_tables pointers must be initialized to NULL or point at valid memory.h]hWhen this structure is passed to v4l2_jpeg_parse_header, the optional scan, quantization_tables, and huffman_tables pointers must be initialized to NULL or point at valid memory.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjL ubeh}(h]h ] kernelindentah"]h$]h&]uh1j~hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h#v4l2_jpeg_parse_header (C function)c.v4l2_jpeg_parse_headerhNtauh1hhhhhhNhNubh)}(hhh](h)}(hPint v4l2_jpeg_parse_header (void *buf, size_t len, struct v4l2_jpeg_header *out)h]h)}(hOint v4l2_jpeg_parse_header(void *buf, size_t len, struct v4l2_jpeg_header *out)h](hdesc_sig_keyword_type)}(hinth]hint}(hjhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jhjhhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMVubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMVubj#)}(hv4l2_jpeg_parse_headerh]j))}(hv4l2_jpeg_parse_headerh]hv4l2_jpeg_parse_header}(hjhhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hjubah}(h]h ](j;j<eh"]h$]h&]hhuh1j"hjhhhjhMVubhdesc_parameterlist)}(h5(void *buf, size_t len, struct v4l2_jpeg_header *out)h](hdesc_parameter)}(h void *bufh](j)}(hvoidh]hvoid}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubj)}(h h]h }(hjChhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubhdesc_sig_punctuation)}(h*h]h*}(hjShhhNhNubah}(h]h ]pah"]h$]h&]uh1jQhj1ubj))}(hbufh]hbuf}(hjbhhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hj1ubeh}(h]h ]h"]h$]h&]noemphhhuh1j/hj+ubj0)}(h size_t lenh](h)}(hhh]j))}(hsize_th]hsize_t}(hj~hhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hj{ubah}(h]h ]h"]h$]h&] refdomainjsreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jjsbc.v4l2_jpeg_parse_headerasbuh1hhjwubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwubj))}(hlenh]hlen}(hjhhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hjwubeh}(h]h ]h"]h$]h&]noemphhhuh1j/hj+ubj0)}(hstruct v4l2_jpeg_header *outh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j))}(hv4l2_jpeg_headerh]hv4l2_jpeg_header}(hjhhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hjubah}(h]h ]h"]h$]h&] refdomainjsreftypej reftargetjmodnameN classnameNjj)}j]jc.v4l2_jpeg_parse_headerasbuh1hhjubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjR)}(hjUh]h*}(hjhhhNhNubah}(h]h ]j^ah"]h$]h&]uh1jQhjubj))}(houth]hout}(hj$hhhNhNubah}(h]h ]j4ah"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]noemphhhuh1j/hj+ubeh}(h]h ]h"]h$]h&]hhuh1j)hjhhhjhMVubeh}(h]h ]h"]h$]h&]hhjFuh1hjGjHhjhhhjhMVubah}(h]jah ](jLjMeh"]h$]h&]jQjR)jShuh1hhjhMVhjhhubjU)}(hhh]jZ)}(h3locate marker segments and optionally parse headersh]h3locate marker segments and optionally parse headers}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMVhjKhhubah}(h]h ]h"]h$]h&]uh1jThjhhhjhMVubeh}(h]h ](jsfunctioneh"]h$]h&]jxjsjyjfjzjfj{j|j}uh1hhhhhhNhNubj)}(hX7**Parameters** ``void *buf`` address of the JPEG buffer, should start with a SOI marker ``size_t len`` length of the JPEG buffer ``struct v4l2_jpeg_header *out`` returns marker segment positions and optionally parsed headers **Description** The out->scan_header pointer must be initialized to NULL or point to a valid v4l2_jpeg_scan_header structure. The out->huffman_tables and out->quantization_tables pointers must be initialized to NULL or point to a valid array of 4 v4l2_jpeg_reference structures each. Returns 0 or negative error if parsing failed.h](jZ)}(h**Parameters**h]j)}(hjph]h Parameters}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubah}(h]h ]h"]h$]h&]uh1jYhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMZhjjubj)}(hhh](j)}(hI``void *buf`` address of the JPEG buffer, should start with a SOI marker h](j)}(h ``void *buf``h]j)}(hjh]h void *buf}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMWhjubj)}(hhh]jZ)}(h:address of the JPEG buffer, should start with a SOI markerh]h:address of the JPEG buffer, should start with a SOI marker}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhMWhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMWhjubj)}(h)``size_t len`` length of the JPEG buffer h](j)}(h``size_t len``h]j)}(hjh]h size_t len}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMXhjubj)}(hhh]jZ)}(hlength of the JPEG bufferh]hlength of the JPEG buffer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhMXhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMXhjubj)}(h```struct v4l2_jpeg_header *out`` returns marker segment positions and optionally parsed headers h](j)}(h ``struct v4l2_jpeg_header *out``h]j)}(hjh]hstruct v4l2_jpeg_header *out}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMYhjubj)}(hhh]jZ)}(h>returns marker segment positions and optionally parsed headersh]h>returns marker segment positions and optionally parsed headers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhjhMYhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMYhjubeh}(h]h ]h"]h$]h&]uh1jhjjubjZ)}(h**Description**h]j)}(hj<h]h Description}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1jYhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chM[hjjubjZ)}(hX The out->scan_header pointer must be initialized to NULL or point to a valid v4l2_jpeg_scan_header structure. The out->huffman_tables and out->quantization_tables pointers must be initialized to NULL or point to a valid array of 4 v4l2_jpeg_reference structures each.h]hX The out->scan_header pointer must be initialized to NULL or point to a valid v4l2_jpeg_scan_header structure. The out->huffman_tables and out->quantization_tables pointers must be initialized to NULL or point to a valid array of 4 v4l2_jpeg_reference structures each.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jYhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMZhjjubjZ)}(h.Returns 0 or negative error if parsing failed.h]h.Returns 0 or negative error if parsing failed.}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jYhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chM_hjjubeh}(h]h ] kernelindentah"]h$]h&]uh1j~hhhhhNhNubeh}(h]6v4l2-jpeg-header-related-functions-and-data-structuresah ]h"]6v4l2 jpeg header related functions and data structuresah$]h&]uh1hhhhhhhhKubeh}(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_handlerjerror_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}nameids}j|jys nametypes}j|sh}(jyhhhjjjVj[jjj jjW j\ j j jju 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] transformerN include_log] decorationNhhub.