mostly working ITU H.264 decoder
[nihav.git] / nihav-registry / src / register.rs
index fdf9e83d855485c44968a1a0d1488e00dee7ebdd..d4e2b028097d7c753533663b2ec31bc09f4afdb9 100644 (file)
@@ -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)]
@@ -254,6 +256,8 @@ static CODEC_REGISTER: &'static [CodecDescription] = &[
     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)] = &[
@@ -333,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)] = &[
@@ -354,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).