drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_h264_req_common.h
Source file repositories/reference/linux-study-clean/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_h264_req_common.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_h264_req_common.h- Extension
.h- Size
- 8065 bytes
- Lines
- 281
- 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/module.hlinux/slab.hmedia/v4l2-h264.hmedia/v4l2-mem2mem.hmedia/videobuf2-dma-contig.h../mtk_vcodec_dec_drv.h
Detected Declarations
struct mtk_h264_dpb_infostruct mtk_h264_sps_paramstruct mtk_h264_pps_paramstruct mtk_h264_slice_hd_paramstruct slice_api_h264_scaling_matrixstruct slice_h264_dpb_entrystruct slice_api_h264_decode_paramstruct h264_fb
Annotated Snippet
struct mtk_h264_dpb_info {
dma_addr_t y_dma_addr;
dma_addr_t c_dma_addr;
int reference_flag;
int field;
};
/*
* struct mtk_h264_sps_param - parameters for sps
*/
struct mtk_h264_sps_param {
unsigned char chroma_format_idc;
unsigned char bit_depth_luma_minus8;
unsigned char bit_depth_chroma_minus8;
unsigned char log2_max_frame_num_minus4;
unsigned char pic_order_cnt_type;
unsigned char log2_max_pic_order_cnt_lsb_minus4;
unsigned char max_num_ref_frames;
unsigned char separate_colour_plane_flag;
unsigned short pic_width_in_mbs_minus1;
unsigned short pic_height_in_map_units_minus1;
unsigned int max_frame_nums;
unsigned char qpprime_y_zero_transform_bypass_flag;
unsigned char delta_pic_order_always_zero_flag;
unsigned char frame_mbs_only_flag;
unsigned char mb_adaptive_frame_field_flag;
unsigned char direct_8x8_inference_flag;
unsigned char reserved[3];
};
/*
* struct mtk_h264_pps_param - parameters for pps
*/
struct mtk_h264_pps_param {
unsigned char num_ref_idx_l0_default_active_minus1;
unsigned char num_ref_idx_l1_default_active_minus1;
unsigned char weighted_bipred_idc;
char pic_init_qp_minus26;
char chroma_qp_index_offset;
char second_chroma_qp_index_offset;
unsigned char entropy_coding_mode_flag;
unsigned char pic_order_present_flag;
unsigned char deblocking_filter_control_present_flag;
unsigned char constrained_intra_pred_flag;
unsigned char weighted_pred_flag;
unsigned char redundant_pic_cnt_present_flag;
unsigned char transform_8x8_mode_flag;
unsigned char scaling_matrix_present_flag;
unsigned char reserved[2];
};
/*
* struct mtk_h264_slice_hd_param - parameters for slice header
*/
struct mtk_h264_slice_hd_param {
unsigned int first_mb_in_slice;
unsigned int field_pic_flag;
unsigned int slice_type;
unsigned int frame_num;
int pic_order_cnt_lsb;
int delta_pic_order_cnt_bottom;
unsigned int bottom_field_flag;
unsigned int direct_spatial_mv_pred_flag;
int delta_pic_order_cnt0;
int delta_pic_order_cnt1;
unsigned int cabac_init_idc;
int slice_qp_delta;
unsigned int disable_deblocking_filter_idc;
int slice_alpha_c0_offset_div2;
int slice_beta_offset_div2;
unsigned int num_ref_idx_l0_active_minus1;
unsigned int num_ref_idx_l1_active_minus1;
unsigned int reserved;
};
/*
* struct slice_api_h264_scaling_matrix - parameters for scaling list
*/
struct slice_api_h264_scaling_matrix {
unsigned char scaling_list_4x4[6][16];
unsigned char scaling_list_8x8[6][64];
};
/*
* struct slice_h264_dpb_entry - each dpb information
*/
struct slice_h264_dpb_entry {
unsigned long long reference_ts;
unsigned short frame_num;
unsigned short pic_num;
Annotation
- Immediate include surface: `linux/module.h`, `linux/slab.h`, `media/v4l2-h264.h`, `media/v4l2-mem2mem.h`, `media/videobuf2-dma-contig.h`, `../mtk_vcodec_dec_drv.h`.
- Detected declarations: `struct mtk_h264_dpb_info`, `struct mtk_h264_sps_param`, `struct mtk_h264_pps_param`, `struct mtk_h264_slice_hd_param`, `struct slice_api_h264_scaling_matrix`, `struct slice_h264_dpb_entry`, `struct slice_api_h264_decode_param`, `struct h264_fb`.
- 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.