drivers/media/platform/allegro-dvt/nal-h264.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/allegro-dvt/nal-h264.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/allegro-dvt/nal-h264.h- Extension
.h- Size
- 11785 bytes
- Lines
- 405
- Domain
- Driver Families
- Bucket
- drivers/media
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/errno.hlinux/kernel.hlinux/types.hlinux/v4l2-controls.hlinux/videodev2.h
Detected Declarations
struct nal_h264_hrd_parametersstruct nal_h264_vui_parametersstruct nal_h264_spsstruct nal_h264_ppsfunction nal_h264_profilefunction nal_h264_levelfunction nal_h264_full_rangefunction nal_h264_color_primariesfunction nal_h264_transfer_characteristicsfunction nal_h264_matrix_coeffs
Annotated Snippet
struct nal_h264_hrd_parameters {
unsigned int cpb_cnt_minus1;
unsigned int bit_rate_scale;
unsigned int cpb_size_scale;
struct {
int bit_rate_value_minus1[16];
int cpb_size_value_minus1[16];
unsigned int cbr_flag[16];
};
unsigned int initial_cpb_removal_delay_length_minus1;
unsigned int cpb_removal_delay_length_minus1;
unsigned int dpb_output_delay_length_minus1;
unsigned int time_offset_length;
};
/*
* struct nal_h264_vui_parameters - VUI parameters
*
* C struct representation of the VUI parameters as defined by Rec. ITU-T
* H.264 (04/2017) E.1.1 VUI parameters syntax.
*/
struct nal_h264_vui_parameters {
unsigned int aspect_ratio_info_present_flag;
struct {
unsigned int aspect_ratio_idc;
unsigned int sar_width;
unsigned int sar_height;
};
unsigned int overscan_info_present_flag;
unsigned int overscan_appropriate_flag;
unsigned int video_signal_type_present_flag;
struct {
unsigned int video_format;
unsigned int video_full_range_flag;
unsigned int colour_description_present_flag;
struct {
unsigned int colour_primaries;
unsigned int transfer_characteristics;
unsigned int matrix_coefficients;
};
};
unsigned int chroma_loc_info_present_flag;
struct {
unsigned int chroma_sample_loc_type_top_field;
unsigned int chroma_sample_loc_type_bottom_field;
};
unsigned int timing_info_present_flag;
struct {
unsigned int num_units_in_tick;
unsigned int time_scale;
unsigned int fixed_frame_rate_flag;
};
unsigned int nal_hrd_parameters_present_flag;
struct nal_h264_hrd_parameters nal_hrd_parameters;
unsigned int vcl_hrd_parameters_present_flag;
struct nal_h264_hrd_parameters vcl_hrd_parameters;
unsigned int low_delay_hrd_flag;
unsigned int pic_struct_present_flag;
unsigned int bitstream_restriction_flag;
struct {
unsigned int motion_vectors_over_pic_boundaries_flag;
unsigned int max_bytes_per_pic_denom;
unsigned int max_bits_per_mb_denom;
unsigned int log2_max_mv_length_horizontal;
unsigned int log21_max_mv_length_vertical;
unsigned int max_num_reorder_frames;
unsigned int max_dec_frame_buffering;
};
};
/*
* struct nal_h264_sps - Sequence parameter set
*
* C struct representation of the sequence parameter set NAL unit as defined by
* Rec. ITU-T H.264 (04/2017) 7.3.2.1.1 Sequence parameter set data syntax.
*/
struct nal_h264_sps {
unsigned int profile_idc;
unsigned int constraint_set0_flag;
unsigned int constraint_set1_flag;
unsigned int constraint_set2_flag;
unsigned int constraint_set3_flag;
unsigned int constraint_set4_flag;
unsigned int constraint_set5_flag;
unsigned int reserved_zero_2bits;
unsigned int level_idc;
unsigned int seq_parameter_set_id;
struct {
unsigned int chroma_format_idc;
unsigned int separate_colour_plane_flag;
Annotation
- Immediate include surface: `linux/errno.h`, `linux/kernel.h`, `linux/types.h`, `linux/v4l2-controls.h`, `linux/videodev2.h`.
- Detected declarations: `struct nal_h264_hrd_parameters`, `struct nal_h264_vui_parameters`, `struct nal_h264_sps`, `struct nal_h264_pps`, `function nal_h264_profile`, `function nal_h264_level`, `function nal_h264_full_range`, `function nal_h264_color_primaries`, `function nal_h264_transfer_characteristics`, `function nal_h264_matrix_coeffs`.
- Atlas domain: Driver Families / drivers/media.
- 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.