X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;ds=sidebyside;f=nihav-registry%2Fsrc%2Fregister.rs;h=d4e2b028097d7c753533663b2ec31bc09f4afdb9;hb=696e4e20bf7167121352f247893370cb83213d5c;hp=0accdd4e6263307ab0986bf4a452381d0e22421c;hpb=55d852316872154db020827bd833fff7d5b49604;p=nihav.git diff --git a/nihav-registry/src/register.rs b/nihav-registry/src/register.rs index 0accdd4..d4e2b02 100644 --- a/nihav-registry/src/register.rs +++ b/nihav-registry/src/register.rs @@ -41,6 +41,8 @@ pub const CODEC_CAP_REORDER:u32 = 0x0004; pub const CODEC_CAP_HYBRID:u32 = 0x0008; /// Codec capability flag for codecs with scalability features. pub const CODEC_CAP_SCALABLE:u32 = 0x0010; +/// Codec capability flag for codecs with complex frame reordering. +pub const CODEC_CAP_COMPLEX_REORDER:u32 = 0x0020; /// Codec description structure. #[derive(Clone)] @@ -137,6 +139,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. @@ -245,6 +251,13 @@ 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"), + + desc!(video; "h264", "ITU H.264", CODEC_CAP_COMPLEX_REORDER | CODEC_CAP_HYBRID), ]; static AVI_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[ @@ -324,6 +337,8 @@ static MOV_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[ (b"VP30", "vp3"), (b"VP31", "vp3"), + + (b"avc1", "h264"), ]; static MOV_AUDIO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[ @@ -345,6 +360,8 @@ static MOV_AUDIO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[ (b"QDM2", "qdesign-music2"), (b"Qclp", "qualcomm-purevoice"), //(b".mp3", "mpeg-layer3"), + + (b"mp4a", "aac"), ]; /// Returns video codec short name for provided FOURCC (used in AVI format).