mediaframe/source/
yuv422p.rs1use crate::frame::Yuv422pFrame;
10
11walker! {
12 planar3 {
13 #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
16 marker: Yuv422p,
17 frame: Yuv422pFrame<'_>,
18 row: Yuv422pRow,
19 sink: Yuv422pSink,
20 walker: yuv422p_to,
21 elem_type: u8,
22 chroma_h: half,
23 chroma_v: full,
24 row_doc: "One output row of a YUV 4:2:2 source handed to a [`Yuv422pSink`].\n\n\
25 Carries borrows to the source slices (full-width Y, half-width U/V) plus\n\
26 the row index and matrix/range carry-throughs. Unlike 4:2:0, no two Y\n\
27 rows share a chroma row — the walker advances U/V every row.",
28 walker_doc: "Converts a YUV 4:2:2 frame by walking its rows and feeding each one\n\
29 to the [`Yuv422pSink`]. Chroma advances every row (vs 4:2:0's `row / 2`).",
30 }
31}