X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-registry%2Fsrc%2Fregister.rs;h=fdf9e83d855485c44968a1a0d1488e00dee7ebdd;hb=ac818eac7671fa8ddfea5aa4fb86fc0b5ab82d2e;hp=8c1dcc6d024636f0af36c35604cc1ca5186d87b4;hpb=8251c0ab062f56d766a897bca14b97fb284e0415;p=nihav.git diff --git a/nihav-registry/src/register.rs b/nihav-registry/src/register.rs index 8c1dcc6..fdf9e83 100644 --- a/nihav-registry/src/register.rs +++ b/nihav-registry/src/register.rs @@ -31,11 +31,16 @@ impl fmt::Display for CodecType { } } -const CODEC_CAP_INTRAONLY:u32 = 0x0001; -const CODEC_CAP_LOSSLESS:u32 = 0x0002; -const CODEC_CAP_REORDER:u32 = 0x0004; -const CODEC_CAP_HYBRID:u32 = 0x0008; -const CODEC_CAP_SCALABLE:u32 = 0x0010; +/// Codec capability flag for intra-only codecs. +pub const CODEC_CAP_INTRAONLY:u32 = 0x0001; +/// Codec capability flag for lossless codecs. +pub const CODEC_CAP_LOSSLESS:u32 = 0x0002; +/// Codec capability flag for codecs with frame reordering. +pub const CODEC_CAP_REORDER:u32 = 0x0004; +/// Codec capability flag for codecs that can be both lossy and lossless. +pub const CODEC_CAP_HYBRID:u32 = 0x0008; +/// Codec capability flag for codecs with scalability features. +pub const CODEC_CAP_SCALABLE:u32 = 0x0010; /// Codec description structure. #[derive(Clone)] @@ -132,6 +137,10 @@ macro_rules! desc { CodecDescription{ name: $n, fname: $fn, ctype: CodecType::Audio, caps: CODEC_CAP_LOSSLESS | CODEC_CAP_INTRAONLY } }); + (audio-hyb; $n:expr, $fn:expr) => ({ + CodecDescription{ name: $n, fname: $fn, ctype: CodecType::Audio, + caps: CODEC_CAP_HYBRID } + }); } /// Returns codec description for the provided codec short name if it is found. @@ -221,6 +230,8 @@ static CODEC_REGISTER: &'static [CodecDescription] = &[ desc!(video-ll; "midivid-ll", "MidiVid Lossless"), desc!(video; "vmd-video", "VMD video"), desc!(audio; "vmd-audio", "VMD audio"), + desc!(video; "vxvideo", "Actimagine Vx"), + desc!(audio; "vxaudio", "Actimagine Sx"), desc!(video; "smacker-video", "Smacker video"), desc!(audio; "smacker-audio", "Smacker audio"), @@ -238,6 +249,11 @@ static CODEC_REGISTER: &'static [CodecDescription] = &[ desc!(video; "vivo2", "VivoActive Video 2.0", CODEC_CAP_REORDER), desc!(audio; "g723.1", "ITU G.723.1"), desc!(audio; "siren", "Polycom Siren"), + + desc!(audio-ll; "ape", "Monkey's Audio"), + desc!(audio-ll; "flac", "Free Lossless Audio Codec"), + desc!(audio-ll; "tta", "True Audio codec"), + desc!(audio-hyb; "wavpack", "WavPack"), ]; static AVI_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[