mediaframe/source/
p410.rs1use crate::frame::PnFrame444;
16
17walker! {
18 semi_planar_be {
19 #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
21 marker: P410,
22 frame: PnFrame444<'_, 10, BE>,
23 frame_le: PnFrame444<'_, 10, false>,
24 row: P410Row,
25 sink: P410Sink,
26 walker: p410_to,
27 walker_endian: p410_to_endian,
28 elem_type: u16,
29 chroma_field: uv_full,
30 chroma_plane: uv,
31 chroma_stride: uv_stride,
32 chroma_elems_per_row: |w| 2 * w,
33 chroma_v: full,
34 row_doc: "One output row of a P410 source handed to a [`P410Sink`].\n\n\
35 Carries borrows to the source slices (full-width Y, full-width interleaved\n\
36 UV — `2 * width` u16 elements) plus the row index and matrix/range\n\
37 carry-throughs. Each `u16` element is high-bit-packed (10 bits).",
38 walker_doc: "Walks a [`P410Frame`](crate::frame::P410Frame) row by row into the sink.",
39 }
40}