pub struct Projection {
pub crc32: Option<Crc32>,
pub void: Option<Void>,
pub projection_type: ProjectionType,
pub projection_private: Option<ProjectionPrivate>,
pub projection_pose_yaw: ProjectionPoseYaw,
pub projection_pose_pitch: ProjectionPosePitch,
pub projection_pose_roll: ProjectionPoseRoll,
}Expand description
Describes the video projection details. Used to render spherical, VR videos or flipping videos horizontally/vertically.
Fields§
§crc32: Option<Crc32>Optional CRC-32 element for integrity checking.
void: Option<Void>void element, useful for reserving space during writing.
projection_type: ProjectionTypeDescribes the projection used for this video track.
- 0 - rectangular,
- 1 - equirectangular,
- 2 - cubemap,
- 3 - mesh
projection_private: Option<ProjectionPrivate>Private data that only applies to a specific projection. * If ProjectionType equals 0 (Rectangular), then this element MUST NOT be present. * If ProjectionType equals 1 (Equirectangular), then this element MUST be present and contain the same binary data that would be stored inside an ISOBMFF Equirectangular Projection Box (‘equi’). * If ProjectionType equals 2 (Cubemap), then this element MUST be present and contain the same binary data that would be stored inside an ISOBMFF Cubemap Projection Box (‘cbmp’). * If ProjectionType equals 3 (Mesh), then this element MUST be present and contain the same binary data that would be stored inside an ISOBMFF Mesh Projection Box (‘mshp’). ISOBMFF box size and fourcc fields are not included in the binary data, but the FullBox version and flag fields are. This is to avoid redundant framing information while preserving versioning and semantics between the two container formats
projection_pose_yaw: ProjectionPoseYawSpecifies a yaw rotation to the projection. Value represents a clockwise rotation, in degrees, around the up vector. This rotation must be applied before any ProjectionPosePitch or ProjectionPoseRoll rotations. The value of this element MUST be in the -180 to 180 degree range, both included. Setting ProjectionPoseYaw to 180 or -180 degrees, with the ProjectionPoseRoll and ProjectionPosePitch set to 0 degrees flips the image horizontally.
projection_pose_pitch: ProjectionPosePitchSpecifies a pitch rotation to the projection. Value represents a counter-clockwise rotation, in degrees, around the right vector. This rotation must be applied after the ProjectionPoseYaw rotation and before the ProjectionPoseRoll rotation. The value of this element MUST be in the -90 to 90 degree range, both included.
projection_pose_roll: ProjectionPoseRollSpecifies a roll rotation to the projection. Value represents a counter-clockwise rotation, in degrees, around the forward vector. This rotation must be applied after the ProjectionPoseYaw and ProjectionPosePitch rotations. The value of this element MUST be in the -180 to 180 degree range, both included. Setting ProjectionPoseRoll to 180 or -180 degrees, the ProjectionPoseYaw to 180 or -180 degrees with ProjectionPosePitch set to 0 degrees flips the image vertically. Setting ProjectionPoseRoll to 180 or -180 degrees, with the ProjectionPoseYaw and ProjectionPosePitch set to 0 degrees flips the image horizontally and vertically.
Trait Implementations§
Source§impl Clone for Projection
impl Clone for Projection
Source§fn clone(&self) -> Projection
fn clone(&self) -> Projection
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more