drivers/media/test-drivers/visl/visl-dec.h
Source file repositories/reference/linux-study-clean/drivers/media/test-drivers/visl/visl-dec.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/test-drivers/visl/visl-dec.h- Extension
.h- Size
- 2020 bytes
- Lines
- 79
- 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.hvisl.h
Detected Declarations
struct visl_fwht_runstruct visl_mpeg2_runstruct visl_vp8_runstruct visl_vp9_runstruct visl_h264_runstruct visl_hevc_runstruct visl_av1_runstruct visl_run
Annotated Snippet
struct visl_fwht_run {
const struct v4l2_ctrl_fwht_params *params;
};
struct visl_mpeg2_run {
const struct v4l2_ctrl_mpeg2_sequence *seq;
const struct v4l2_ctrl_mpeg2_picture *pic;
const struct v4l2_ctrl_mpeg2_quantisation *quant;
};
struct visl_vp8_run {
const struct v4l2_ctrl_vp8_frame *frame;
};
struct visl_vp9_run {
const struct v4l2_ctrl_vp9_frame *frame;
const struct v4l2_ctrl_vp9_compressed_hdr *probs;
};
struct visl_h264_run {
const struct v4l2_ctrl_h264_sps *sps;
const struct v4l2_ctrl_h264_pps *pps;
const struct v4l2_ctrl_h264_scaling_matrix *sm;
const struct v4l2_ctrl_h264_slice_params *spram;
const struct v4l2_ctrl_h264_decode_params *dpram;
const struct v4l2_ctrl_h264_pred_weights *pwht;
};
struct visl_hevc_run {
const struct v4l2_ctrl_hevc_sps *sps;
const struct v4l2_ctrl_hevc_pps *pps;
const struct v4l2_ctrl_hevc_slice_params *spram;
const struct v4l2_ctrl_hevc_scaling_matrix *sm;
const struct v4l2_ctrl_hevc_decode_params *dpram;
const struct v4l2_ctrl_hevc_ext_sps_lt_rps *rps_lt;
const struct v4l2_ctrl_hevc_ext_sps_st_rps *rps_st;
};
struct visl_av1_run {
const struct v4l2_ctrl_av1_sequence *seq;
const struct v4l2_ctrl_av1_frame *frame;
const struct v4l2_ctrl_av1_tile_group_entry *tge;
const struct v4l2_ctrl_av1_film_grain *grain;
};
struct visl_run {
struct vb2_v4l2_buffer *src;
struct vb2_v4l2_buffer *dst;
union {
struct visl_fwht_run fwht;
struct visl_mpeg2_run mpeg2;
struct visl_vp8_run vp8;
struct visl_vp9_run vp9;
struct visl_h264_run h264;
struct visl_hevc_run hevc;
struct visl_av1_run av1;
};
};
int visl_dec_start(struct visl_ctx *ctx);
int visl_dec_stop(struct visl_ctx *ctx);
int visl_job_ready(void *priv);
void visl_device_run(void *priv);
#endif /* _VISL_DEC_H_ */
Annotation
- Immediate include surface: `linux/v4l2-controls.h`, `visl.h`.
- Detected declarations: `struct visl_fwht_run`, `struct visl_mpeg2_run`, `struct visl_vp8_run`, `struct visl_vp9_run`, `struct visl_h264_run`, `struct visl_hevc_run`, `struct visl_av1_run`, `struct visl_run`.
- 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.