drivers/media/test-drivers/visl/visl-trace-hevc.h
Source file repositories/reference/linux-study-clean/drivers/media/test-drivers/visl/visl-trace-hevc.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/test-drivers/visl/visl-trace-hevc.h- Extension
.h- Size
- 17978 bytes
- Lines
- 465
- 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/v4l2-controls.hlinux/tracepoint.hvisl.htrace/define_trace.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#include "linux/v4l2-controls.h"
#if !defined(_VISL_TRACE_HEVC_H_) || defined(TRACE_HEADER_MULTI_READ)
#define _VISL_TRACE_HEVC_H_
#include <linux/tracepoint.h>
#include "visl.h"
#undef TRACE_SYSTEM
#define TRACE_SYSTEM visl_hevc_controls
DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_sps_tmpl,
TP_PROTO(const struct v4l2_ctrl_hevc_sps *s),
TP_ARGS(s),
TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_sps, s)),
TP_fast_assign(__entry->s = *s),
TP_printk("\nvideo_parameter_set_id %u\n"
"seq_parameter_set_id %u\n"
"pic_width_in_luma_samples %u\n"
"pic_height_in_luma_samples %u\n"
"bit_depth_luma_minus8 %u\n"
"bit_depth_chroma_minus8 %u\n"
"log2_max_pic_order_cnt_lsb_minus4 %u\n"
"sps_max_dec_pic_buffering_minus1 %u\n"
"sps_max_num_reorder_pics %u\n"
"sps_max_latency_increase_plus1 %u\n"
"log2_min_luma_coding_block_size_minus3 %u\n"
"log2_diff_max_min_luma_coding_block_size %u\n"
"log2_min_luma_transform_block_size_minus2 %u\n"
"log2_diff_max_min_luma_transform_block_size %u\n"
"max_transform_hierarchy_depth_inter %u\n"
"max_transform_hierarchy_depth_intra %u\n"
"pcm_sample_bit_depth_luma_minus1 %u\n"
"pcm_sample_bit_depth_chroma_minus1 %u\n"
"log2_min_pcm_luma_coding_block_size_minus3 %u\n"
"log2_diff_max_min_pcm_luma_coding_block_size %u\n"
"num_short_term_ref_pic_sets %u\n"
"num_long_term_ref_pics_sps %u\n"
"chroma_format_idc %u\n"
"sps_max_sub_layers_minus1 %u\n"
"flags %s",
__entry->s.video_parameter_set_id,
__entry->s.seq_parameter_set_id,
__entry->s.pic_width_in_luma_samples,
__entry->s.pic_height_in_luma_samples,
__entry->s.bit_depth_luma_minus8,
__entry->s.bit_depth_chroma_minus8,
__entry->s.log2_max_pic_order_cnt_lsb_minus4,
__entry->s.sps_max_dec_pic_buffering_minus1,
__entry->s.sps_max_num_reorder_pics,
__entry->s.sps_max_latency_increase_plus1,
__entry->s.log2_min_luma_coding_block_size_minus3,
__entry->s.log2_diff_max_min_luma_coding_block_size,
__entry->s.log2_min_luma_transform_block_size_minus2,
__entry->s.log2_diff_max_min_luma_transform_block_size,
__entry->s.max_transform_hierarchy_depth_inter,
__entry->s.max_transform_hierarchy_depth_intra,
__entry->s.pcm_sample_bit_depth_luma_minus1,
__entry->s.pcm_sample_bit_depth_chroma_minus1,
__entry->s.log2_min_pcm_luma_coding_block_size_minus3,
__entry->s.log2_diff_max_min_pcm_luma_coding_block_size,
__entry->s.num_short_term_ref_pic_sets,
__entry->s.num_long_term_ref_pics_sps,
__entry->s.chroma_format_idc,
__entry->s.sps_max_sub_layers_minus1,
__print_flags(__entry->s.flags, "|",
{V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE, "SEPARATE_COLOUR_PLANE"},
{V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED, "SCALING_LIST_ENABLED"},
{V4L2_HEVC_SPS_FLAG_AMP_ENABLED, "AMP_ENABLED"},
{V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET, "SAMPLE_ADAPTIVE_OFFSET"},
{V4L2_HEVC_SPS_FLAG_PCM_ENABLED, "PCM_ENABLED"},
{V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED, "V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED"},
{V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT, "LONG_TERM_REF_PICS_PRESENT"},
{V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED, "TEMPORAL_MVP_ENABLED"},
{V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED, "STRONG_INTRA_SMOOTHING_ENABLED"}
))
);
DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_pps_tmpl,
TP_PROTO(const struct v4l2_ctrl_hevc_pps *p),
TP_ARGS(p),
TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_pps, p)),
TP_fast_assign(__entry->p = *p),
TP_printk("\npic_parameter_set_id %u\n"
"num_extra_slice_header_bits %u\n"
"num_ref_idx_l0_default_active_minus1 %u\n"
"num_ref_idx_l1_default_active_minus1 %u\n"
"init_qp_minus26 %d\n"
"diff_cu_qp_delta_depth %u\n"
Annotation
- Immediate include surface: `linux/v4l2-controls.h`, `linux/tracepoint.h`, `visl.h`, `trace/define_trace.h`.
- 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.