From 886cde4847280b96e10d240c2f2d76abec121dc8 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Sat, 20 Nov 2021 16:06:22 +0100 Subject: [PATCH] annotate the sources for test samples --- nihav-commonfmt/src/codecs/atrac3.rs | 1 + nihav-commonfmt/src/codecs/cinepak.rs | 3 +++ nihav-commonfmt/src/codecs/cinepakenc.rs | 1 + nihav-commonfmt/src/codecs/clearvideo.rs | 2 ++ nihav-commonfmt/src/codecs/jpeg.rs | 1 + nihav-commonfmt/src/codecs/rawvideo.rs | 1 + nihav-commonfmt/src/codecs/rawvideo_ms.rs | 4 ++++ nihav-commonfmt/src/codecs/sipro.rs | 1 + nihav-commonfmt/src/codecs/ts102366.rs | 1 + nihav-commonfmt/src/codecs/zmbv.rs | 1 + nihav-commonfmt/src/codecs/zmbvenc.rs | 1 + nihav-commonfmt/src/demuxers/avi.rs | 1 + nihav-commonfmt/src/demuxers/mov.rs | 2 ++ nihav-commonfmt/src/demuxers/wav.rs | 1 + nihav-commonfmt/src/demuxers/y4m.rs | 1 + nihav-commonfmt/src/muxers/avi.rs | 1 + nihav-commonfmt/src/muxers/wav.rs | 1 + nihav-duck/src/codecs/dkadpcm.rs | 2 ++ nihav-duck/src/codecs/on2avc.rs | 1 + nihav-duck/src/codecs/truemotion1.rs | 1 + nihav-duck/src/codecs/truemotion2.rs | 1 + nihav-duck/src/codecs/truemotion2x.rs | 1 + nihav-duck/src/codecs/truemotionrt.rs | 1 + nihav-duck/src/codecs/vp3.rs | 3 +++ nihav-duck/src/codecs/vp5.rs | 1 + nihav-duck/src/codecs/vp6.rs | 3 +++ nihav-duck/src/codecs/vp6enc/mod.rs | 1 + nihav-duck/src/codecs/vp7.rs | 1 + nihav-duck/src/codecs/vp8.rs | 1 + nihav-duck/src/demuxers/ivf.rs | 1 + nihav-flash/src/codecs/adpcm.rs | 2 ++ nihav-flash/src/codecs/adpcmenc.rs | 1 + nihav-flash/src/codecs/asao.rs | 1 + nihav-flash/src/codecs/flashsv.rs | 2 ++ nihav-flash/src/codecs/flv263.rs | 1 + nihav-flash/src/demuxers/flv.rs | 1 + nihav-flash/src/muxers/flv.rs | 1 + nihav-game/src/codecs/bmv.rs | 1 + nihav-game/src/codecs/bmv3.rs | 1 + nihav-game/src/codecs/futurevision.rs | 1 + nihav-game/src/codecs/gremlinvideo.rs | 1 + nihav-game/src/codecs/imax.rs | 1 + nihav-game/src/codecs/ipma.rs | 1 + nihav-game/src/codecs/midivid.rs | 1 + nihav-game/src/codecs/midivid3.rs | 1 + nihav-game/src/codecs/q.rs | 1 + nihav-game/src/codecs/vmd.rs | 1 + nihav-game/src/codecs/vx.rs | 1 + nihav-game/src/demuxers/bmv.rs | 1 + nihav-game/src/demuxers/fst.rs | 1 + nihav-game/src/demuxers/gdv.rs | 1 + nihav-game/src/demuxers/imax.rs | 1 + nihav-game/src/demuxers/q.rs | 1 + nihav-game/src/demuxers/vmd.rs | 1 + nihav-game/src/demuxers/vx.rs | 1 + nihav-indeo/src/codecs/imc.rs | 1 + nihav-indeo/src/codecs/indeo2.rs | 1 + nihav-indeo/src/codecs/indeo3.rs | 1 + nihav-indeo/src/codecs/indeo4.rs | 2 ++ nihav-indeo/src/codecs/indeo5.rs | 1 + nihav-indeo/src/codecs/intel263.rs | 1 + nihav-itu/src/codecs/h264/mod.rs | 3 +++ nihav-llaudio/src/codecs/ape.rs | 1 + nihav-llaudio/src/codecs/flac.rs | 1 + nihav-llaudio/src/codecs/flacenc.rs | 1 + nihav-llaudio/src/codecs/tta.rs | 1 + nihav-llaudio/src/codecs/wavpack.rs | 1 + nihav-llaudio/src/demuxers/ape.rs | 1 + nihav-llaudio/src/demuxers/flac.rs | 1 + nihav-llaudio/src/demuxers/flacraw.rs | 1 + nihav-llaudio/src/demuxers/tta.rs | 1 + nihav-llaudio/src/demuxers/wavpack.rs | 1 + nihav-llaudio/src/muxers/flac.rs | 1 + nihav-mpeg/src/codecs/mpegaudio/mod.rs | 4 ++++ nihav-ms/src/codecs/imaadpcm.rs | 1 + nihav-ms/src/codecs/imaadpcmenc.rs | 1 + nihav-ms/src/codecs/msadpcm.rs | 1 + nihav-ms/src/codecs/msrle.rs | 1 + nihav-ms/src/codecs/msvideo1.rs | 2 ++ nihav-ms/src/codecs/msvideo1enc.rs | 1 + nihav-qt/src/codecs/alac.rs | 3 +++ nihav-qt/src/codecs/imaadpcm.rs | 1 + nihav-qt/src/codecs/mace.rs | 1 + nihav-qt/src/codecs/qdm2.rs | 1 + nihav-qt/src/codecs/qdmc.rs | 1 + nihav-qt/src/codecs/rle.rs | 1 + nihav-qt/src/codecs/rpza.rs | 3 ++- nihav-qt/src/codecs/smc.rs | 1 + nihav-qt/src/codecs/svq1.rs | 1 + nihav-qt/src/codecs/svq3.rs | 1 + nihav-rad/src/codecs/bink2.rs | 1 + nihav-rad/src/codecs/binkaud.rs | 2 ++ nihav-rad/src/codecs/binkvid.rs | 2 ++ nihav-rad/src/codecs/smacker.rs | 3 +++ nihav-rad/src/demuxers/bink.rs | 1 + nihav-rad/src/demuxers/smacker.rs | 1 + nihav-realmedia/src/codecs/cook.rs | 1 + nihav-realmedia/src/codecs/ra144.rs | 1 + nihav-realmedia/src/codecs/ra288.rs | 1 + nihav-realmedia/src/codecs/ralf.rs | 1 + nihav-realmedia/src/codecs/rv10.rs | 2 ++ nihav-realmedia/src/codecs/rv20.rs | 1 + nihav-realmedia/src/codecs/rv30.rs | 2 ++ nihav-realmedia/src/codecs/rv40.rs | 1 + nihav-realmedia/src/codecs/rv60.rs | 1 + nihav-realmedia/src/demuxers/realmedia.rs | 3 +++ nihav-vivo/src/codecs/g723_1.rs | 1 + nihav-vivo/src/codecs/siren.rs | 1 + nihav-vivo/src/codecs/vivo.rs | 1 + nihav-vivo/src/demuxers/vivo.rs | 1 + 110 files changed, 142 insertions(+), 1 deletion(-) diff --git a/nihav-commonfmt/src/codecs/atrac3.rs b/nihav-commonfmt/src/codecs/atrac3.rs index f1b9ef6..ee93a63 100644 --- a/nihav-commonfmt/src/codecs/atrac3.rs +++ b/nihav-commonfmt/src/codecs/atrac3.rs @@ -721,6 +721,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // samples from private collection let file = "assets/RV/rv30_atrc_384x208_realproducer_plus_8.51.rm"; // let file = "assets/RV/rv20_svt_atrc_640x352_realproducer_plus_8.51.rm"; test_decode_audio("realmedia", file, Some(12000), None/*Some("atrac3")*/, &dmx_reg, &dec_reg); diff --git a/nihav-commonfmt/src/codecs/cinepak.rs b/nihav-commonfmt/src/codecs/cinepak.rs index 23903dd..e558da9 100644 --- a/nihav-commonfmt/src/codecs/cinepak.rs +++ b/nihav-commonfmt/src/codecs/cinepak.rs @@ -413,6 +413,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/CVID/ot171.avi test_decoding("avi", "cinepak", "assets/Misc/ot171.avi", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xd58326b0, 0xdbfc1dcc, 0x6d66a04c, 0x08a21bbb], @@ -433,6 +434,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/CVID/grayscale/dday.mov test_decoding("mov", "cinepak", "assets/Misc/dday.mov", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x2ab229bc, 0xb71308aa, 0x979511c6, 0xcef3ea92], @@ -453,6 +455,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/CVID/palette/catfight%20Tag%20team%20DT.mov test_decoding("mov", "cinepak", "assets/Misc/catfight Tag team DT.mov", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x3f7ec8ea, 0x873a2bc6, 0xcc58336e, 0xe88c4ffd], diff --git a/nihav-commonfmt/src/codecs/cinepakenc.rs b/nihav-commonfmt/src/codecs/cinepakenc.rs index ddf2584..3269cf8 100644 --- a/nihav-commonfmt/src/codecs/cinepakenc.rs +++ b/nihav-commonfmt/src/codecs/cinepakenc.rs @@ -1100,6 +1100,7 @@ mod test { let mut enc_reg = RegisteredEncoders::new(); generic_register_all_encoders(&mut enc_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/UCOD/TalkingHead_352x288.avi let dec_config = DecoderTestParams { demuxer: "avi", in_name: "assets/Misc/TalkingHead_352x288.avi", diff --git a/nihav-commonfmt/src/codecs/clearvideo.rs b/nihav-commonfmt/src/codecs/clearvideo.rs index 80521b8..731f848 100644 --- a/nihav-commonfmt/src/codecs/clearvideo.rs +++ b/nihav-commonfmt/src/codecs/clearvideo.rs @@ -998,6 +998,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/UCOD/TalkingHead_352x288.avi test_decoding("avi", "clearvideo", "assets/Misc/TalkingHead_352x288.avi", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xb432376c, 0xf1dce57b, 0x8e79c7ee, 0xdd51850d], @@ -1018,6 +1019,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/UCOD/Nick%20Pope.avi test_decoding("avi", "clearvideo", "assets/Misc/Nick Pope.avi", Some(20), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xca265763, 0xd7d40e35, 0x1c27d4fb, 0xbb76b9c6], diff --git a/nihav-commonfmt/src/codecs/jpeg.rs b/nihav-commonfmt/src/codecs/jpeg.rs index 693ead4..f9689a0 100644 --- a/nihav-commonfmt/src/codecs/jpeg.rs +++ b/nihav-commonfmt/src/codecs/jpeg.rs @@ -756,6 +756,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: self-created with avconv test_decoding("avi", "jpeg", "assets/Misc/mjpeg.avi", Some(1), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xe07f7128, 0x8c55eb5d, 0x03bfdee5, 0x358b24a4], diff --git a/nihav-commonfmt/src/codecs/rawvideo.rs b/nihav-commonfmt/src/codecs/rawvideo.rs index 13bd187..52dcc52 100644 --- a/nihav-commonfmt/src/codecs/rawvideo.rs +++ b/nihav-commonfmt/src/codecs/rawvideo.rs @@ -103,6 +103,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: self-created with avconv test_decoding("yuv4mpeg", "rawvideo", "assets/Misc/test.y4m", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xd58326b0, 0xdbfc1dcc, 0x6d66a04c, 0x08a21bbb], diff --git a/nihav-commonfmt/src/codecs/rawvideo_ms.rs b/nihav-commonfmt/src/codecs/rawvideo_ms.rs index a445cfd..8261e3e 100644 --- a/nihav-commonfmt/src/codecs/rawvideo_ms.rs +++ b/nihav-commonfmt/src/codecs/rawvideo_ms.rs @@ -126,6 +126,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/Uncompressed/8bpp.avi test_decoding("avi", "rawvideo-ms", "assets/Misc/8bpp.avi", Some(0), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xb6629439, 0x6ea482e9, 0x42c84d7c, 0x46c94431])); } @@ -135,6 +136,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/Uncompressed/16bpp.avi test_decoding("avi", "rawvideo-ms", "assets/Misc/16bpp.avi", Some(0), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xe80e16a1, 0x2d50659e, 0x413d24af, 0xea3bee05])); } @@ -144,6 +146,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample:https://samples.mplayerhq.hu/V-codecs/Uncompressed/keve.avi test_decoding("avi", "rawvideo-ms", "assets/Misc/keve.avi", Some(0), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x9514ac1f, 0x4512cc62, 0x069485ba, 0x084a1e63])); } @@ -153,6 +156,7 @@ mod test { generic_register_all_demuxers(&mut dmx_reg); let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/Uncompressed/Logo-Uncompressed.zip test_decoding("avi", "rawvideo-ms", "assets/Misc/VRMLuncompressed.avi", Some(0), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xf4c9d468, 0x8f42c576, 0xc8eb522a, 0x75f654b1])); } diff --git a/nihav-commonfmt/src/codecs/sipro.rs b/nihav-commonfmt/src/codecs/sipro.rs index a1a1ed3..eeab619 100644 --- a/nihav-commonfmt/src/codecs/sipro.rs +++ b/nihav-commonfmt/src/codecs/sipro.rs @@ -759,6 +759,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/real/AC-sipr/autahi-vox.rm let file = "assets/RV/autahi-vox.rm"; test_decode_audio("realmedia", file, Some(5000), None/*Some("sipro")*/, &dmx_reg, &dec_reg); } diff --git a/nihav-commonfmt/src/codecs/ts102366.rs b/nihav-commonfmt/src/codecs/ts102366.rs index de6a5ad..5cf90c5 100644 --- a/nihav-commonfmt/src/codecs/ts102366.rs +++ b/nihav-commonfmt/src/codecs/ts102366.rs @@ -1265,6 +1265,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); generic_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/real/VC-RV10/sp_sample1.rm let file = "assets/RV/sp_sample1.rm"; test_decode_audio("realmedia", file, Some(12000), None/*Some("ac3")*/, &dmx_reg, &dec_reg); } diff --git a/nihav-commonfmt/src/codecs/zmbv.rs b/nihav-commonfmt/src/codecs/zmbv.rs index b01e375..c53f76a 100644 --- a/nihav-commonfmt/src/codecs/zmbv.rs +++ b/nihav-commonfmt/src/codecs/zmbv.rs @@ -320,6 +320,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::generic_register_all_decoders; use crate::generic_register_all_demuxers; + // samples are from https://samples.mplayerhq.hu/V-codecs/ZMBV/ #[test] fn test_zmbv_8() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-commonfmt/src/codecs/zmbvenc.rs b/nihav-commonfmt/src/codecs/zmbvenc.rs index ee40f49..c0d58fa 100644 --- a/nihav-commonfmt/src/codecs/zmbvenc.rs +++ b/nihav-commonfmt/src/codecs/zmbvenc.rs @@ -549,6 +549,7 @@ mod test { use nihav_codec_support::test::enc_video::*; use super::{RGB555_FORMAT, RGB24_0_FORMAT}; + // samples are from https://samples.mplayerhq.hu/V-codecs/ZMBV/ #[test] fn test_zmbv_encoder_8bit() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-commonfmt/src/demuxers/avi.rs b/nihav-commonfmt/src/demuxers/avi.rs index 7c1d4f7..cc24fe3 100644 --- a/nihav-commonfmt/src/demuxers/avi.rs +++ b/nihav-commonfmt/src/demuxers/avi.rs @@ -857,6 +857,7 @@ mod test { #[test] fn test_avi_demux() { + //test sample: https://samples.mplayerhq.hu/V-codecs/RT21/320x240/laser05.avi let mut file = File::open("assets/Indeo/laser05.avi").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-commonfmt/src/demuxers/mov.rs b/nihav-commonfmt/src/demuxers/mov.rs index 90ca6c5..23781a9 100644 --- a/nihav-commonfmt/src/demuxers/mov.rs +++ b/nihav-commonfmt/src/demuxers/mov.rs @@ -2045,6 +2045,7 @@ mod test { #[test] fn test_mov_demux() { + // sample: https://samples.mplayerhq.hu/V-codecs/IV32/cubes.mov let mut file = File::open("assets/Indeo/cubes.mov").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); @@ -2066,6 +2067,7 @@ mod test { #[test] fn test_dash_demux() { + // sample: a stream downloaded with youtube-dl let mut file = File::open("assets/ITU/dash.m4a").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-commonfmt/src/demuxers/wav.rs b/nihav-commonfmt/src/demuxers/wav.rs index 2164619..1e685de 100644 --- a/nihav-commonfmt/src/demuxers/wav.rs +++ b/nihav-commonfmt/src/demuxers/wav.rs @@ -209,6 +209,7 @@ mod test { #[test] fn test_wav_demux() { + // sample: https://samples.mplayerhq.hu/A-codecs/msadpcm-stereo/scatter.wav let mut file = File::open("assets/MS/scatter.wav").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-commonfmt/src/demuxers/y4m.rs b/nihav-commonfmt/src/demuxers/y4m.rs index f303060..93831e9 100644 --- a/nihav-commonfmt/src/demuxers/y4m.rs +++ b/nihav-commonfmt/src/demuxers/y4m.rs @@ -194,6 +194,7 @@ mod test { #[test] fn test_y4m_demux() { + // sample: self-created with avconv let mut file = File::open("assets/Misc/test.y4m").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-commonfmt/src/muxers/avi.rs b/nihav-commonfmt/src/muxers/avi.rs index cd75942..e094060 100644 --- a/nihav-commonfmt/src/muxers/avi.rs +++ b/nihav-commonfmt/src/muxers/avi.rs @@ -355,6 +355,7 @@ mod test { fn test_avi_muxer() { let mut dmx_reg = RegisteredDemuxers::new(); generic_register_all_demuxers(&mut dmx_reg); + //test sample: https://samples.mplayerhq.hu/V-codecs/RT21/320x240/laser05.avi let dec_config = DecoderTestParams { demuxer: "avi", in_name: "assets/Indeo/laser05.avi", diff --git a/nihav-commonfmt/src/muxers/wav.rs b/nihav-commonfmt/src/muxers/wav.rs index f99c147..49be5d6 100644 --- a/nihav-commonfmt/src/muxers/wav.rs +++ b/nihav-commonfmt/src/muxers/wav.rs @@ -126,6 +126,7 @@ mod test { fn test_wav_muxer() { let mut dmx_reg = RegisteredDemuxers::new(); generic_register_all_demuxers(&mut dmx_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/RT21/320x240/laser05.avi let dec_config = DecoderTestParams { demuxer: "avi", in_name: "assets/Indeo/laser05.avi", diff --git a/nihav-duck/src/codecs/dkadpcm.rs b/nihav-duck/src/codecs/dkadpcm.rs index 399b4f7..cdd58b6 100644 --- a/nihav-duck/src/codecs/dkadpcm.rs +++ b/nihav-duck/src/codecs/dkadpcm.rs @@ -170,6 +170,7 @@ mod test { //let file = "assets/Duck/AVI-DUCK-dk3.duk"; //test_decode_audio("avi", file, Some(100), None/*Some("dk3")*/, &dmx_reg, &dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/DUCK/AVI-DUCK-dk3.duk test_decoding("avi", "adpcm-dk3", "assets/Duck/AVI-DUCK-dk3.duk", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xa48fae0a, 0xa536b27f, 0x169ecc19, 0x8436fade])); } @@ -182,6 +183,7 @@ mod test { // let file = "assets/Duck/virtuafighter2-opening1.avi"; // test_decode_audio("avi", file, Some(100), None/*Some("dk4")*/, &dmx_reg, &dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/DUCK/virtuafighter2-opening1.avi test_decoding("avi", "adpcm-dk4", "assets/Duck/virtuafighter2-opening1.avi", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x04e40d15, 0xf65b3427, 0x1dd5181f, 0xf321b56f])); } diff --git a/nihav-duck/src/codecs/on2avc.rs b/nihav-duck/src/codecs/on2avc.rs index 1e3a122..69505cf 100644 --- a/nihav-duck/src/codecs/on2avc.rs +++ b/nihav-duck/src/codecs/on2avc.rs @@ -1060,6 +1060,7 @@ mod test { //let file = "assets/Duck/Cell-140.vp5"; //let file = "assets/Duck/Chocolat-500.vp5"; + // sample: https://samples.mplayerhq.hu/V-codecs/VP7/potter-500.vp7 let file = "assets/Duck/potter-500.vp7"; test_decode_audio("avi", file, Some(1500), None/*Some("avc")*/, &dmx_reg, &dec_reg); } diff --git a/nihav-duck/src/codecs/truemotion1.rs b/nihav-duck/src/codecs/truemotion1.rs index 9f5546f..c64c2ec 100644 --- a/nihav-duck/src/codecs/truemotion1.rs +++ b/nihav-duck/src/codecs/truemotion1.rs @@ -683,6 +683,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/DUCK/phant2-940.duk test_decoding("avi", "truemotion1", "assets/Duck/phant2-940.duk", Some(12), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x989e62b8, 0x5d85c23c, 0x1cffba6d, 0xe599f1c4], diff --git a/nihav-duck/src/codecs/truemotion2.rs b/nihav-duck/src/codecs/truemotion2.rs index 0c9e004..dfbbf9b 100644 --- a/nihav-duck/src/codecs/truemotion2.rs +++ b/nihav-duck/src/codecs/truemotion2.rs @@ -606,6 +606,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/TM20/tm20.avi test_decoding("avi", "truemotion2", "assets/Duck/tm20.avi", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x8c336eb4, 0x10d0d934, 0x52392306, 0xc0bc6dd3], diff --git a/nihav-duck/src/codecs/truemotion2x.rs b/nihav-duck/src/codecs/truemotion2x.rs index 652b5b0..2e31829 100644 --- a/nihav-duck/src/codecs/truemotion2x.rs +++ b/nihav-duck/src/codecs/truemotion2x.rs @@ -719,6 +719,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/TM2x.avi test_decoding("avi", "truemotion2x", "assets/Duck/TM2x.avi", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x2854e7f3, 0x41e54fd3, 0xd9a16302, 0x580321b2], diff --git a/nihav-duck/src/codecs/truemotionrt.rs b/nihav-duck/src/codecs/truemotionrt.rs index 5ca17bd..157f8be 100644 --- a/nihav-duck/src/codecs/truemotionrt.rs +++ b/nihav-duck/src/codecs/truemotionrt.rs @@ -109,6 +109,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample from a private collection test_decoding("avi", "truemotionrt", "assets/Duck/tr20_low.avi", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x24c3d26c, 0x1e8bbdc4, 0xfb0fba5d, 0xaa04be81])); diff --git a/nihav-duck/src/codecs/vp3.rs b/nihav-duck/src/codecs/vp3.rs index 7b3411c..cf59b14 100644 --- a/nihav-duck/src/codecs/vp3.rs +++ b/nihav-duck/src/codecs/vp3.rs @@ -1910,6 +1910,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/VP3/vp30-logo.avi test_decoding("avi", "vp3", "assets/Duck/vp30-logo.avi", Some(23), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x51aba7df, 0x6e42534d, 0xef6c5b13, 0x26c38d1f])); } @@ -1926,6 +1927,7 @@ mod test { // let file = "assets/Duck/01-vp31-0500.avi"; // test_file_decoding("avi", file, Some(3), true, false, None/*Some("vp31")*/, &dmx_reg, &dec_reg); //panic!("end"); + // sample: https://samples.mplayerhq.hu/V-codecs/VP3/01-vp31-0500.avi test_decoding("avi", "vp3", "assets/Duck/01-vp31-0500.avi", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x65112f7e, 0x2914f29b, 0x2908ed2f, 0xce5fc8c5])); } @@ -1937,6 +1939,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/VP4/ot171_vp40.avi test_decoding("avi", "vp3", "assets/Duck/ot171_vp40.avi", Some(86), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xd41d8cd9, 0x8f00b204, 0xe9800998, 0xecf8427e])); } diff --git a/nihav-duck/src/codecs/vp5.rs b/nihav-duck/src/codecs/vp5.rs index 48fda2d..0b7062e 100644 --- a/nihav-duck/src/codecs/vp5.rs +++ b/nihav-duck/src/codecs/vp5.rs @@ -305,6 +305,7 @@ mod test { let file = "assets/Duck/Cell-140.vp5"; //let file = "assets/Duck/Chocolat-500.vp5"; + // sample: https://samples.mplayerhq.hu/V-codecs/VP5/Cell-140.vp5 test_decoding("avi", "vp5", file, Some(96), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x9ad78b0f, 0xed988ead, 0x88ed2ea9, 0xcdb75cdf])); } diff --git a/nihav-duck/src/codecs/vp6.rs b/nihav-duck/src/codecs/vp6.rs index 6d97189..4bbf4c9 100644 --- a/nihav-duck/src/codecs/vp6.rs +++ b/nihav-duck/src/codecs/vp6.rs @@ -566,6 +566,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample from a private collection test_decoding("avi", "vp6", "assets/Duck/selection_720x576_300kBit_vp60i.avi", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x042c3e96, 0x8a9b26a2, 0x4dcbaf66, 0x1b788d03])); @@ -577,6 +578,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/VP6/vp6_crash.avi test_decoding("avi", "vp6", "assets/Duck/vp6_crash.avi", Some(4), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xdcd70fa0, 0x0d075ce2, 0xc9e65077, 0xb003a92e], @@ -592,6 +594,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample created by remuxing some VP6A in FLV test_decoding("avi", "vp6a", "assets/Duck/vp6a.avi", Some(25), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xaf903d79, 0x17ddb3c7, 0xf0a381e8, 0x26b36a7d], diff --git a/nihav-duck/src/codecs/vp6enc/mod.rs b/nihav-duck/src/codecs/vp6enc/mod.rs index 9388fd2..9f87054 100644 --- a/nihav-duck/src/codecs/vp6enc/mod.rs +++ b/nihav-duck/src/codecs/vp6enc/mod.rs @@ -882,6 +882,7 @@ mod test { let mut enc_reg = RegisteredEncoders::new(); duck_register_all_encoders(&mut enc_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/VP4/ot171_vp40.avi let dec_config = DecoderTestParams { demuxer: "avi", in_name: "assets/Duck/ot171_vp40.avi", diff --git a/nihav-duck/src/codecs/vp7.rs b/nihav-duck/src/codecs/vp7.rs index 95f2575..da0ccc4 100644 --- a/nihav-duck/src/codecs/vp7.rs +++ b/nihav-duck/src/codecs/vp7.rs @@ -1267,6 +1267,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); duck_register_all_decoders(&mut dec_reg); + // sample from https://trac.ffmpeg.org/ticket/5580 test_decoding("avi", "vp7", "assets/Duck/interlaced_blit_pitch.avi", Some(12), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xb79fb6f8, 0xed51ac9e, 0x9e423456, 0xc0918e7f], diff --git a/nihav-duck/src/codecs/vp8.rs b/nihav-duck/src/codecs/vp8.rs index 2969bfa..9a9c4cc 100644 --- a/nihav-duck/src/codecs/vp8.rs +++ b/nihav-duck/src/codecs/vp8.rs @@ -1547,6 +1547,7 @@ mod test { use crate::duck_register_all_decoders; use crate::duck_register_all_demuxers; + // all samples are from the official VP8 test bitstreams set fn test_vp8_core(name: &str, hash: [u32; 4]) { let mut dmx_reg = RegisteredDemuxers::new(); duck_register_all_demuxers(&mut dmx_reg); diff --git a/nihav-duck/src/demuxers/ivf.rs b/nihav-duck/src/demuxers/ivf.rs index 7d44460..ba4bb91 100644 --- a/nihav-duck/src/demuxers/ivf.rs +++ b/nihav-duck/src/demuxers/ivf.rs @@ -97,6 +97,7 @@ mod test { #[test] fn test_ivf_demux() { + // sample is from the official VP8 test bitstream set let mut file = File::open("assets/Duck/VP8/vp80-00-comprehensive-001.ivf").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-flash/src/codecs/adpcm.rs b/nihav-flash/src/codecs/adpcm.rs index e6e21cf..d72b101 100644 --- a/nihav-flash/src/codecs/adpcm.rs +++ b/nihav-flash/src/codecs/adpcm.rs @@ -143,6 +143,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); flash_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/FLV/flash_flv_adpcm_testfiles/mono_11k.flv test_decoding("flv", "flv-adpcm", "assets/Flash/mono_11k.flv", Some(3000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x4cf30e71, 0x4360c85b, 0x21c52863, 0x1782160e])); } @@ -153,6 +154,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); flash_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/FLV/flash_flv_adpcm_testfiles/stereo_44k.flv test_decoding("flv", "flv-adpcm", "assets/Flash/stereo_44k.flv", Some(3000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xae108d38, 0xb36236f8, 0x2bc18d31, 0xac600424])); } diff --git a/nihav-flash/src/codecs/adpcmenc.rs b/nihav-flash/src/codecs/adpcmenc.rs index ced3c1b..92a292b 100644 --- a/nihav-flash/src/codecs/adpcmenc.rs +++ b/nihav-flash/src/codecs/adpcmenc.rs @@ -175,6 +175,7 @@ mod test { let mut enc_reg = RegisteredEncoders::new(); flash_register_all_encoders(&mut enc_reg); + // sample: https://samples.mplayerhq.hu/FLV/flash_flv_adpcm_testfiles/mono_11k.flv let dec_config = DecoderTestParams { demuxer: "flv", in_name: "assets/Flash/mono_11k.flv", diff --git a/nihav-flash/src/codecs/asao.rs b/nihav-flash/src/codecs/asao.rs index e20c729..5fe8b40 100644 --- a/nihav-flash/src/codecs/asao.rs +++ b/nihav-flash/src/codecs/asao.rs @@ -309,6 +309,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); flash_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/Nelly_Moser/nellymoser-in-flv.flv test_decode_audio("flv", "assets/Flash/nellymoser-in-flv.flv", Some(3000), None/*Some("asao")*/, &dmx_reg, &dec_reg); } } diff --git a/nihav-flash/src/codecs/flashsv.rs b/nihav-flash/src/codecs/flashsv.rs index 26e0eb4..91d5825 100644 --- a/nihav-flash/src/codecs/flashsv.rs +++ b/nihav-flash/src/codecs/flashsv.rs @@ -347,6 +347,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); flash_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/FLV/flash_screen/screen.flv test_decoding("flv", "flashsv", "assets/Flash/screen.flv", Some(3000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xb45b899e, 0x417b17d5, 0x7bfe898b, 0x026b289f], @@ -367,6 +368,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); flash_register_all_decoders(&mut dec_reg); + // sample created from https://samples.mplayerhq.hu/FLV/flash_screen/screen.flv by recoding test_decoding("flv", "flashsv2", "assets/Flash/screen2.flv", Some(4700), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x55522afa, 0x9c7dd794, 0xdd67aa2e, 0x8b8c525e], diff --git a/nihav-flash/src/codecs/flv263.rs b/nihav-flash/src/codecs/flv263.rs index 3a8a18a..8655423 100644 --- a/nihav-flash/src/codecs/flv263.rs +++ b/nihav-flash/src/codecs/flv263.rs @@ -356,6 +356,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); flash_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/Nelly_Moser/input.flv test_decoding("flv", "flv263", "assets/Flash/input.flv", Some(1000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x9110718e, 0x794e22ad, 0x3324e552, 0xf58a0449], diff --git a/nihav-flash/src/demuxers/flv.rs b/nihav-flash/src/demuxers/flv.rs index 52080ab..82901ac 100644 --- a/nihav-flash/src/demuxers/flv.rs +++ b/nihav-flash/src/demuxers/flv.rs @@ -473,6 +473,7 @@ mod test { use super::*; use std::fs::File; + // sample: https://samples.mplayerhq.hu/A-codecs/Nelly_Moser/input.flv #[test] fn test_flv_demux() { let mut file = File::open("assets/Flash/input.flv").unwrap(); diff --git a/nihav-flash/src/muxers/flv.rs b/nihav-flash/src/muxers/flv.rs index 9f32fbe..3ff9bee 100644 --- a/nihav-flash/src/muxers/flv.rs +++ b/nihav-flash/src/muxers/flv.rs @@ -301,6 +301,7 @@ mod test { fn test_flv_muxer() { let mut dmx_reg = RegisteredDemuxers::new(); flash_register_all_demuxers(&mut dmx_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/Nelly_Moser/input.flv let dec_config = DecoderTestParams { demuxer: "flv", in_name: "assets/Flash/input.flv", diff --git a/nihav-game/src/codecs/bmv.rs b/nihav-game/src/codecs/bmv.rs index a407fb9..31fd855 100644 --- a/nihav-game/src/codecs/bmv.rs +++ b/nihav-game/src/codecs/bmv.rs @@ -322,6 +322,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::game_register_all_decoders; use crate::game_register_all_demuxers; + // samples from: https://samples.mplayerhq.hu/game-formats/bmv/ #[test] fn test_bmv_video() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-game/src/codecs/bmv3.rs b/nihav-game/src/codecs/bmv3.rs index 0140c8c..525273d 100644 --- a/nihav-game/src/codecs/bmv3.rs +++ b/nihav-game/src/codecs/bmv3.rs @@ -620,6 +620,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::game_register_all_decoders; use crate::game_register_all_demuxers; + // sample: https://samples.mplayerhq.hu/game-formats/bmv/DW3-Loffnote.bmv #[test] fn test_bmv_video() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-game/src/codecs/futurevision.rs b/nihav-game/src/codecs/futurevision.rs index 8140391..e7ddd97 100644 --- a/nihav-game/src/codecs/futurevision.rs +++ b/nihav-game/src/codecs/futurevision.rs @@ -242,6 +242,7 @@ mod test { use crate::game_register_all_decoders; use crate::game_register_all_demuxers; + // samples come from the Harvester game #[test] fn test_fst_video() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-game/src/codecs/gremlinvideo.rs b/nihav-game/src/codecs/gremlinvideo.rs index 7427e54..624f513 100644 --- a/nihav-game/src/codecs/gremlinvideo.rs +++ b/nihav-game/src/codecs/gremlinvideo.rs @@ -755,6 +755,7 @@ mod test { use crate::game_register_all_decoders; use crate::game_register_all_demuxers; + // samples: intro1.gdv from Normality, SHELI_S.GDV from Jungle Strike #[test] fn test_gdv_video() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-game/src/codecs/imax.rs b/nihav-game/src/codecs/imax.rs index 5a4c814..de0bf98 100644 --- a/nihav-game/src/codecs/imax.rs +++ b/nihav-game/src/codecs/imax.rs @@ -158,6 +158,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); game_register_all_decoders(&mut dec_reg); + // sample from Fable game test_decoding("fable-imax", "fable-imax", "assets/Game/present.imx", Some(64), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x775e1326, 0x7aa63674, 0x9b8aec54, 0x5caee2e3])); diff --git a/nihav-game/src/codecs/ipma.rs b/nihav-game/src/codecs/ipma.rs index 21f657d..fcdeac3 100644 --- a/nihav-game/src/codecs/ipma.rs +++ b/nihav-game/src/codecs/ipma.rs @@ -221,6 +221,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::game_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; + // samples from https://misc.daniel-marschall.de/spiele/blown_away/ipma_codec/ #[test] fn test_ipma_video() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-game/src/codecs/midivid.rs b/nihav-game/src/codecs/midivid.rs index ac91fde..fec4cd6 100644 --- a/nihav-game/src/codecs/midivid.rs +++ b/nihav-game/src/codecs/midivid.rs @@ -201,6 +201,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); game_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/MVDV.avi test_decoding("avi", "midivid", "assets/Game/MVDV.avi", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x383e1995, 0x32bf000d, 0x2067aa2e, 0x54425bd4], diff --git a/nihav-game/src/codecs/midivid3.rs b/nihav-game/src/codecs/midivid3.rs index 3c06e96..31b8618 100644 --- a/nihav-game/src/codecs/midivid3.rs +++ b/nihav-game/src/codecs/midivid3.rs @@ -536,6 +536,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); game_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/mv30.avi test_decoding("avi", "midivid3", "assets/Game/mv30.avi", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x0f4f2377, 0xe017458f, 0xebf6d59d, 0x238a3e64], diff --git a/nihav-game/src/codecs/q.rs b/nihav-game/src/codecs/q.rs index ff6b647..9f30ae5 100644 --- a/nihav-game/src/codecs/q.rs +++ b/nihav-game/src/codecs/q.rs @@ -526,6 +526,7 @@ mod test { use crate::game_register_all_decoders; use crate::game_register_all_demuxers; + // samples from Deathgate, Mission Critical and Shannara games #[test] fn test_q_video3() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-game/src/codecs/vmd.rs b/nihav-game/src/codecs/vmd.rs index e05899d..25f8b6d 100644 --- a/nihav-game/src/codecs/vmd.rs +++ b/nihav-game/src/codecs/vmd.rs @@ -692,6 +692,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::game_register_all_decoders; use crate::game_register_all_demuxers; + // samples from https://samples.mplayerhq.hu/game-formats/sierra-vmd/ and various games #[test] fn test_vmd_video() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-game/src/codecs/vx.rs b/nihav-game/src/codecs/vx.rs index 185c9f4..c13fc49 100644 --- a/nihav-game/src/codecs/vx.rs +++ b/nihav-game/src/codecs/vx.rs @@ -1331,6 +1331,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); game_register_all_decoders(&mut dec_reg); + // sample from some game test_decoding("vx", "vxvideo", "assets/Game/bioware.vx", Some(31), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x33de14fa, 0x00948eb7, 0x028141d7, 0x1d07abd6], diff --git a/nihav-game/src/demuxers/bmv.rs b/nihav-game/src/demuxers/bmv.rs index f548fdc..ee88262 100644 --- a/nihav-game/src/demuxers/bmv.rs +++ b/nihav-game/src/demuxers/bmv.rs @@ -260,6 +260,7 @@ mod test { use super::*; use std::fs::File; + // samples from https://samples.mplayerhq.hu/game-formats/bmv #[test] fn test_bmv_demux() { let mut file = File::open("assets/Game/DW2-MOUSE.BMV").unwrap(); diff --git a/nihav-game/src/demuxers/fst.rs b/nihav-game/src/demuxers/fst.rs index b6cc066..c70584a 100644 --- a/nihav-game/src/demuxers/fst.rs +++ b/nihav-game/src/demuxers/fst.rs @@ -188,6 +188,7 @@ mod test { use super::*; use std::fs::File; + // samples from the Harvester game #[test] fn test_fst_demux() { let mut file = File::open("assets/Game/c007.fst").unwrap(); diff --git a/nihav-game/src/demuxers/gdv.rs b/nihav-game/src/demuxers/gdv.rs index de4e993..8f54bca 100644 --- a/nihav-game/src/demuxers/gdv.rs +++ b/nihav-game/src/demuxers/gdv.rs @@ -180,6 +180,7 @@ mod test { #[test] fn test_gdv_demux() { + // sample from Normality game let mut file = File::open("assets/Game/intro1.gdv").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-game/src/demuxers/imax.rs b/nihav-game/src/demuxers/imax.rs index ad427dd..a477ebe 100644 --- a/nihav-game/src/demuxers/imax.rs +++ b/nihav-game/src/demuxers/imax.rs @@ -124,6 +124,7 @@ mod test { #[test] fn test_imax_demux() { + // sample from Fable game let mut file = File::open("assets/Game/present.imx").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-game/src/demuxers/q.rs b/nihav-game/src/demuxers/q.rs index 0b154e9..473507a 100644 --- a/nihav-game/src/demuxers/q.rs +++ b/nihav-game/src/demuxers/q.rs @@ -187,6 +187,7 @@ mod test { use super::*; use std::fs::File; + // samples from Death Gate, Mission Critical and Shannara games #[test] fn test_q_demux_v3() { let mut file = File::open("assets/Game/dgate101.q").unwrap(); diff --git a/nihav-game/src/demuxers/vmd.rs b/nihav-game/src/demuxers/vmd.rs index a2c93f6..663a1a8 100644 --- a/nihav-game/src/demuxers/vmd.rs +++ b/nihav-game/src/demuxers/vmd.rs @@ -223,6 +223,7 @@ mod test { #[test] fn test_vmd_demux() { + // sample: https://samples.mplayerhq.hu/game-formats/sierra-vmd/Lighthouse/128.vmd let mut file = File::open("assets/Game/128.vmd").unwrap(); //let mut file = File::open("assets/Game/1491.VMD").unwrap(); let mut fr = FileReader::new_read(&mut file); diff --git a/nihav-game/src/demuxers/vx.rs b/nihav-game/src/demuxers/vx.rs index 245ca49..1722841 100644 --- a/nihav-game/src/demuxers/vx.rs +++ b/nihav-game/src/demuxers/vx.rs @@ -142,6 +142,7 @@ mod test { #[test] fn test_vx_demux() { + // sample from some game let mut file = File::open("assets/Game/bioware.vx").unwrap(); //let mut file = File::open("assets/Game/BS_01_Intro.vx").unwrap(); //let mut file = File::open("assets/Game/sega.vx").unwrap(); diff --git a/nihav-indeo/src/codecs/imc.rs b/nihav-indeo/src/codecs/imc.rs index f9a92c0..e94704c 100644 --- a/nihav-indeo/src/codecs/imc.rs +++ b/nihav-indeo/src/codecs/imc.rs @@ -1130,6 +1130,7 @@ mod test { // let file = "assets/Indeo/neal73_saber.avi"; // let file = "assets/Indeo/IMC/hvalen.avi"; + // sample from a private collection let file = "assets/Indeo/IMC/8khz.avi"; // let file = "assets/Indeo/STsKlassFist-1a.avi"; // let file = "assets/Indeo/IMC/Angel Bday.avi"; diff --git a/nihav-indeo/src/codecs/indeo2.rs b/nihav-indeo/src/codecs/indeo2.rs index 32e54f8..3213388 100644 --- a/nihav-indeo/src/codecs/indeo2.rs +++ b/nihav-indeo/src/codecs/indeo2.rs @@ -389,6 +389,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); indeo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/RT21/320x240/laser05.avi test_decoding("avi", "indeo2", "assets/Indeo/laser05.avi", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x55f509ad, 0x62fb52d5, 0x6e9a86b2, 0x3910ce74], diff --git a/nihav-indeo/src/codecs/indeo3.rs b/nihav-indeo/src/codecs/indeo3.rs index 9e0ee11..bdf8e7b 100644 --- a/nihav-indeo/src/codecs/indeo3.rs +++ b/nihav-indeo/src/codecs/indeo3.rs @@ -817,6 +817,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); indeo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/IV32/iv32_example.avi test_decoding("avi", "indeo3", "assets/Indeo/iv32_example.avi", Some(10), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x90be698e, 0x326db071, 0x08e8c6a5, 0x39349acc], diff --git a/nihav-indeo/src/codecs/indeo4.rs b/nihav-indeo/src/codecs/indeo4.rs index 474a8d5..a7263c6 100644 --- a/nihav-indeo/src/codecs/indeo4.rs +++ b/nihav-indeo/src/codecs/indeo4.rs @@ -786,6 +786,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); indeo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/IV41/indeo4-avi/volcano.avi test_decoding("avi", "indeo4", "assets/Indeo/IV4/volcano.avi", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x194f626b, 0x023fdfd0, 0x9809665a, 0xd68f6f47], @@ -805,6 +806,7 @@ mod test { [0x4b04dc0e, 0x684533a7, 0x6a4e4b16, 0x0b8a5e68], [0xa3eb64fc, 0x5e02a31b, 0x6b484eae, 0xbb6e6c49], [0x7d4ef46e, 0x6761c447, 0x02e002f5, 0x02d0231c]])); + // a sample from Civilization II test_decoding("avi", "indeo4", "assets/Indeo/IV4/HRLDVIK.AVI", Some(8), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x239b8b87, 0x6dbec08c, 0x82bae1f0, 0x868e00c2], diff --git a/nihav-indeo/src/codecs/indeo5.rs b/nihav-indeo/src/codecs/indeo5.rs index eb0b40c..11d813d 100644 --- a/nihav-indeo/src/codecs/indeo5.rs +++ b/nihav-indeo/src/codecs/indeo5.rs @@ -740,6 +740,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); indeo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/IV50/sample.avi test_decoding("avi", "indeo5", "assets/Indeo/IV5/sample.avi", Some(100), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xd73ef6e2, 0x099dc18f, 0x46450af9, 0x1b390a48], diff --git a/nihav-indeo/src/codecs/intel263.rs b/nihav-indeo/src/codecs/intel263.rs index 7237adf..c9bb5f4 100644 --- a/nihav-indeo/src/codecs/intel263.rs +++ b/nihav-indeo/src/codecs/intel263.rs @@ -758,6 +758,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); indeo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/IMC/neal73_saber.avi test_decoding("avi", "intel263", "assets/Indeo/neal73_saber.avi", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x698c4f70, 0xf727bfc1, 0x96e687e9, 0xc9e37073], diff --git a/nihav-itu/src/codecs/h264/mod.rs b/nihav-itu/src/codecs/h264/mod.rs index e23d909..3034e07 100644 --- a/nihav-itu/src/codecs/h264/mod.rs +++ b/nihav-itu/src/codecs/h264/mod.rs @@ -1461,6 +1461,7 @@ mod test { use crate::itu_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; + // samples if not specified otherwise come from H.264 conformance suite mod raw_demux; mod conformance; use self::raw_demux::RawH264DemuxerCreator; @@ -1503,6 +1504,7 @@ mod test { [0xa90454f5, 0x7875d5db, 0xbab234bd, 0xe6ce1193]])); } + // mostly static music video downloaded with youtube-dl #[test] fn test_h264_real1() { let mut dmx_reg = RegisteredDemuxers::new(); @@ -1576,6 +1578,7 @@ mod test { [0x94fee093, 0x78ad89b3, 0xf20e882b, 0x941425db], [0xc3eb1a78, 0x4b4e098a, 0xcbcf9bb4, 0xfd5b5426]])); } + // a sample downloaded from gfycat.com #[test] fn test_h264_real2() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-llaudio/src/codecs/ape.rs b/nihav-llaudio/src/codecs/ape.rs index 8a9073d..1bcd62e 100644 --- a/nihav-llaudio/src/codecs/ape.rs +++ b/nihav-llaudio/src/codecs/ape.rs @@ -260,6 +260,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::llaudio_register_all_decoders; use crate::llaudio_register_all_demuxers; + // samples from Libav test suite #[test] fn test_ape_3990() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-llaudio/src/codecs/flac.rs b/nihav-llaudio/src/codecs/flac.rs index 9f8a884..3fba6b1 100644 --- a/nihav-llaudio/src/codecs/flac.rs +++ b/nihav-llaudio/src/codecs/flac.rs @@ -636,6 +636,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::llaudio_register_all_decoders; use crate::llaudio_register_all_demuxers; + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.flac #[test] fn test_flac() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-llaudio/src/codecs/flacenc.rs b/nihav-llaudio/src/codecs/flacenc.rs index f9adc24..55c7eb0 100644 --- a/nihav-llaudio/src/codecs/flacenc.rs +++ b/nihav-llaudio/src/codecs/flacenc.rs @@ -599,6 +599,7 @@ mod test { let mut enc_reg = RegisteredEncoders::new(); llaudio_register_all_encoders(&mut enc_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.flac let dec_config = DecoderTestParams { demuxer: "flac", in_name: "assets/LLaudio/luckynight.flac", diff --git a/nihav-llaudio/src/codecs/tta.rs b/nihav-llaudio/src/codecs/tta.rs index e88793e..d513064 100644 --- a/nihav-llaudio/src/codecs/tta.rs +++ b/nihav-llaudio/src/codecs/tta.rs @@ -341,6 +341,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); llaudio_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.tta test_decoding("tta", "tta", "assets/LLaudio/luckynight.tta", Some(3), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xce0fe9c4, 0xa69eefda, 0xe182008c, 0xe941db3f])); } diff --git a/nihav-llaudio/src/codecs/wavpack.rs b/nihav-llaudio/src/codecs/wavpack.rs index 0f561ac..31629e7 100644 --- a/nihav-llaudio/src/codecs/wavpack.rs +++ b/nihav-llaudio/src/codecs/wavpack.rs @@ -1063,6 +1063,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::llaudio_register_all_decoders; use crate::llaudio_register_all_demuxers; + // samples come from the official WavPack test samples set #[test] fn test_wavpack_8bit() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-llaudio/src/demuxers/ape.rs b/nihav-llaudio/src/demuxers/ape.rs index bae9416..c58915b 100644 --- a/nihav-llaudio/src/demuxers/ape.rs +++ b/nihav-llaudio/src/demuxers/ape.rs @@ -251,6 +251,7 @@ mod test { #[test] fn test_ape_demux() { + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.ape let mut file = File::open("assets/LLaudio/ape/luckynight.ape").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-llaudio/src/demuxers/flac.rs b/nihav-llaudio/src/demuxers/flac.rs index 83208c4..13ab0e3 100644 --- a/nihav-llaudio/src/demuxers/flac.rs +++ b/nihav-llaudio/src/demuxers/flac.rs @@ -286,6 +286,7 @@ mod test { #[test] fn test_flac_demux() { + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.flac let mut file = File::open("assets/LLaudio/luckynight.flac").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-llaudio/src/demuxers/flacraw.rs b/nihav-llaudio/src/demuxers/flacraw.rs index d86d14e..e8d1f4a 100644 --- a/nihav-llaudio/src/demuxers/flacraw.rs +++ b/nihav-llaudio/src/demuxers/flacraw.rs @@ -154,6 +154,7 @@ mod test { #[test] fn test_flac_raw_demux() { + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.flac let mut file = File::open("assets/LLaudio/luckynight.flac").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-llaudio/src/demuxers/tta.rs b/nihav-llaudio/src/demuxers/tta.rs index 25fac1b..8c2150c 100644 --- a/nihav-llaudio/src/demuxers/tta.rs +++ b/nihav-llaudio/src/demuxers/tta.rs @@ -124,6 +124,7 @@ mod test { #[test] fn test_tta_demux() { + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.tta let mut file = File::open("assets/LLaudio/luckynight.tta").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-llaudio/src/demuxers/wavpack.rs b/nihav-llaudio/src/demuxers/wavpack.rs index e54ad7e..9d01089 100644 --- a/nihav-llaudio/src/demuxers/wavpack.rs +++ b/nihav-llaudio/src/demuxers/wavpack.rs @@ -279,6 +279,7 @@ mod test { #[test] fn test_wavpack_demux() { + // sample from the official WavPack test samples set let mut file = File::open("assets/LLaudio/wv/false_stereo.wv").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); diff --git a/nihav-llaudio/src/muxers/flac.rs b/nihav-llaudio/src/muxers/flac.rs index 5c649a5..fb54a89 100644 --- a/nihav-llaudio/src/muxers/flac.rs +++ b/nihav-llaudio/src/muxers/flac.rs @@ -108,6 +108,7 @@ mod test { fn test_flac_muxer() { let mut dmx_reg = RegisteredDemuxers::new(); llaudio_register_all_demuxers(&mut dmx_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.flac let dec_config = DecoderTestParams { demuxer: "flac", in_name: "assets/LLaudio/luckynight.flac", diff --git a/nihav-mpeg/src/codecs/mpegaudio/mod.rs b/nihav-mpeg/src/codecs/mpegaudio/mod.rs index e9400f6..0ca85f5 100644 --- a/nihav-mpeg/src/codecs/mpegaudio/mod.rs +++ b/nihav-mpeg/src/codecs/mpegaudio/mod.rs @@ -450,6 +450,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); mpeg_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/FLV/flash_video_5/i_004.flv let file = "assets/Flash/i_004.flv"; test_decode_audio("flv", file, Some(6000), None/*Some("mp3_1")*/, &dmx_reg, &dec_reg); } @@ -460,6 +461,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); mpeg_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/FLV/venture_030_ivcp_001_8bit.flv let file = "assets/Flash/venture_030_ivcp_001_8bit.flv"; test_decode_audio("flv", file, Some(7200), None/*Some("mp3_2")*/, &dmx_reg, &dec_reg); } @@ -470,12 +472,14 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); mpeg_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/FLV/flash_with_alpha/lection2-2.flv let file = "assets/Flash/lection2-2.flv"; test_decode_audio("flv", file, Some(6000), None/*Some("mp3_3")*/, &dmx_reg, &dec_reg); } #[test] fn test_mpa_packetiser() { let mut buf = [0; 16384]; + // sample from a private collection let mut file = std::fs::File::open("assets/MPEG/1.mp3").unwrap(); let mut pkts = super::MPAPacketiser::new(); diff --git a/nihav-ms/src/codecs/imaadpcm.rs b/nihav-ms/src/codecs/imaadpcm.rs index d58ef36..e0606e9 100644 --- a/nihav-ms/src/codecs/imaadpcm.rs +++ b/nihav-ms/src/codecs/imaadpcm.rs @@ -106,6 +106,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); ms_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/ima-adpcm/ima-adpcm-stutter/IMAG0006.AVI test_decoding("avi", "ima-adpcm-ms", "assets/MS/IMAG0006.AVI", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x0cdc640f, 0xb00df235, 0x1ec4a280, 0x065b5e9e])); } diff --git a/nihav-ms/src/codecs/imaadpcmenc.rs b/nihav-ms/src/codecs/imaadpcmenc.rs index 45e8d21..f142646 100644 --- a/nihav-ms/src/codecs/imaadpcmenc.rs +++ b/nihav-ms/src/codecs/imaadpcmenc.rs @@ -341,6 +341,7 @@ mod test { let mut enc_reg = RegisteredEncoders::new(); ms_register_all_encoders(&mut enc_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/VP4/ot171_vp40.avi let dec_config = DecoderTestParams { demuxer: "avi", in_name: "assets/Duck/ot171_vp40.avi", diff --git a/nihav-ms/src/codecs/msadpcm.rs b/nihav-ms/src/codecs/msadpcm.rs index 068dd41..6b6c63e 100644 --- a/nihav-ms/src/codecs/msadpcm.rs +++ b/nihav-ms/src/codecs/msadpcm.rs @@ -448,6 +448,7 @@ mod test { let mut enc_reg = RegisteredEncoders::new(); ms_register_all_encoders(&mut enc_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/RT21/320x240/laser05.avi let dec_config = DecoderTestParams { demuxer: "avi", in_name: "assets/Indeo/laser05.avi", diff --git a/nihav-ms/src/codecs/msrle.rs b/nihav-ms/src/codecs/msrle.rs index 1cc3308..8637e03 100644 --- a/nihav-ms/src/codecs/msrle.rs +++ b/nihav-ms/src/codecs/msrle.rs @@ -261,6 +261,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::ms_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; + // samples from https://samples.mplayerhq.hu/V-codecs/RLE #[test] fn test_ms_rle_8bit() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-ms/src/codecs/msvideo1.rs b/nihav-ms/src/codecs/msvideo1.rs index 2fb7713..424eb3b 100644 --- a/nihav-ms/src/codecs/msvideo1.rs +++ b/nihav-ms/src/codecs/msvideo1.rs @@ -272,6 +272,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); ms_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/avi/palette_change/toon.avi test_decoding("avi", "msvideo1", "assets/MS/toon.avi", Some(66), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x0c26ec42, 0xb75bfea7, 0x1e6342ae, 0xb14dcfa3])); } @@ -282,6 +283,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); ms_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/CRAM/clock-cram16.avi test_decoding("avi", "msvideo1", "assets/MS/clock-cram16.avi", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x03381fa4, 0x5b294fec, 0xb97a7575, 0xa1a3ffe9])); } diff --git a/nihav-ms/src/codecs/msvideo1enc.rs b/nihav-ms/src/codecs/msvideo1enc.rs index 959c5d5..d716df0 100644 --- a/nihav-ms/src/codecs/msvideo1enc.rs +++ b/nihav-ms/src/codecs/msvideo1enc.rs @@ -582,6 +582,7 @@ mod test { let mut enc_reg = RegisteredEncoders::new(); ms_register_all_encoders(&mut enc_reg); + // sample: https://samples.mplayerhq.hu/V-codecs/UCOD/TalkingHead_352x288.avi let dec_config = DecoderTestParams { demuxer: "avi", in_name: "assets/Misc/TalkingHead_352x288.avi", diff --git a/nihav-qt/src/codecs/alac.rs b/nihav-qt/src/codecs/alac.rs index b29e9a2..a4f959d 100644 --- a/nihav-qt/src/codecs/alac.rs +++ b/nihav-qt/src/codecs/alac.rs @@ -460,6 +460,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); qt_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.m4a test_decoding("mov", "alac", "assets/LLaudio/alac/luckynight.m4a", Some(48000 * 16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x8b6562ac, 0x95981733, 0x47e14709, 0x45d4f05a])); } @@ -470,6 +471,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); qt_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/ALAC/ALAC_6ch.mov test_decoding("mov", "alac", "assets/LLaudio/alac/ALAC_6ch.mov", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x0356ff3d, 0x1ddd3684, 0xb4da8b00, 0x8e8671a7])); } @@ -480,6 +482,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); qt_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/lossless/ALAC/ALAC_24bits2.mov test_decoding("mov", "alac", "assets/LLaudio/alac/ALAC_24bits2.mov", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x15d58ed9, 0x9ee74f5e, 0x0fb82c0b, 0x27da35f9])); } diff --git a/nihav-qt/src/codecs/imaadpcm.rs b/nihav-qt/src/codecs/imaadpcm.rs index 636f882..74b31f9 100644 --- a/nihav-qt/src/codecs/imaadpcm.rs +++ b/nihav-qt/src/codecs/imaadpcm.rs @@ -103,6 +103,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); qt_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/ima-adpcm/shuffle-ima41.mov test_decoding("mov", "ima-adpcm-qt", "assets/QT/shuffle-ima41.mov", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xba2ad472, 0xd6aee026, 0xb915dd7d, 0xac51314c])); } diff --git a/nihav-qt/src/codecs/mace.rs b/nihav-qt/src/codecs/mace.rs index 1166d92..460dca9 100644 --- a/nihav-qt/src/codecs/mace.rs +++ b/nihav-qt/src/codecs/mace.rs @@ -183,6 +183,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::qt_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; + // samples from https://samples.mplayerhq.hu/A-codecs/MACE/surge-samples/ #[test] fn test_mace3() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-qt/src/codecs/qdm2.rs b/nihav-qt/src/codecs/qdm2.rs index 5edd336..f573ac4 100644 --- a/nihav-qt/src/codecs/qdm2.rs +++ b/nihav-qt/src/codecs/qdm2.rs @@ -303,6 +303,7 @@ mod test { qt_register_all_decoders(&mut dec_reg); //test_decode_audio("mov", "assets/QT/0-22050HzSweep8kb.mov", None, Some("qdm2"), &dmx_reg, &dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/QDM2/sweep/0-22050HzSweep10kb.mov test_decoding("mov", "qdesign-music2", "assets/QT/0-22050HzSweep10kb.mov", None, &dmx_reg, &dec_reg, ExpectedTestResult::Decodes); } diff --git a/nihav-qt/src/codecs/qdmc.rs b/nihav-qt/src/codecs/qdmc.rs index cebf637..27ef4e6 100644 --- a/nihav-qt/src/codecs/qdmc.rs +++ b/nihav-qt/src/codecs/qdmc.rs @@ -396,6 +396,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); qt_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/QDMC/rumcoke.mov test_decoding("mov", "qdesign-music", "assets/QT/rumcoke.mov", Some(32), &dmx_reg, &dec_reg, ExpectedTestResult::Decodes); } diff --git a/nihav-qt/src/codecs/rle.rs b/nihav-qt/src/codecs/rle.rs index 969c104..1ff1059 100644 --- a/nihav-qt/src/codecs/rle.rs +++ b/nihav-qt/src/codecs/rle.rs @@ -513,6 +513,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::qt_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; + // samples from https://samples.mplayerhq.hu/V-codecs/QTRLE #[test] fn test_qt_rle_1bit() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-qt/src/codecs/rpza.rs b/nihav-qt/src/codecs/rpza.rs index cbea562..b20cb91 100644 --- a/nihav-qt/src/codecs/rpza.rs +++ b/nihav-qt/src/codecs/rpza.rs @@ -204,7 +204,8 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); qt_register_all_decoders(&mut dec_reg); - test_decoding("mov", "apple-video", "assets/QT/aletrek-rpza.mov", Some(6), &dmx_reg, &dec_reg, + // sample: https://samples.mplayerhq.hu/V-codecs/RPZA/aletrek-rpza.mov + test_decoding("mov", "apple-video", "assets/QT/aletrek-rpza.mov", Some(6), &dmx_reg &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0xe7cfc941, 0xa448841b, 0x75afc888, 0x94aa064b], [0xadaaec50, 0xff7319ff, 0xa1f3f64a, 0xc40c2985], diff --git a/nihav-qt/src/codecs/smc.rs b/nihav-qt/src/codecs/smc.rs index 5364b08..b53ca5c 100644 --- a/nihav-qt/src/codecs/smc.rs +++ b/nihav-qt/src/codecs/smc.rs @@ -293,6 +293,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::qt_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; + // samples from https://samples.mplayerhq.hu/V-codecs/SMC #[test] fn test_smc() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-qt/src/codecs/svq1.rs b/nihav-qt/src/codecs/svq1.rs index 4b5d8cd..e367145 100644 --- a/nihav-qt/src/codecs/svq1.rs +++ b/nihav-qt/src/codecs/svq1.rs @@ -504,6 +504,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); qt_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/A-codecs/ima-adpcm/adpcm-bug.mov test_decoding("mov", "sorenson-video", "assets/QT/adpcm-bug.mov", Some(6), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x90c5eb74, 0xcb942d7d, 0x84c5e444, 0x7f1ba2c2], diff --git a/nihav-qt/src/codecs/svq3.rs b/nihav-qt/src/codecs/svq3.rs index d2cd385..07331c6 100644 --- a/nihav-qt/src/codecs/svq3.rs +++ b/nihav-qt/src/codecs/svq3.rs @@ -1230,6 +1230,7 @@ mod test { //let file = "assets/QT/broken_sword_Large.mov"; //test_file_decoding("mov", file, Some(264), true, false, Some("svq3"), &dmx_reg, &dec_reg); //panic!("end"); + // sample: https://samples.mplayerhq.hu/V-codecs/SVQ3/broken_sword_Large.mov test_decoding("mov", "sorenson-video3", "assets/QT/broken_sword_Large.mov", Some(40), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x16924d18, 0xccc5a0b4, 0xc2bb9412, 0x93d41f10], diff --git a/nihav-rad/src/codecs/bink2.rs b/nihav-rad/src/codecs/bink2.rs index 21b48eb..a42b3d6 100644 --- a/nihav-rad/src/codecs/bink2.rs +++ b/nihav-rad/src/codecs/bink2.rs @@ -1970,6 +1970,7 @@ mod test { //let file = "assets/RAD/Open_Logos_partial.bik"; //let file = "assets/RAD/sc13_01_partial.bk2"; + // sample from a private collection let file = "assets/RAD/ge_video_86l.bk2"; //let file = "assets/RAD/eg_club_0.bk2"; test_file_decoding("bink", file, Some(8), true, false, None/*Some("bink2")*/, &dmx_reg, &dec_reg); diff --git a/nihav-rad/src/codecs/binkaud.rs b/nihav-rad/src/codecs/binkaud.rs index 1cdb0a1..039e441 100644 --- a/nihav-rad/src/codecs/binkaud.rs +++ b/nihav-rad/src/codecs/binkaud.rs @@ -308,6 +308,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/game-formats/bink/ActivisionLogo.bik let file = "assets/RAD/ActivisionLogo.bik"; test_decode_audio("bink", file, None, None/*Some("bink")*/, &dmx_reg, &dec_reg); } @@ -318,6 +319,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample from Heroes of Might and Magic 3 let file = "assets/RAD/NWCLOGO.BIK"; test_decode_audio("bink", file, None, None/*Some("bink")*/, &dmx_reg, &dec_reg); } diff --git a/nihav-rad/src/codecs/binkvid.rs b/nihav-rad/src/codecs/binkvid.rs index 9c0dc9e..65ab3cf 100644 --- a/nihav-rad/src/codecs/binkvid.rs +++ b/nihav-rad/src/codecs/binkvid.rs @@ -1273,6 +1273,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/game-formats/bink/bikb/NEW.BIK test_decoding("bink", "bink-video", "assets/RAD/NEW.BIK", Some(16), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x00edef7e, 0x7efad3b1, 0x7e8bdd74, 0x3f6b00ba], @@ -1300,6 +1301,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/game-formats/bink/ActivisionLogo.bik test_decoding("bink", "bink-video", "assets/RAD/ActivisionLogo.bik", Some(42), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x41128884, 0x73a8c710, 0x5072ea4a, 0x8caca428])); diff --git a/nihav-rad/src/codecs/smacker.rs b/nihav-rad/src/codecs/smacker.rs index 0d681dc..c1b9fd6 100644 --- a/nihav-rad/src/codecs/smacker.rs +++ b/nihav-rad/src/codecs/smacker.rs @@ -625,6 +625,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample from Heroes of Might and Magic 2 test_decoding("smacker", "smacker-video", "assets/RAD/credits.smk", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x0983944a, 0xa23503f8, 0x2602b589, 0x13b53480], @@ -645,6 +646,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/game-formats/smacker/wetlands/wetlogo.smk test_decoding("smacker", "smacker-audio", "assets/RAD/wetlogo.smk", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0xc686b833, 0x0a203038, 0x012f6d9b, 0xa4186d44])); } @@ -655,6 +657,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); rad_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/game-formats/smacker/20130507_audio-distortion.smk test_decoding("smacker", "smacker-audio", "assets/RAD/20130507_audio-distortion.smk", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x942a0922, 0x182bb5fd, 0x94ab7a59, 0x2028d810])); } diff --git a/nihav-rad/src/demuxers/bink.rs b/nihav-rad/src/demuxers/bink.rs index dbf401f..cf576f3 100644 --- a/nihav-rad/src/demuxers/bink.rs +++ b/nihav-rad/src/demuxers/bink.rs @@ -205,6 +205,7 @@ mod test { #[test] fn test_bink_demux() { + // sample: https://samples.mplayerhq.hu/game-formats/bink/ActivisionLogo.bik let mut file = File::open("assets/RAD/ActivisionLogo.bik").unwrap(); // let mut file = File::open("assets/RAD/original.bik").unwrap(); // let mut file = File::open("assets/RAD/Snd0a110c51.dee").unwrap(); diff --git a/nihav-rad/src/demuxers/smacker.rs b/nihav-rad/src/demuxers/smacker.rs index 3a45826..fe64191 100644 --- a/nihav-rad/src/demuxers/smacker.rs +++ b/nihav-rad/src/demuxers/smacker.rs @@ -314,6 +314,7 @@ mod test { #[test] fn test_smk_demux() { + // sample: https://samples.mplayerhq.hu/game-formats/smacker/20130507_audio-distortion.smk let mut file = File::open("assets/RAD/20130507_audio-distortion.smk").unwrap(); // let mut file = File::open("assets/RAD/ajfstr1.smk").unwrap(); // let mut file = File::open("assets/RAD/credits.smk").unwrap(); diff --git a/nihav-realmedia/src/codecs/cook.rs b/nihav-realmedia/src/codecs/cook.rs index b4e17f3..24df7c7 100644 --- a/nihav-realmedia/src/codecs/cook.rs +++ b/nihav-realmedia/src/codecs/cook.rs @@ -702,6 +702,7 @@ mod test { realmedia_register_all_decoders(&mut dec_reg); // let file = "assets/RV/rv30_weighted_mc.rm"; + // sample: https://samples.mplayerhq.hu/real/AC-cook/cook_5.1/multichannel.rma let file = "assets/RV/multichannel.rma"; test_decode_audio("realmedia", file, Some(2000), None/*Some("cook")*/, &dmx_reg, &dec_reg); } diff --git a/nihav-realmedia/src/codecs/ra144.rs b/nihav-realmedia/src/codecs/ra144.rs index 63d4d12..a28850f 100644 --- a/nihav-realmedia/src/codecs/ra144.rs +++ b/nihav-realmedia/src/codecs/ra144.rs @@ -335,6 +335,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/real/AC-14_4/ra3_in_rm_file.rm let file = "assets/RV/ra3_in_rm_file.rm"; test_decode_audio("realmedia", file, Some(5000), None/*Some("ra14.4")*/, &dmx_reg, &dec_reg); } diff --git a/nihav-realmedia/src/codecs/ra288.rs b/nihav-realmedia/src/codecs/ra288.rs index 624769d..822b1e5 100644 --- a/nihav-realmedia/src/codecs/ra288.rs +++ b/nihav-realmedia/src/codecs/ra288.rs @@ -225,6 +225,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/real/AC-28_8/A0000044.rm let file = "assets/RV/A0000044.rm"; test_decode_audio("realmedia", file, Some(5000), None/*Some("ra28.8")*/, &dmx_reg, &dec_reg); } diff --git a/nihav-realmedia/src/codecs/ralf.rs b/nihav-realmedia/src/codecs/ralf.rs index 7e832de..94443a9 100644 --- a/nihav-realmedia/src/codecs/ralf.rs +++ b/nihav-realmedia/src/codecs/ralf.rs @@ -495,6 +495,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample from a private collection test_decoding("realmedia", "ralf", "assets/RV/rv40_ralf.rmvb", None, &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x6cf18361, 0x9548b5ce, 0x5dfc0b5c, 0x2bd6f392])); } diff --git a/nihav-realmedia/src/codecs/rv10.rs b/nihav-realmedia/src/codecs/rv10.rs index 7c317af..317f356 100644 --- a/nihav-realmedia/src/codecs/rv10.rs +++ b/nihav-realmedia/src/codecs/rv10.rs @@ -485,6 +485,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/real/VC-RV10/thankyou.rm test_decoding("realmedia", "realvideo1", "assets/RV/thankyou.rm", Some(1000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x8bba459c, 0xe6e8e01c, 0x36f90595, 0xb268adee], @@ -503,6 +504,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample from a private collection test_decoding("realmedia", "realvideo1", "assets/RV/rv10_dnet_640x352_realvideo_encoder_4.0.rm", Some(1000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ diff --git a/nihav-realmedia/src/codecs/rv20.rs b/nihav-realmedia/src/codecs/rv20.rs index 0781987..f25df6b 100644 --- a/nihav-realmedia/src/codecs/rv20.rs +++ b/nihav-realmedia/src/codecs/rv20.rs @@ -702,6 +702,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample from a private collection test_decoding("realmedia", "realvideo2", "assets/RV/rv20_svt_atrc_640x352_realproducer_plus_8.51.rm", Some(1000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ diff --git a/nihav-realmedia/src/codecs/rv30.rs b/nihav-realmedia/src/codecs/rv30.rs index f5a894b..704b17e 100644 --- a/nihav-realmedia/src/codecs/rv30.rs +++ b/nihav-realmedia/src/codecs/rv30.rs @@ -189,6 +189,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample from a private collection test_decoding("realmedia", "realvideo3", "assets/RV/rv30_weighted_mc.rm", Some(700), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x2a4d13bf, 0x2f21f3c9, 0xcbd601be, 0x61a6405c], @@ -206,6 +207,7 @@ mod test { [0x7b38660e, 0xa46f4080, 0xa493f422, 0x36eaaa3b], [0x6375934a, 0xf2a23087, 0x367f9738, 0xf2251e09], [0x54bcefe7, 0xbbc91dc7, 0x0acec7d7, 0x95cf6d02]])); + // sample: https://samples.mplayerhq.hu/real/VC-RV30/simpsons-clip.rm test_decoding("realmedia", "realvideo3", "assets/RV/simpsons-clip.rm", Some(1337), &dmx_reg, &dec_reg, ExpectedTestResult::MD5([0x36604117, 0x415f95cc, 0xec38e776, 0x9818d3be])); diff --git a/nihav-realmedia/src/codecs/rv40.rs b/nihav-realmedia/src/codecs/rv40.rs index bcd600b..4971c7a 100644 --- a/nihav-realmedia/src/codecs/rv40.rs +++ b/nihav-realmedia/src/codecs/rv40.rs @@ -375,6 +375,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::realmedia_register_all_decoders; use crate::realmedia_register_all_demuxers; + // samples from a private collection #[test] fn test_rv40() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-realmedia/src/codecs/rv60.rs b/nihav-realmedia/src/codecs/rv60.rs index c786b71..71668d7 100644 --- a/nihav-realmedia/src/codecs/rv60.rs +++ b/nihav-realmedia/src/codecs/rv60.rs @@ -1598,6 +1598,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); realmedia_register_all_decoders(&mut dec_reg); + // sample from a private collection test_decoding("realmedia", "realvideo6", "assets/RV/RV60.rmhd", Some(1000), &dmx_reg, &dec_reg, ExpectedTestResult::MD5Frames(vec![ [0x2b1f1807, 0x09edef33, 0x0e6c78c1, 0x3b3c8179], diff --git a/nihav-realmedia/src/demuxers/realmedia.rs b/nihav-realmedia/src/demuxers/realmedia.rs index ad28fca..7a59f56 100644 --- a/nihav-realmedia/src/demuxers/realmedia.rs +++ b/nihav-realmedia/src/demuxers/realmedia.rs @@ -1709,6 +1709,7 @@ mod test { #[test] fn test_rm_demux() { + // sample from a private collection let mut file = File::open("assets/RV/rv10_dnet_640x352_realvideo_encoder_4.0.rm").unwrap(); // File::open("assets/RV/rv20_cook_640x352_realproducer_plus_8.51.rm").unwrap(); @@ -1741,6 +1742,7 @@ mod test { } #[test] fn test_ra_demux() { + // sample: https://samples.mplayerhq.hu/real//RA/ra_with_comment_field/diemusik.ra let mut file = // File::open("assets/RV/welcome288.ra").unwrap(); File::open("assets/RV/diemusik.ra").unwrap(); @@ -1763,6 +1765,7 @@ mod test { } #[test] fn test_ivr_demux() { + // sample: https://samples.mplayerhq.hu/real/ivr/Opener_rm_hi.ivr let mut file = File::open("assets/RV/Opener_rm_hi.ivr").unwrap(); // File::open("assets/RV/SherwinWilliamsCommercial.ivr").unwrap(); diff --git a/nihav-vivo/src/codecs/g723_1.rs b/nihav-vivo/src/codecs/g723_1.rs index 42dda3a..2f650d8 100644 --- a/nihav-vivo/src/codecs/g723_1.rs +++ b/nihav-vivo/src/codecs/g723_1.rs @@ -984,6 +984,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); vivo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/vivo/viv1/adalogo.viv let file = "assets/Misc/adalogo.viv"; //let file = "assets/Misc/gr_al.viv"; //test_decode_audio("vivo", file, Some(1500), None/*Some("g7231")*/, &dmx_reg, &dec_reg); diff --git a/nihav-vivo/src/codecs/siren.rs b/nihav-vivo/src/codecs/siren.rs index 0b23f18..d026ff3 100644 --- a/nihav-vivo/src/codecs/siren.rs +++ b/nihav-vivo/src/codecs/siren.rs @@ -404,6 +404,7 @@ mod test { let mut dec_reg = RegisteredDecoders::new(); vivo_register_all_decoders(&mut dec_reg); + // sample: https://samples.mplayerhq.hu/vivo/vivo2/favmovie.viv let file = "assets/Misc/favmovie.viv"; //let file = "assets/Misc/gr_al.viv"; test_decode_audio("vivo", file, None, None/*Some("siren")*/, &dmx_reg, &dec_reg); diff --git a/nihav-vivo/src/codecs/vivo.rs b/nihav-vivo/src/codecs/vivo.rs index c1d78c9..64af5ff 100644 --- a/nihav-vivo/src/codecs/vivo.rs +++ b/nihav-vivo/src/codecs/vivo.rs @@ -729,6 +729,7 @@ mod test { use nihav_codec_support::test::dec_video::*; use crate::vivo_register_all_decoders; use crate::vivo_register_all_demuxers; + // samples from https://samples.mplayerhq.hu/vivo/ #[test] fn test_vivo1() { let mut dmx_reg = RegisteredDemuxers::new(); diff --git a/nihav-vivo/src/demuxers/vivo.rs b/nihav-vivo/src/demuxers/vivo.rs index 4a6f254..cd8e97d 100644 --- a/nihav-vivo/src/demuxers/vivo.rs +++ b/nihav-vivo/src/demuxers/vivo.rs @@ -262,6 +262,7 @@ mod test { #[test] fn test_vivo_demux() { // let mut file = File::open("assets/Misc/greetings.viv").unwrap(); + // sample: https://samples.mplayerhq.hu/vivo/vivo2/favmovie.viv let mut file = File::open("assets/Misc/favmovie.viv").unwrap(); let mut fr = FileReader::new_read(&mut file); let mut br = ByteReader::new(&mut fr); -- 2.30.2