mediaframe/source/
p210.rs1use crate::frame::PnFrame422;
16
17walker! {
18 semi_planar_be {
19 #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
21 marker: P210,
22 frame: PnFrame422<'_, 10, BE>,
23 frame_le: PnFrame422<'_, 10, false>,
24 row: P210Row,
25 sink: P210Sink,
26 walker: p210_to,
27 walker_endian: p210_to_endian,
28 elem_type: u16,
29 chroma_field: uv_half,
30 chroma_plane: uv,
31 chroma_stride: uv_stride,
32 chroma_elems_per_row: |w| w,
33 chroma_v: full,
34 row_doc: "One output row of a P210 source handed to a [`P210Sink`].\n\n\
35 Carries borrows to the source slices (full-width Y, half-width interleaved\n\
36 UV — full-height, one UV row per Y row) plus the row index and\n\
37 matrix/range carry-throughs. Each `u16` element is high-bit-packed.",
38 walker_doc: "Walks a [`P210Frame`](crate::frame::P210Frame) row by row into the sink. Each Y row has its\n\
39 own corresponding UV row (4:2:2 — full-height chroma).",
40 }
41}