X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-core%2Fsrc%2Fformats.rs;h=674938e58602d83487c44ba26208717e1f3f1ecc;hb=002d2a48c6a60e47519259b0d0f79d3133c93986;hp=f96eb53028ba4283c35015241a6ed90f69cf0a4c;hpb=c4699d66bc340f5ee779a624eac4ded7bbe79cc7;p=nihav.git diff --git a/nihav-core/src/formats.rs b/nihav-core/src/formats.rs index f96eb53..674938e 100644 --- a/nihav-core/src/formats.rs +++ b/nihav-core/src/formats.rs @@ -62,6 +62,8 @@ pub const SND_U8_FORMAT: NASoniton = NASoniton { bits: 8, be: false, packed: fal pub const SND_S16_FORMAT: NASoniton = NASoniton { bits: 16, be: false, packed: false, planar: false, float: false, signed: true }; /// Predefined format for planar 16-bit signed audio. pub const SND_S16P_FORMAT: NASoniton = NASoniton { bits: 16, be: false, packed: false, planar: true, float: false, signed: true }; +/// Predefined format for planar 32-bit signed audio. +pub const SND_S32P_FORMAT: NASoniton = NASoniton { bits: 32, be: false, packed: false, planar: true, float: false, signed: true }; /// Predefined format for planar 32-bit floating point audio. pub const SND_F32P_FORMAT: NASoniton = NASoniton { bits: 32, be: false, packed: false, planar: true, float: true, signed: true }; @@ -114,7 +116,7 @@ impl fmt::Display for NASoniton { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let fmt = if self.float { "float" } else if self.signed { "int" } else { "uint" }; let end = if self.be { "BE" } else { "LE" }; - write!(f, "({} bps, {} planar: {} packed: {} {})", self.bits, end, self.packed, self.planar, fmt) + write!(f, "({} bps, {} planar: {} packed: {} {})", self.bits, end, self.planar, self.packed, fmt) } } @@ -769,7 +771,7 @@ impl NAPixelFormaton { break; } } - name += if self.be { "be" } else { "le" }; + name += if self.be { "be" } else { "le" }; return Some(name); } if depth == 24 || depth != 8 * self.components { @@ -779,7 +781,7 @@ impl NAPixelFormaton { name.push('p'); } if self.get_max_depth() > 8 { - name += if self.be { "be" } else { "le" }; + name += if self.be { "be" } else { "le" }; } Some(name) }, @@ -961,18 +963,18 @@ fn parse_yuv_format(s: &str) -> Result { return Ok(NAPixelFormaton { model: ColorModel::YUV(YUVSubmodel::YUVJ), components: 1, comp_info: [ - Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 8, shift: 0, comp_offs: 0, next_elem: 1 }), + Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: false, depth: 8, shift: 0, comp_offs: 0, next_elem: 1 }), None, None, None, None], - elem_size: 1, be: false, alpha: false, palette: false }); + elem_size: 1, be: true, alpha: false, palette: false }); }, "y8a" | "y400a" | "graya" => { return Ok(NAPixelFormaton { model: ColorModel::YUV(YUVSubmodel::YUVJ), components: 2, comp_info: [ - Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 8, shift: 0, comp_offs: 0, next_elem: 2 }), - Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: true, depth: 8, shift: 0, comp_offs: 1, next_elem: 2 }), + Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: false, depth: 8, shift: 0, comp_offs: 0, next_elem: 2 }), + Some(NAPixelChromaton{ h_ss: 0, v_ss: 0, packed: false, depth: 8, shift: 0, comp_offs: 1, next_elem: 2 }), None, None, None], - elem_size: 1, be: false, alpha: true, palette: false }); + elem_size: 1, be: true, alpha: true, palette: false }); }, "uyvy" | "y422" => { return Ok(NAPixelFormaton {