pub struct StereoVideoBox<'a> {
pub full_header: FullBoxHeader,
pub single_view_allowed: u8,
pub stereo_scheme: u32,
pub length: u32,
pub stereo_indication_type: BytesCow<'a>,
pub any_box: Vec<UnknownBox<'a>>,
}Expand description
Stereo video box
ISO/IEC 14496-12 - 8.15.4.2
Fields§
§full_header: FullBoxHeaderThe full box header.
single_view_allowed: u8An integer. A zero value indicates that the content may only be displayed on
stereoscopic displays. When (single_view_allowed & 1) is equal to 1, it is allowed to display the
right view on a monoscopic single-view display. When (single_view_allowed & 2) is equal to 2, it is
allowed to display the left view on a monoscopic single-view display.
stereo_scheme: u32An integer that indicates the stereo arrangement scheme used and the stereo
indication type according to the used scheme.
The following values for stereo_scheme are specified:
1: The frame packing scheme as specified by the Frame packing arrangement Supplemental Enhancement Information message of ISO/IEC 14496-10:2014.2: The stereo scheme as specified in ISO/IEC 23000-11 for both frame/service compatible and 2D/3D mixed services.3: The arrangement type scheme as specified in ISO/IEC 13818-2:2013, Annex D a value ofVideoFramePackingTypeas defined in ISO/IEC 23091-2.
Other values of stereo_scheme are reserved.
length: u32Indicates the number of bytes for the stereo_indication_type field.
stereo_indication_type: BytesCow<'a>Indicates the stereo arrangement type according to the used stereo indication
scheme. The syntax and semantics of stereo_indication_type depend on the value of stereo_scheme.
The syntax and semantics for stereo_indication_type for the following values of stereo_
scheme are specified as follows:
stereo_schemeequal to 1: The value of length shall be 4 andstereo_indication_typeshall beunsigned int(32)which contains theframe_packing_arrangement_typevalue from ISO/IEC 14496-10:2014, Table D.8 (‘Definition of frame_packing_arrangement_type’).stereo_schemeequal to 2: The value of length shall be 4 andstereo_indication_typeshall beunsigned int(32)which contains the type value from ISO/IEC 13818-2:2013, Table D.1 (‘Definition of arrangement_type’).stereo_schemeequal to 3: The value of length shall be 2 andstereo_indication_typeshall contain two syntax elements ofunsigned int(8). The first syntax element shall contain the stereoscopic composition type from ISO/IEC 23000-11:2009, Table 4. The least significant bit of the second syntax element shall contain the value ofis_left_firstas specified in ISO/IEC 23000-11:2009, subclause 8.4.3, while the other bits are reserved and shall be set to 0.stereo_schemeequal to 4: The value of length shall be 2 andstereo_indication_typeshall contain two syntax elements ofunsigned int(8). The first syntax element shall contain aVideoFramePackingTypefrom ISO/IEC 23091-2. The least significant bit of the second syntax element shall contain the value ofQuincunxSamplingFlagas specified in ISO/IEC 23091-2, while the other bits are reserved and shall be set to 0.PackedContentInterpretationTypespecified in ISO/IEC 23091-2 is inferred to be equal to 1.stereo_schemeequal to 5: The value of length shall be 3 andstereo_indication_typeshall contain three syntax elements of typeunsigned int(8). The first syntax element shall contain aVideoFramePackingTypefrom ISO/IEC 23091-2. The least significant bit of the second syntax element shall contain the value ofQuincunxSamplingFlagas specified in ISO/IEC 23091-2, while the other bits are reserved and shall be set to 0. The third syntax element shall contain thePackedContentInterpretationTypefrom ISO/IEC 23091-2.
any_box: Vec<UnknownBox<'a>>Any other contained boxes.
Trait Implementations§
Source§impl<'a> Debug for StereoVideoBox<'a>
impl<'a> Debug for StereoVideoBox<'a>
Source§impl<'a> Deserialize<'a> for StereoVideoBox<'a>
impl<'a> Deserialize<'a> for StereoVideoBox<'a>
Source§fn deserialize<R>(reader: R) -> Result<Self>where
R: ZeroCopyReader<'a>,
fn deserialize<R>(reader: R) -> Result<Self>where
R: ZeroCopyReader<'a>,
Source§impl<'a> DeserializeSeed<'a, BoxHeader> for StereoVideoBox<'a>
impl<'a> DeserializeSeed<'a, BoxHeader> for StereoVideoBox<'a>
Source§fn deserialize_seed<R>(reader: R, _seed: BoxHeader) -> Result<Self>where
R: ZeroCopyReader<'a>,
fn deserialize_seed<R>(reader: R, _seed: BoxHeader) -> Result<Self>where
R: ZeroCopyReader<'a>,
Source§impl<'a> IsoBox for StereoVideoBox<'a>
impl<'a> IsoBox for StereoVideoBox<'a>
Source§fn add_header_size(payload_size: usize) -> usize
fn add_header_size(payload_size: usize) -> usize
Source§fn box_header(&self) -> BoxHeader
fn box_header(&self) -> BoxHeader
BoxHeader for this box.Source§fn serialize_box_header<W>(&self, writer: W) -> Result<()>where
W: Write,
fn serialize_box_header<W>(&self, writer: W) -> Result<()>where
W: Write,
IsoBox::box_header to the given writer.