include/media/v4l2-jpeg.h
Source file repositories/reference/linux-study-clean/include/media/v4l2-jpeg.h
File Facts
- System
- Linux kernel
- Corpus path
include/media/v4l2-jpeg.h- Extension
.h- Size
- 6141 bytes
- Lines
- 181
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/v4l2-controls.h
Detected Declarations
struct v4l2_jpeg_referencestruct v4l2_jpeg_frame_component_specstruct v4l2_jpeg_frame_headerstruct v4l2_jpeg_scan_component_specstruct v4l2_jpeg_scan_headerstruct v4l2_jpeg_headerenum v4l2_jpeg_app14_tf
Annotated Snippet
struct v4l2_jpeg_reference {
u8 *start;
size_t length;
};
/* B.2.2 Frame header syntax */
/**
* struct v4l2_jpeg_frame_component_spec - frame component-specification
* @component_identifier: C[i]
* @horizontal_sampling_factor: H[i]
* @vertical_sampling_factor: V[i]
* @quantization_table_selector: quantization table destination selector Tq[i]
*/
struct v4l2_jpeg_frame_component_spec {
u8 component_identifier;
u8 horizontal_sampling_factor;
u8 vertical_sampling_factor;
u8 quantization_table_selector;
};
/**
* struct v4l2_jpeg_frame_header - JPEG frame header
* @height: Y
* @width: X
* @precision: P
* @num_components: Nf
* @component: component-specification, see v4l2_jpeg_frame_component_spec
* @subsampling: decoded subsampling from component-specification
*/
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;
};
/* B.2.3 Scan header syntax */
/**
* struct v4l2_jpeg_scan_component_spec - scan component-specification
* @component_selector: Cs[j]
* @dc_entropy_coding_table_selector: Td[j]
* @ac_entropy_coding_table_selector: Ta[j]
*/
struct v4l2_jpeg_scan_component_spec {
u8 component_selector;
u8 dc_entropy_coding_table_selector;
u8 ac_entropy_coding_table_selector;
};
/**
* struct v4l2_jpeg_scan_header - JPEG scan header
* @num_components: Ns
* @component: component-specification, see v4l2_jpeg_scan_component_spec
*/
struct v4l2_jpeg_scan_header {
u8 num_components; /* Ns */
struct v4l2_jpeg_scan_component_spec component[V4L2_JPEG_MAX_COMPONENTS];
/* Ss, Se, Ah, and Al are not used by any driver */
};
/**
* enum v4l2_jpeg_app14_tf - APP14 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:
* @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 present
*/
enum v4l2_jpeg_app14_tf {
V4L2_JPEG_APP14_TF_CMYK_RGB = 0,
V4L2_JPEG_APP14_TF_YCBCR = 1,
V4L2_JPEG_APP14_TF_YCCK = 2,
V4L2_JPEG_APP14_TF_UNKNOWN = -1,
};
/**
* struct v4l2_jpeg_header - parsed JPEG header
* @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
Annotation
- Immediate include surface: `linux/v4l2-controls.h`.
- Detected declarations: `struct v4l2_jpeg_reference`, `struct v4l2_jpeg_frame_component_spec`, `struct v4l2_jpeg_frame_header`, `struct v4l2_jpeg_scan_component_spec`, `struct v4l2_jpeg_scan_header`, `struct v4l2_jpeg_header`, `enum v4l2_jpeg_app14_tf`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.