in mp4parse/src/lib.rs [3703:3719]
fn read_pixi<T: Read>(src: &mut BMFFBox<T>) -> Result<PixelInformation> {
let version = read_fullbox_version_no_flags(src)?;
if version != 0 {
return Err(Error::Unsupported("pixi version"));
}
let num_channels = src.read_u8()?;
let mut bits_per_channel = TryVec::with_capacity(num_channels.to_usize())?;
let num_channels_read = src.try_read_to_end(&mut bits_per_channel)?;
if u8::try_from(num_channels_read)? != num_channels {
return Status::PixiBadChannelCount.into();
}
check_parser_state!(src.content);
Ok(PixelInformation { bits_per_channel })
}