drivers/media/platform/allegro-dvt/nal-hevc.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/allegro-dvt/nal-hevc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/allegro-dvt/nal-hevc.h- Extension
.h- Size
- 15919 bytes
- Lines
- 521
- 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_hevc_profile_tier_levelstruct nal_hevc_vpsstruct nal_hevc_sub_layer_hrd_parametersstruct nal_hevc_hrd_parametersstruct nal_hevc_vui_parametersstruct nal_hevc_spsstruct nal_hevc_ppsfunction nal_hevc_profilefunction nal_hevc_tierfunction nal_hevc_levelfunction nal_hevc_full_rangefunction nal_hevc_color_primariesfunction nal_hevc_transfer_characteristicsfunction nal_hevc_matrix_coeffs
Annotated Snippet
struct nal_hevc_profile_tier_level {
unsigned int general_profile_space;
unsigned int general_tier_flag;
unsigned int general_profile_idc;
unsigned int general_profile_compatibility_flag[32];
unsigned int general_progressive_source_flag;
unsigned int general_interlaced_source_flag;
unsigned int general_non_packed_constraint_flag;
unsigned int general_frame_only_constraint_flag;
union {
struct {
unsigned int general_max_12bit_constraint_flag;
unsigned int general_max_10bit_constraint_flag;
unsigned int general_max_8bit_constraint_flag;
unsigned int general_max_422chroma_constraint_flag;
unsigned int general_max_420chroma_constraint_flag;
unsigned int general_max_monochrome_constraint_flag;
unsigned int general_intra_constraint_flag;
unsigned int general_one_picture_only_constraint_flag;
unsigned int general_lower_bit_rate_constraint_flag;
union {
struct {
unsigned int general_max_14bit_constraint_flag;
unsigned int general_reserved_zero_33bits;
};
unsigned int general_reserved_zero_34bits;
};
};
struct {
unsigned int general_reserved_zero_7bits;
/* unsigned int general_one_picture_only_constraint_flag; */
unsigned int general_reserved_zero_35bits;
};
unsigned int general_reserved_zero_43bits;
};
union {
unsigned int general_inbld_flag;
unsigned int general_reserved_zero_bit;
};
unsigned int general_level_idc;
};
/*
* struct nal_hevc_vps - Video parameter set
*
* C struct representation of the video parameter set NAL unit as defined by
* Rec. ITU-T H.265 (02/2018) 7.3.2.1 Video parameter set RBSP syntax
*/
struct nal_hevc_vps {
unsigned int video_parameter_set_id;
unsigned int base_layer_internal_flag;
unsigned int base_layer_available_flag;
unsigned int max_layers_minus1;
unsigned int max_sub_layers_minus1;
unsigned int temporal_id_nesting_flag;
struct nal_hevc_profile_tier_level profile_tier_level;
unsigned int sub_layer_ordering_info_present_flag;
struct {
unsigned int max_dec_pic_buffering_minus1[7];
unsigned int max_num_reorder_pics[7];
unsigned int max_latency_increase_plus1[7];
};
unsigned int max_layer_id;
unsigned int num_layer_sets_minus1;
unsigned int layer_id_included_flag[1024][64];
unsigned int timing_info_present_flag;
struct {
unsigned int num_units_in_tick;
unsigned int time_scale;
unsigned int poc_proportional_to_timing_flag;
unsigned int num_ticks_poc_diff_one_minus1;
unsigned int num_hrd_parameters;
struct {
unsigned int hrd_layer_set_idx[0];
unsigned int cprms_present_flag[0];
};
/* hrd_parameters( cprms_present_flag[ i ], max_sub_layers_minus1 ) */
};
unsigned int extension_flag;
unsigned int extension_data_flag;
};
#define N_HRD_PARAMS 1
struct nal_hevc_sub_layer_hrd_parameters {
unsigned int bit_rate_value_minus1[N_HRD_PARAMS];
unsigned int cpb_size_value_minus1[N_HRD_PARAMS];
unsigned int cbr_flag[N_HRD_PARAMS];
};
struct nal_hevc_hrd_parameters {
Annotation
- Immediate include surface: `linux/errno.h`, `linux/kernel.h`, `linux/types.h`, `linux/v4l2-controls.h`, `linux/videodev2.h`.
- Detected declarations: `struct nal_hevc_profile_tier_level`, `struct nal_hevc_vps`, `struct nal_hevc_sub_layer_hrd_parameters`, `struct nal_hevc_hrd_parameters`, `struct nal_hevc_vui_parameters`, `struct nal_hevc_sps`, `struct nal_hevc_pps`, `function nal_hevc_profile`, `function nal_hevc_tier`, `function nal_hevc_level`.
- 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.