mediaframe/source/
gbrap16.rs1use crate::frame::{Gbrap16Frame, GbrapHighBitFrame};
8
9walker! {
10 planar4_bits_be {
11 #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
14 marker: Gbrap16,
15 frame: Gbrap16Frame,
16 generic_frame: GbrapHighBitFrame,
17 bits: 16,
18 row: Gbrap16Row,
19 sink: Gbrap16Sink,
20 walker: gbrap16_to,
21 walker_endian: gbrap16_to_endian,
22 walker_inner: gbrap16_walker,
23 elem_type: u16,
24 row_doc: "One output row of a [`Gbrap16`] source — four full-width\n\
25 `u16` planes in G / B / R / A order (full 16-bit range).",
26 walker_doc: "Walks a [`Gbrap16Frame<'_, BE>`] row by row into the sink.",
27 }
28}
29
30impl<'a> Gbrap16Row<'a> {
31 #[cfg_attr(not(tarpaulin), inline(always))]
33 pub fn g(&self) -> &'a [u16] {
34 self.y()
35 }
36 #[cfg_attr(not(tarpaulin), inline(always))]
38 pub fn b(&self) -> &'a [u16] {
39 self.u()
40 }
41 #[cfg_attr(not(tarpaulin), inline(always))]
43 pub fn r(&self) -> &'a [u16] {
44 self.v()
45 }
46 }