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/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]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_referencehNtauh1hhhhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhNubhdesc)}(hhh](hdesc_signature)}(hv4l2_jpeg_referenceh]hdesc_signature_line)}(hstruct v4l2_jpeg_referenceh](hdesc_sig_keyword)}(hstructh]hstruct}(hhhhhNhNubah}(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&]uh1hhhhhhhhKubh desc_name)}(hv4l2_jpeg_referenceh]h desc_sig_name)}(hhh]hv4l2_jpeg_reference}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jhhhhhhhKubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1hsphinx_line_type declaratorhhhhhhhKubah}(h]hah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1hhhhKhhhhubh desc_content)}(hhh]h paragraph)}(hreference into the JPEG bufferh]hreference into the JPEG buffer}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK+hjChhubah}(h]h ]h"]h$]h&]uh1jAhhhhhhhKubeh}(h]h ](cstructeh"]h$]h&]domainj`objtypejadesctypejanoindex noindexentrynocontentsentryuh1hhhhhhhhNubh container)}(h**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 tableh](jG)}(h**Definition**::h](hstrong)}(h**Definition**h]h Definition}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjqubh:}(hjqhhhNhNubeh}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK/hjmubh literal_block)}(hAstruct v4l2_jpeg_reference { u8 *start; size_t length; };h]hAstruct 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.hhK1hjmubjG)}(h **Members**h]jv)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK6hjmubhdefinition_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]jG)}(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&]uh1jFhjhK-hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK-hjubj)}(h2``length`` size of the referenced segment or tableh](j)}(h ``length``h]j)}(hjh]hlength}(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]jG)}(h'size of the referenced segment or tableh]h'size of the referenced segment or table}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/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-hjubeh}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhhhNubjG)}(h**Description**h]jv)}(hjHh]h Description}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjFubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK1hhhhubjG)}(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.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK/hhhhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌)v4l2_jpeg_frame_component_spec (C struct) c.v4l2_jpeg_frame_component_spechNtauh1hhhhhhhhNubh)}(hhh](h)}(hv4l2_jpeg_frame_component_spech]h)}(h%struct v4l2_jpeg_frame_component_spech](h)}(hhh]hstruct}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK5ubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjhhhjhK5ubj)}(hv4l2_jpeg_frame_component_spech]j)}(hjh]hv4l2_jpeg_frame_component_spec}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhjhhhjhK5ubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hj~hhhjhK5ubah}(h]jyah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjhK5hj{hhubjB)}(hhh]jG)}(hframe component-specificationh]hframe component-specification}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK:hjhhubah}(h]h ]h"]h$]h&]uh1jAhj{hhhjhK5ubeh}(h]h ](j`structeh"]h$]h&]jej`jfjjgjjhjijjuh1hhhhhhhhNubjl)}(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](jG)}(h**Definition**::h](jv)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jFhc/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; };}hjsbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK@hjubjG)}(h **Members**h]jv)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhc/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)}(hj5h]hcomponent_identifier}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjubj)}(hhh]jG)}(hV[i]h]hV[i]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhK>hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK>hj,ubj)}(hM``quantization_table_selector`` quantization table destination selector Tq[i]h](j)}(h``quantization_table_selector``h]j)}(hjh]hquantization_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]jG)}(h-quantization table destination selector Tq[i]h]h-quantization table destination selector Tq[i]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/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>hj,ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhhhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌!v4l2_jpeg_frame_header (C struct)c.v4l2_jpeg_frame_headerhNtauh1hhhhhhhhNubh)}(hhh](h)}(hv4l2_jpeg_frame_headerh]h)}(hstruct v4l2_jpeg_frame_headerh](h)}(hhh]hstruct}(hj:hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj6hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKEubh)}(h h]h }(hjHhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj6hhhjGhKEubj)}(hv4l2_jpeg_frame_headerh]j)}(hj4h]hv4l2_jpeg_frame_header}(hjZhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjVubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhj6hhhjGhKEubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hj2hhhjGhKEubah}(h]j-ah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjGhKEhj/hhubjB)}(hhh]jG)}(hJPEG frame headerh]hJPEG frame header}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKHhjyhhubah}(h]h ]h"]h$]h&]uh1jAhj/hhhjGhKEubeh}(h]h ](j`structeh"]h$]h&]jej`jfjjgjjhjijjuh1hhhhhhhhNubjl)}(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](jG)}(h**Definition**::h](jv)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jFhc/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.hhKNhjubjG)}(h **Members**h]jv)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhc/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]jG)}(hYh]hY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhKJhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKJhjubj)}(h ``width`` X h](j)}(h ``width``h]j)}(hj"h]hwidth}(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.hhKKhjubj)}(hhh]jG)}(hXh]hX}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj7hKKhj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj7hKKhjubj)}(h``precision`` P h](j)}(h ``precision``h]j)}(hj[h]h precision}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKLhjUubj)}(hhh]jG)}(hPh]hP}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjphKLhjqubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjphKLhjubj)}(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]jG)}(hNfh]hNf}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhKMhjubah}(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]jG)}(h;component-specification, see v4l2_jpeg_frame_component_spech]h;component-specification, see v4l2_jpeg_frame_component_spec}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhKNhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKNhjubj)}(h@``subsampling`` decoded subsampling from component-specificationh](j)}(h``subsampling``h]j)}(hjh]h subsampling}(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]jG)}(h0decoded subsampling from component-specificationh]h0decoded subsampling from component-specification}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKOhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKNhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhhhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌(v4l2_jpeg_scan_component_spec (C struct)c.v4l2_jpeg_scan_component_spechNtauh1hhhhhhhhNubh)}(hhh](h)}(hv4l2_jpeg_scan_component_spech]h)}(h$struct v4l2_jpeg_scan_component_spech](h)}(hhh]hstruct}(hj`hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj\hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKUubh)}(h h]h }(hjnhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj\hhhjmhKUubj)}(hv4l2_jpeg_scan_component_spech]j)}(hjZh]hv4l2_jpeg_scan_component_spec}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj|ubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhj\hhhjmhKUubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hjXhhhjmhKUubah}(h]jSah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjmhKUhjUhhubjB)}(hhh]jG)}(hscan component-specificationh]hscan component-specification}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK\hjhhubah}(h]h ]h"]h$]h&]uh1jAhjUhhhjmhKUubeh}(h]h ](j`structeh"]h$]h&]jej`jfjjgjjhjijjuh1hhhhhhhhNubjl)}(hX;**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](jG)}(h**Definition**::h](jv)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jFhc/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.hhKbhjubjG)}(h **Members**h]jv)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhc/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)}(hjh]hcomponent_selector}(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.hhK^hj ubj)}(hhh]jG)}(hCs[j]h]hCs[j]}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj$hK^hj%ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj$hK^hjubj)}(h+``dc_entropy_coding_table_selector`` Td[j] h](j)}(h$``dc_entropy_coding_table_selector``h]j)}(hjHh]h dc_entropy_coding_table_selector}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK_hjBubj)}(hhh]jG)}(hTd[j]h]hTd[j]}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj]hK_hj^ubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj]hK_hjubj)}(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_hj{ubj)}(hhh]jG)}(hTa[j]h]hTa[j]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhK`hjubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjhK_hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhhhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌ v4l2_jpeg_scan_header (C struct)c.v4l2_jpeg_scan_headerhNtauh1hhhhhhhhNubh)}(hhh](h)}(hv4l2_jpeg_scan_headerh]h)}(hstruct v4l2_jpeg_scan_headerh](h)}(hhh]hstruct}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKfubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjhhhjhKfubj)}(hv4l2_jpeg_scan_headerh]j)}(hjh]hv4l2_jpeg_scan_header}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhjhhhjhKfubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hjhhhjhKfubah}(h]jah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjhKfhjhhubjB)}(hhh]jG)}(hJPEG scan headerh]hJPEG scan header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhhjhhubah}(h]h ]h"]h$]h&]uh1jAhjhhhjhKfubeh}(h]h ](j`structeh"]h$]h&]jej`jfj5jgj5jhjijjuh1hhhhhhhhNubjl)}(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](jG)}(h**Definition**::h](jv)}(h**Definition**h]h Definition}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1juhj=ubh:}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKlhj9ubj)}(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]; };}hjZsbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKnhj9ubjG)}(h **Members**h]jv)}(hjkh]hMembers}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjiubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKshj9ubj)}(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]jG)}(hNsh]hNs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhKjhjubah}(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)}(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.hhKjhjubj)}(hhh]jG)}(h:component-specification, see v4l2_jpeg_scan_component_spech]h:component-specification, see v4l2_jpeg_scan_component_spec}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKkhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKjhjubeh}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhhhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌v4l2_jpeg_app14_tf (C enum)c.v4l2_jpeg_app14_tfhNtauh1hhhhhhhhNubh)}(hhh](h)}(hv4l2_jpeg_app14_tfh]h)}(henum v4l2_jpeg_app14_tfh](h)}(henumh]henum}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKqubh)}(h h]h }(hj, hhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj hhhj+ hKqubj)}(hv4l2_jpeg_app14_tfh]j)}(hj h]hv4l2_jpeg_app14_tf}(hj> hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj: ubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhj hhhj+ hKqubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hj hhhj+ hKqubah}(h]j ah ](j9j:eh"]h$]h&]j>j?)j@huh1hhj+ hKqhj hhubjB)}(hhh]jG)}(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&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKshj] hhubah}(h]h ]h"]h$]h&]uh1jAhj hhhj+ hKqubeh}(h]h ](j`enumeh"]h$]h&]jej`jfjx jgjx jhjijjuh1hhhhhhhhNubjl)}(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](jG)}(h **Constants**h]jv)}(hj h]h Constants}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1juhj ubah}(h]h ]h"]h$]h&]uh1jFhc/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]jG)}(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&]uh1jFhc/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]jG)}(h2an image encoded with three components using YCbCrh]h2an image encoded with three components using YCbCr}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj hK~hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj 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&]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]jG)}(h0an image encoded with four components using YCCKh]h0an image encoded with four components using YCCK}(hj- hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj) hKhj* ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj) hKhj ubj)}(h<``V4L2_JPEG_APP14_TF_UNKNOWN`` indicate app14 is not presenth](j)}(h``V4L2_JPEG_APP14_TF_UNKNOWN``h]j)}(hjM h]hV4L2_JPEG_APP14_TF_UNKNOWN}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjG ubj)}(hhh]jG)}(hindicate app14 is not presenth]hindicate app14 is not present}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjc ubah}(h]h ]h"]h$]h&]uh1jhjG ubeh}(h]h ]h"]h$]h&]uh1jhjb hKhj ubeh}(h]h ]h"]h$]h&]uh1jhj| ubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhhhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌v4l2_jpeg_header (C struct)c.v4l2_jpeg_headerhNtauh1hhhhhhhhNubh)}(hhh](h)}(hv4l2_jpeg_headerh]h)}(hstruct v4l2_jpeg_headerh](h)}(hhh]hstruct}(hj hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhj hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKubh)}(h h]h }(hj hhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj hhhj hKubj)}(hv4l2_jpeg_headerh]j)}(hj h]hv4l2_jpeg_header}(hj hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj ubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhj hhhj hKubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hj hhhj hKubah}(h]j ah ](j9j:eh"]h$]h&]j>j?)j@huh1hhj hKhj hhubjB)}(hhh]jG)}(hparsed JPEG headerh]hparsed JPEG header}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj hhubah}(h]h ]h"]h$]h&]uh1jAhj hhhj hKubeh}(h]h ](j`structeh"]h$]h&]jej`jfj jgj jhjijjuh1hhhhhhhhNubjl)}(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 datah](jG)}(h**Definition**::h](jv)}(h**Definition**h]h Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1juhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hXstruct 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]hXstruct 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; };}hj& sbah}(h]h ]h"]h$]h&]hhuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubjG)}(h **Members**h]jv)}(hj7 h]hMembers}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1juhj5 ubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubj)}(hhh](j)}(h)``sof`` pointer to frame header and size h](j)}(h``sof``h]j)}(hjV h]hsof}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjT ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjP ubj)}(hhh]jG)}(h pointer to frame header and sizeh]h pointer to frame header and size}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjk hKhjl ubah}(h]h ]h"]h$]h&]uh1jhjP ubeh}(h]h ]h"]h$]h&]uh1jhjk hKhjM 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]jG)}(hpointer to scan header and sizeh]hpointer to scan header and size}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjM 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]jG)}(hnumber of entries in **dht**h](hnumber of entries in }(hj hhhNhNubjv)}(h**dht**h]hdht}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1juhj ubeh}(h]h ]h"]h$]h&]uh1jFhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjM ubj)}(h-``dht`` pointers to huffman tables and sizes h](j)}(h``dht``h]j)}(hj h]hdht}(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]jG)}(h$pointers to huffman tables and sizesh]h$pointers to huffman tables and sizes}(hj( hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj$ hKhj% ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj$ hKhjM ubj)}(h)``num_dqt`` number of entries in **dqt** h](j)}(h ``num_dqt``h]j)}(hjH h]hnum_dqt}(hjJ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjB ubj)}(hhh]jG)}(hnumber of entries in **dqt**h](hnumber of entries in }(hja hhhNhNubjv)}(h**dqt**h]hdqt}(hji hhhNhNubah}(h]h ]h"]h$]h&]uh1juhja ubeh}(h]h ]h"]h$]h&]uh1jFhj] hKhj^ ubah}(h]h ]h"]h$]h&]uh1jhjB ubeh}(h]h ]h"]h$]h&]uh1jhj] hKhjM 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]jG)}(h)pointers to quantization tables and sizesh]h)pointers to quantization tables and sizes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjM 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]jG)}(hparsed frame headerh]hparsed frame header}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjM ubj)}(h1``scan`` pointer to parsed scan header, optional h](j)}(h``scan``h]j)}(hj h]hscan}(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]jG)}(h'pointer to parsed scan header, optionalh]h'pointer to parsed scan header, optional}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjM 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&]uh1jhj8 ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj4 ubj)}(hhh]jG)}(h0references to four quantization tables, optionalh]h0references to four quantization tables, optional}(hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjO hKhjP ubah}(h]h ]h"]h$]h&]uh1jhj4 ubeh}(h]h ]h"]h$]h&]uh1jhjO hKhjM ubj)}(h[``huffman_tables`` references to four Huffman tables in DC0, DC1, AC0, AC1 order, optional h](j)}(h``huffman_tables``h]j)}(hjs h]hhuffman_tables}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjq ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhjm ubj)}(hhh]jG)}(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&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj ubah}(h]h ]h"]h$]h&]uh1jhjm ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjM ubj)}(h<``restart_interval`` number of MCU per restart interval, Ri h](j)}(h``restart_interval``h]j)}(hj h]hrestart_interval}(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]jG)}(h&number of MCU per restart interval, Rih]h&number of MCU per restart interval, Ri}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjM ubj)}(hC``ecs_offset`` buffer offset in bytes to the entropy coded segment h](j)}(h``ecs_offset``h]j)}(hj h]h ecs_offset}(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]jG)}(h3buffer offset in bytes to the entropy coded segmenth]h3buffer offset in bytes to the entropy coded segment}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhjM ubj)}(h+``app14_tf`` transform flag from app14 datah](j)}(h ``app14_tf``h]j)}(hjh]happ14_tf}(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.hhKhjubj)}(hhh]jG)}(htransform flag from app14 datah]htransform flag from app14 data}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhj5ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj4hKhjM ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhhhNubjG)}(h**Description**h]jv)}(hjbh]h Description}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1juhj`ubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhhhhubjG)}(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.}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhc/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:6: ./include/media/v4l2-jpeg.hhKhhhhubh)}(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.chMbubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjhhhjhMbubj)}(hv4l2_jpeg_parse_headerh]j)}(hv4l2_jpeg_parse_headerh]hv4l2_jpeg_parse_header}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhjhhhjhMbubhdesc_parameterlist)}(h5(void *buf, size_t len, struct v4l2_jpeg_header *out)h](hdesc_parameter)}(h void *bufh](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjubj)}(hbufh]hbuf}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h size_t lenh](h)}(hhh]j)}(hsize_th]hsize_t}(hj-hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&] refdomainj`reftype identifier reftargetj/modnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]jH ASTIdentifier)}jCjsbc.v4l2_jpeg_parse_headerasbuh1hhj&ubh)}(h h]h }(hjUhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj&ubj)}(hlenh]hlen}(hjchhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(hstruct v4l2_jpeg_header *outh](h)}(hhh]hstruct}(hj|hhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjxubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjxubh)}(hhh]j)}(hv4l2_jpeg_headerh]hv4l2_jpeg_header}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetjmodnameN classnameNjGjJ)}jM]jQc.v4l2_jpeg_parse_headerasbuh1hhjxubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjxubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjxubj)}(houth]hout}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhMbubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hjhhhjhMbubah}(h]jah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjhMbhjhhubjB)}(hhh]jG)}(h3locate marker segments and optionally parse headersh]h3locate marker segments and optionally parse headers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMVhjhhubah}(h]h ]h"]h$]h&]uh1jAhjhhhjhMbubeh}(h]h ](j`functioneh"]h$]h&]jej`jfjjgjjhjijjuh1hhhhhhNhNubjl)}(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](jG)}(h**Parameters**h]jv)}(hjh]h Parameters}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMZhjubj)}(hhh](j)}(hI``void *buf`` address of the JPEG buffer, should start with a SOI marker h](j)}(h ``void *buf``h]j)}(hj>h]h void *buf}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMWhj8ubj)}(hhh]jG)}(h:address of the JPEG buffer, should start with a SOI markerh]h:address of the JPEG buffer, should start with a SOI marker}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjShMWhjTubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjShMWhj5ubj)}(h)``size_t len`` length of the JPEG buffer h](j)}(h``size_t len``h]j)}(hjwh]h size_t len}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMXhjqubj)}(hhh]jG)}(hlength of the JPEG bufferh]hlength of the JPEG buffer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhMXhjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjhMXhj5ubj)}(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]jG)}(h>returns marker segment positions and optionally parsed headersh]h>returns marker segment positions and optionally parsed headers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhMYhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMYhj5ubeh}(h]h ]h"]h$]h&]uh1jhjubjG)}(h**Description**h]jv)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chM[hjubjG)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chM[hjubjG)}(h.Returns 0 or negative error if parsing failed.h]h.Returns 0 or negative error if parsing failed.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chM`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌)v4l2_jpeg_parse_frame_header (C function)c.v4l2_jpeg_parse_frame_headerhNtauh1hhhhhhNhNubh)}(hhh](h)}(heint v4l2_jpeg_parse_frame_header (void *buf, size_t len, struct v4l2_jpeg_frame_header *frame_header)h]h)}(hdint v4l2_jpeg_parse_frame_header(void *buf, size_t len, struct v4l2_jpeg_frame_header *frame_header)h](j)}(hinth]hint}(hj?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;hhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMubh)}(h h]h }(hjNhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj;hhhjMhMubj)}(hv4l2_jpeg_parse_frame_headerh]j)}(hv4l2_jpeg_parse_frame_headerh]hv4l2_jpeg_parse_frame_header}(hj`hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj\ubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhj;hhhjMhMubj)}(hD(void *buf, size_t len, struct v4l2_jpeg_frame_header *frame_header)h](j)}(h void *bufh](j)}(hvoidh]hvoid}(hj|hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjxubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjxubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjxubj)}(hbufh]hbuf}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjtubj)}(h size_t lenh](h)}(hhh]j)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetjmodnameN classnameNjGjJ)}jM]jP)}jCjbsbc.v4l2_jpeg_parse_frame_headerasbuh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(hlenh]hlen}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjtubj)}(h+struct v4l2_jpeg_frame_header *frame_headerh](h)}(hhh]hstruct}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubh)}(hhh]j)}(hv4l2_jpeg_frame_headerh]hv4l2_jpeg_frame_header}(hj&hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetj(modnameN classnameNjGjJ)}jM]jc.v4l2_jpeg_parse_frame_headerasbuh1hhjubh)}(h h]h }(hjDhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(hjh]h*}(hjRhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjubj)}(h frame_headerh]h frame_header}(hj_hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjtubeh}(h]h ]h"]h$]h&]hhuh1jhj;hhhjMhMubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hj7hhhjMhMubah}(h]j2ah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjMhMhj4hhubjB)}(hhh]jG)}(hparse frame headerh]hparse frame header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjhhubah}(h]h ]h"]h$]h&]uh1jAhj4hhhjMhMubeh}(h]h ](j`functioneh"]h$]h&]jej`jfjjgjjhjijjuh1hhhhhhNhNubjl)}(hX**Parameters** ``void *buf`` address of the frame header, after the SOF0 marker ``size_t len`` length of the frame header ``struct v4l2_jpeg_frame_header *frame_header`` returns the parsed frame header **Description** Returns 0 or negative error if parsing failed.h](jG)}(h**Parameters**h]jv)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubj)}(hhh](j)}(hA``void *buf`` address of the frame header, after the SOF0 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.chMhjubj)}(hhh]jG)}(h2address of the frame header, after the SOF0 markerh]h2address of the frame header, after the SOF0 marker}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h*``size_t len`` length of the frame header 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.chMhjubj)}(hhh]jG)}(hlength of the frame headerh]hlength of the frame header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hP``struct v4l2_jpeg_frame_header *frame_header`` returns the parsed frame header h](j)}(h/``struct v4l2_jpeg_frame_header *frame_header``h]j)}(hj<h]h+struct v4l2_jpeg_frame_header *frame_header}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhj6ubj)}(hhh]jG)}(hreturns the parsed frame headerh]hreturns the parsed frame header}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjQhMhjRubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjQhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubjG)}(h**Description**h]jv)}(hjwh]h Description}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjuubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubjG)}(h.Returns 0 or negative error if parsing failed.h]h.Returns 0 or negative error if parsing failed.i}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌(v4l2_jpeg_parse_scan_header (C function)c.v4l2_jpeg_parse_scan_headerhNtauh1hhhhhhNhNubh)}(hhh](h)}(hbint v4l2_jpeg_parse_scan_header (void *buf, size_t len, struct v4l2_jpeg_scan_header *scan_header)h]h)}(haint v4l2_jpeg_parse_scan_header(void *buf, size_t len, struct v4l2_jpeg_scan_header *scan_header)h](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjhhhjhMubj)}(hv4l2_jpeg_parse_scan_headerh]j)}(hv4l2_jpeg_parse_scan_headerh]hv4l2_jpeg_parse_scan_header}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhjhhhjhMubj)}(hB(void *buf, size_t len, struct v4l2_jpeg_scan_header *scan_header)h](j)}(h void *bufh](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjubj)}(hbufh]hbuf}(hj"hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h size_t lenh](h)}(hhh]j)}(hsize_th]hsize_t}(hj>hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetj@modnameN classnameNjGjJ)}jM]jP)}jCjsbc.v4l2_jpeg_parse_scan_headerasbuh1hhj7ubh)}(h h]h }(hj^hhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj7ubj)}(hlenh]hlen}(hjlhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubj)}(h)struct v4l2_jpeg_scan_header *scan_headerh](h)}(hhh]hstruct}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubh)}(hhh]j)}(hv4l2_jpeg_scan_headerh]hv4l2_jpeg_scan_header}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetjmodnameN classnameNjGjJ)}jM]jZc.v4l2_jpeg_parse_scan_headerasbuh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjubj)}(h scan_headerh]h scan_header}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhMubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hjhhhjhMubah}(h]jah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjhMhjhhubjB)}(hhh]jG)}(hparse scan headerh]hparse scan header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjhhubah}(h]h ]h"]h$]h&]uh1jAhjhhhjhMubeh}(h]h ](j`functioneh"]h$]h&]jej`jfjjgjjhjijjuh1hhhhhhNhNubjl)}(hX **Parameters** ``void *buf`` address of the scan header, after the SOS marker ``size_t len`` length of the scan header ``struct v4l2_jpeg_scan_header *scan_header`` returns the parsed scan header **Description** Returns 0 or negative error if parsing failed.h](jG)}(h**Parameters**h]jv)}(hj(h]h Parameters}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1juhj&ubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhj"ubj)}(hhh](j)}(h?``void *buf`` address of the scan header, after the SOS marker h](j)}(h ``void *buf``h]j)}(hjGh]h void *buf}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjAubj)}(hhh]jG)}(h0address of the scan header, after the SOS markerh]h0address of the scan header, after the SOS marker}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj\hMhj]ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj\hMhj>ubj)}(h)``size_t len`` length of the scan header h](j)}(h``size_t len``h]j)}(hjh]h size_t len}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjzubj)}(hhh]jG)}(hlength of the scan headerh]hlength of the scan header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjhMhj>ubj)}(hM``struct v4l2_jpeg_scan_header *scan_header`` returns the parsed scan header h](j)}(h-``struct v4l2_jpeg_scan_header *scan_header``h]j)}(hjh]h)struct v4l2_jpeg_scan_header *scan_header}(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.chMhjubj)}(hhh]jG)}(hreturns the parsed scan headerh]hreturns the parsed scan header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj>ubeh}(h]h ]h"]h$]h&]uh1jhj"ubjG)}(h**Description**h]jv)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhj"ubjG)}(h.Returns 0 or negative error if parsing failed.h]h.Returns 0 or negative error if parsing failed.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhj"ubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌0v4l2_jpeg_parse_quantization_tables (C function)%c.v4l2_jpeg_parse_quantization_tableshNtauh1hhhhhhNhNubh)}(hhh](h)}(hsint v4l2_jpeg_parse_quantization_tables (void *buf, size_t len, u8 precision, struct v4l2_jpeg_reference *q_tables)h]h)}(hrint v4l2_jpeg_parse_quantization_tables(void *buf, size_t len, u8 precision, struct v4l2_jpeg_reference *q_tables)h](j)}(hinth]hint}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5hhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMubh)}(h h]h }(hjHhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj5hhhjGhMubj)}(h#v4l2_jpeg_parse_quantization_tablesh]j)}(h#v4l2_jpeg_parse_quantization_tablesh]h#v4l2_jpeg_parse_quantization_tables}(hjZhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjVubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhj5hhhjGhMubj)}(hK(void *buf, size_t len, u8 precision, struct v4l2_jpeg_reference *q_tables)h](j)}(h void *bufh](j)}(hvoidh]hvoid}(hjvhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjrubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjrubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjrubj)}(hbufh]hbuf}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjnubj)}(h size_t lenh](h)}(hhh]j)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetjmodnameN classnameNjGjJ)}jM]jP)}jCj\sb%c.v4l2_jpeg_parse_quantization_tablesasbuh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(hlenh]hlen}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjnubj)}(h u8 precisionh](h)}(hhh]j)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetjmodnameN classnameNjGjJ)}jM]j%c.v4l2_jpeg_parse_quantization_tablesasbuh1hhjubh)}(h h]h }(hj#hhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(h precisionh]h precision}(hj1hhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjnubj)}(h$struct v4l2_jpeg_reference *q_tablesh](h)}(hhh]hstruct}(hjJhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjFubh)}(h h]h }(hjWhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjFubh)}(hhh]j)}(hv4l2_jpeg_referenceh]hv4l2_jpeg_reference}(hjhhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjeubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetjjmodnameN classnameNjGjJ)}jM]j%c.v4l2_jpeg_parse_quantization_tablesasbuh1hhjFubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjFubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjFubj)}(hq_tablesh]hq_tables}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjnubeh}(h]h ]h"]h$]h&]hhuh1jhj5hhhjGhMubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hj1hhhjGhMubah}(h]j,ah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjGhMhj.hhubjB)}(hhh]jG)}(h!parse quantization tables segmenth]h!parse quantization tables segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjhhubah}(h]h ]h"]h$]h&]uh1jAhj.hhhjGhMubeh}(h]h ](j`functioneh"]h$]h&]jej`jfjjgjjhjijjuh1hhhhhhNhNubjl)}(hX**Parameters** ``void *buf`` address of the quantization table segment, after the DQT marker ``size_t len`` length of the quantization table segment ``u8 precision`` sample precision (P) in bits per component ``struct v4l2_jpeg_reference *q_tables`` returns four references into the buffer for the four possible quantization table destinations **Description** Returns 0 or negative error if parsing failed.h](jG)}(h**Parameters**h]jv)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubj)}(hhh](j)}(hN``void *buf`` address of the quantization table segment, after the DQT marker h](j)}(h ``void *buf``h]j)}(hj h]h void *buf}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubj)}(hhh]jG)}(h?address of the quantization table segment, after the DQT markerh]h?address of the quantization table segment, after the DQT marker}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhj!hMhj"ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj!hMhjubj)}(h8``size_t len`` length of the quantization table segment h](j)}(h``size_t len``h]j)}(hjEh]h size_t len}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhj?ubj)}(hhh]jG)}(h(length of the quantization table segmenth]h(length of the quantization table segment}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjZhMhj[ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhjZhMhjubj)}(h<``u8 precision`` sample precision (P) in bits per component h](j)}(h``u8 precision``h]j)}(hj~h]h u8 precision}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|ubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjxubj)}(hhh]jG)}(h*sample precision (P) in bits per componenth]h*sample precision (P) in bits per component}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``struct v4l2_jpeg_reference *q_tables`` returns four references into the buffer for the four possible quantization table destinations h](j)}(h(``struct v4l2_jpeg_reference *q_tables``h]j)}(hjh]h$struct v4l2_jpeg_reference *q_tables}(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.chMhjubj)}(hhh]jG)}(h]returns four references into the buffer for the four possible quantization table destinationsh]h]returns four references into the buffer for the four possible quantization table destinations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubjG)}(h**Description**h]jv)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubjG)}(h.Returns 0 or negative error if parsing failed.h]h.Returns 0 or negative error if parsing failed.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h֌+v4l2_jpeg_parse_huffman_tables (C function) c.v4l2_jpeg_parse_huffman_tableshNtauh1hhhhhhNhNubh)}(hhh](h)}(hfint v4l2_jpeg_parse_huffman_tables (void *buf, size_t len, struct v4l2_jpeg_reference *huffman_tables)h]h)}(heint v4l2_jpeg_parse_huffman_tables(void *buf, size_t len, struct v4l2_jpeg_reference *huffman_tables)h](j)}(hinth]hint}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4hhhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMubh)}(h h]h }(hjGhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhj4hhhjFhMubj)}(hv4l2_jpeg_parse_huffman_tablesh]j)}(hv4l2_jpeg_parse_huffman_tablesh]hv4l2_jpeg_parse_huffman_tables}(hjYhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjUubah}(h]h ](j(j)eh"]h$]h&]hhuh1jhj4hhhjFhMubj)}(hC(void *buf, size_t len, struct v4l2_jpeg_reference *huffman_tables)h](j)}(h void *bufh](j)}(hvoidh]hvoid}(hjuhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjqubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjqubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjqubj)}(hbufh]hbuf}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjmubj)}(h size_t lenh](h)}(hhh]j)}(hsize_th]hsize_t}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetjmodnameN classnameNjGjJ)}jM]jP)}jCj[sb c.v4l2_jpeg_parse_huffman_tablesasbuh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(hlenh]hlen}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjmubj)}(h*struct v4l2_jpeg_reference *huffman_tablesh](h)}(hhh]hstruct}(hjhhhNhNubah}(h]h ]hah"]h$]h&]uh1hhjubh)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubh)}(hhh]j)}(hv4l2_jpeg_referenceh]hv4l2_jpeg_reference}(hjhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainj`reftypejC reftargetj!modnameN classnameNjGjJ)}jM]j c.v4l2_jpeg_parse_huffman_tablesasbuh1hhjubh)}(h h]h }(hj=hhhNhNubah}(h]h ]j ah"]h$]h&]uh1hhjubj)}(hjh]h*}(hjKhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjubj)}(hhuffman_tablesh]hhuffman_tables}(hjXhhhNhNubah}(h]h ]j!ah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjmubeh}(h]h ]h"]h$]h&]hhuh1jhj4hhhjFhMubeh}(h]h ]h"]h$]h&]hhj3uh1hj4j5hj0hhhjFhMubah}(h]j+ah ](j9j:eh"]h$]h&]j>j?)j@huh1hhjFhMhj-hhubjB)}(hhh]jG)}(hparse huffman tables segmenth]hparse huffman tables segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjhhubah}(h]h ]h"]h$]h&]uh1jAhj-hhhjFhMubeh}(h]h ](j`functioneh"]h$]h&]jej`jfjjgjjhjijjuh1hhhhhhNhNubjl)}(hX**Parameters** ``void *buf`` address of the Huffman table segment, after the DHT marker ``size_t len`` length of the Huffman table segment ``struct v4l2_jpeg_reference *huffman_tables`` returns four references into the buffer for the four possible Huffman table destinations, in the order DC0, DC1, AC0, AC1 **Description** Returns 0 or negative error if parsing failed.h](jG)}(h**Parameters**h]jv)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1juhjubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chM hjubj)}(hhh](j)}(hI``void *buf`` address of the Huffman table segment, after the DHT 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.chMhjubj)}(hhh]jG)}(h:address of the Huffman table segment, after the DHT markerh]h:address of the Huffman table segment, after the DHT marker}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h3``size_t len`` length of the Huffman table segment 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.chM hjubj)}(hhh]jG)}(h#length of the Huffman table segmenth]h#length of the Huffman table segment}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhjhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM hjubj)}(h``struct v4l2_jpeg_reference *huffman_tables`` returns four references into the buffer for the four possible Huffman table destinations, in the order DC0, DC1, AC0, AC1 h](j)}(h.``struct v4l2_jpeg_reference *huffman_tables``h]j)}(hj5h]h*struct v4l2_jpeg_reference *huffman_tables}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chM hj/ubj)}(hhh]jG)}(hyreturns four references into the buffer for the four possible Huffman table destinations, in the order DC0, DC1, AC0, AC1h]hyreturns four references into the buffer for the four possible Huffman table destinations, in the order DC0, DC1, AC0, AC1}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chM hjKubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhjJhM hjubeh}(h]h ]h"]h$]h&]uh1jhjubjG)}(h**Description**h]jv)}(hjqh]h Description}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1juhjoubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubjG)}(h.Returns 0 or negative error if parsing failed.h]h.Returns 0 or negative error if parsing failed.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jFhm/var/lib/git/docbuild/linux/Documentation/driver-api/media/v4l2-jpeg:9: ./drivers/media/v4l2-core/v4l2-jpeg.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jkhhhhhNhNubeh}(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_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}jjs nametypes}jsh}(jhhhjyj~j-j2jSjXjjj j j j jjj2j7jjj,j1j+j0u 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.