include/media/v4l2-vp9.h
Source file repositories/reference/linux-study-clean/include/media/v4l2-vp9.h
File Facts
- System
- Linux kernel
- Corpus path
include/media/v4l2-vp9.h- Extension
.h- Size
- 8522 bytes
- Lines
- 234
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
media/v4l2-ctrls.h
Detected Declarations
struct v4l2_vp9_frame_mv_contextstruct v4l2_vp9_frame_contextstruct v4l2_vp9_frame_symbol_counts
Annotated Snippet
struct v4l2_vp9_frame_mv_context {
u8 joint[3];
u8 sign[2];
u8 classes[2][10];
u8 class0_bit[2];
u8 bits[2][10];
u8 class0_fr[2][2][3];
u8 fr[2][3];
u8 class0_hp[2];
u8 hp[2];
};
/**
* struct v4l2_vp9_frame_context - frame probabilities, including motion-vector related
*
* @tx8: TX 8x8 probabilities.
* @tx16: TX 16x16 probabilities.
* @tx32: TX 32x32 probabilities.
* @coef: coefficient probabilities.
* @skip: skip probabilities.
* @inter_mode: inter mode probabilities.
* @interp_filter: interpolation filter probabilities.
* @is_inter: is inter-block probabilities.
* @comp_mode: compound prediction mode probabilities.
* @single_ref: single ref probabilities.
* @comp_ref: compound ref probabilities.
* @y_mode: Y prediction mode probabilities.
* @uv_mode: UV prediction mode probabilities.
* @partition: partition probabilities.
* @mv: motion vector probabilities.
*
* Drivers which need to keep track of frame context(s) can use this struct.
* The members correspond to probability tables, which are specified only implicitly in the
* vp9 spec. Section 10.5 "Default probability tables" contains all the types of involved
* tables, i.e. the actual tables are of the same kind, and when they are reset (which is
* mandated by the spec sometimes) they are overwritten with values from the default tables.
*/
struct v4l2_vp9_frame_context {
u8 tx8[2][1];
u8 tx16[2][2];
u8 tx32[2][3];
u8 coef[4][2][2][6][6][3];
u8 skip[3];
u8 inter_mode[7][3];
u8 interp_filter[4][2];
u8 is_inter[4];
u8 comp_mode[5];
u8 single_ref[5][2];
u8 comp_ref[5];
u8 y_mode[4][9];
u8 uv_mode[10][9];
u8 partition[16][3];
struct v4l2_vp9_frame_mv_context mv;
};
/**
* struct v4l2_vp9_frame_symbol_counts - pointers to arrays of symbol counts
*
* @partition: partition counts.
* @skip: skip counts.
* @intra_inter: is inter-block counts.
* @tx32p: TX32 counts.
* @tx16p: TX16 counts.
* @tx8p: TX8 counts.
* @y_mode: Y prediction mode counts.
* @uv_mode: UV prediction mode counts.
* @comp: compound prediction mode counts.
* @comp_ref: compound ref counts.
* @single_ref: single ref counts.
* @mv_mode: inter mode counts.
* @filter: interpolation filter counts.
* @mv_joint: motion vector joint counts.
* @sign: motion vector sign counts.
* @classes: motion vector class counts.
* @class0: motion vector class0 bit counts.
* @bits: motion vector bits counts.
* @class0_fp: motion vector class0 fractional bit counts.
* @fp: motion vector fractional bit counts.
* @class0_hp: motion vector class0 high precision fractional bit counts.
* @hp: motion vector high precision fractional bit counts.
* @coeff: coefficient counts.
* @eob: eob counts
*
* The fields correspond to what is specified in section 8.3 "Clear counts process" of the spec.
* Different pieces of hardware can report the counts in different order, so we cannot rely on
* simply overlaying a struct on a relevant block of memory. Instead we provide pointers to
* arrays or array of pointers to arrays in case of coeff, or array of pointers for eob.
*/
struct v4l2_vp9_frame_symbol_counts {
Annotation
- Immediate include surface: `media/v4l2-ctrls.h`.
- Detected declarations: `struct v4l2_vp9_frame_mv_context`, `struct v4l2_vp9_frame_context`, `struct v4l2_vp9_frame_symbol_counts`.
- Atlas domain: Repository Root And Misc / include.
- 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.