From: Kostya Shishkov Date: Wed, 1 Apr 2026 19:36:33 +0000 (+0200) Subject: move default QT palettes to nihav_codec_support X-Git-Url: https://git.nihav.org/?a=commitdiff_plain;h=2dcaa59ac9183c283e49cc0b35ae0fd8e5c598fc;p=nihav.git move default QT palettes to nihav_codec_support --- diff --git a/nihav-codec-support/Cargo.toml b/nihav-codec-support/Cargo.toml index 5fb3b91..c3b67a9 100644 --- a/nihav-codec-support/Cargo.toml +++ b/nihav-codec-support/Cargo.toml @@ -13,6 +13,7 @@ default = [] blockdsp = [] jpeg = [] h263 = ["blockdsp"] +qt_pal = [] dsp = [] dct = ["dsp"] diff --git a/nihav-codec-support/src/codecs/mod.rs b/nihav-codec-support/src/codecs/mod.rs index e450864..3f98be4 100644 --- a/nihav-codec-support/src/codecs/mod.rs +++ b/nihav-codec-support/src/codecs/mod.rs @@ -276,6 +276,9 @@ pub mod blockdsp; #[cfg(feature="jpeg")] pub mod jpeg; +#[cfg(feature="qt_pal")] +pub mod qt_pal; + #[cfg(feature="h263")] #[allow(clippy::collapsible_if)] #[allow(clippy::manual_memcpy)] diff --git a/nihav-codec-support/src/codecs/qt_pal.rs b/nihav-codec-support/src/codecs/qt_pal.rs new file mode 100644 index 0000000..74b03ba --- /dev/null +++ b/nihav-codec-support/src/codecs/qt_pal.rs @@ -0,0 +1,284 @@ +//! Default QuickTime palettes. + +pub static MOV_DEFAULT_PAL_2BIT: [u8; 4 * 4] = [ + 0x93, 0x65, 0x5E, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, + 0xDF, 0xD0, 0xAB, 0x00, + 0x00, 0x00, 0x00, 0x00 +]; +pub static MOV_DEFAULT_PAL_4BIT: [u8; 16 * 4] = [ + 0xFF, 0xFB, 0xFF, 0x00, + 0xEF, 0xD9, 0xBB, 0x00, + 0xE8, 0xC9, 0xB1, 0x00, + 0x93, 0x65, 0x5E, 0x00, + 0xFC, 0xDE, 0xE8, 0x00, + 0x9D, 0x88, 0x91, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, + 0x47, 0x48, 0x37, 0x00, + 0x7A, 0x5E, 0x55, 0x00, + 0xDF, 0xD0, 0xAB, 0x00, + 0xFF, 0xFB, 0xF9, 0x00, + 0xE8, 0xCA, 0xC5, 0x00, + 0x8A, 0x7C, 0x77, 0x00, + 0x00, 0x00, 0x00, 0x00 +]; +pub static MOV_DEFAULT_PAL_8BIT: [u8; 256 * 4] = [ + 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xCC, 0x00, + 0xFF, 0xFF, 0x99, 0x00, + 0xFF, 0xFF, 0x66, 0x00, + 0xFF, 0xFF, 0x33, 0x00, + 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xCC, 0xFF, 0x00, + 0xFF, 0xCC, 0xCC, 0x00, + 0xFF, 0xCC, 0x99, 0x00, + 0xFF, 0xCC, 0x66, 0x00, + 0xFF, 0xCC, 0x33, 0x00, + 0xFF, 0xCC, 0x00, 0x00, + 0xFF, 0x99, 0xFF, 0x00, + 0xFF, 0x99, 0xCC, 0x00, + 0xFF, 0x99, 0x99, 0x00, + 0xFF, 0x99, 0x66, 0x00, + 0xFF, 0x99, 0x33, 0x00, + 0xFF, 0x99, 0x00, 0x00, + 0xFF, 0x66, 0xFF, 0x00, + 0xFF, 0x66, 0xCC, 0x00, + 0xFF, 0x66, 0x99, 0x00, + 0xFF, 0x66, 0x66, 0x00, + 0xFF, 0x66, 0x33, 0x00, + 0xFF, 0x66, 0x00, 0x00, + 0xFF, 0x33, 0xFF, 0x00, + 0xFF, 0x33, 0xCC, 0x00, + 0xFF, 0x33, 0x99, 0x00, + 0xFF, 0x33, 0x66, 0x00, + 0xFF, 0x33, 0x33, 0x00, + 0xFF, 0x33, 0x00, 0x00, + 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0x00, 0xCC, 0x00, + 0xFF, 0x00, 0x99, 0x00, + 0xFF, 0x00, 0x66, 0x00, + 0xFF, 0x00, 0x33, 0x00, + 0xFF, 0x00, 0x00, 0x00, + 0xCC, 0xFF, 0xFF, 0x00, + 0xCC, 0xFF, 0xCC, 0x00, + 0xCC, 0xFF, 0x99, 0x00, + 0xCC, 0xFF, 0x66, 0x00, + 0xCC, 0xFF, 0x33, 0x00, + 0xCC, 0xFF, 0x00, 0x00, + 0xCC, 0xCC, 0xFF, 0x00, + 0xCC, 0xCC, 0xCC, 0x00, + 0xCC, 0xCC, 0x99, 0x00, + 0xCC, 0xCC, 0x66, 0x00, + 0xCC, 0xCC, 0x33, 0x00, + 0xCC, 0xCC, 0x00, 0x00, + 0xCC, 0x99, 0xFF, 0x00, + 0xCC, 0x99, 0xCC, 0x00, + 0xCC, 0x99, 0x99, 0x00, + 0xCC, 0x99, 0x66, 0x00, + 0xCC, 0x99, 0x33, 0x00, + 0xCC, 0x99, 0x00, 0x00, + 0xCC, 0x66, 0xFF, 0x00, + 0xCC, 0x66, 0xCC, 0x00, + 0xCC, 0x66, 0x99, 0x00, + 0xCC, 0x66, 0x66, 0x00, + 0xCC, 0x66, 0x33, 0x00, + 0xCC, 0x66, 0x00, 0x00, + 0xCC, 0x33, 0xFF, 0x00, + 0xCC, 0x33, 0xCC, 0x00, + 0xCC, 0x33, 0x99, 0x00, + 0xCC, 0x33, 0x66, 0x00, + 0xCC, 0x33, 0x33, 0x00, + 0xCC, 0x33, 0x00, 0x00, + 0xCC, 0x00, 0xFF, 0x00, + 0xCC, 0x00, 0xCC, 0x00, + 0xCC, 0x00, 0x99, 0x00, + 0xCC, 0x00, 0x66, 0x00, + 0xCC, 0x00, 0x33, 0x00, + 0xCC, 0x00, 0x00, 0x00, + 0x99, 0xFF, 0xFF, 0x00, + 0x99, 0xFF, 0xCC, 0x00, + 0x99, 0xFF, 0x99, 0x00, + 0x99, 0xFF, 0x66, 0x00, + 0x99, 0xFF, 0x33, 0x00, + 0x99, 0xFF, 0x00, 0x00, + 0x99, 0xCC, 0xFF, 0x00, + 0x99, 0xCC, 0xCC, 0x00, + 0x99, 0xCC, 0x99, 0x00, + 0x99, 0xCC, 0x66, 0x00, + 0x99, 0xCC, 0x33, 0x00, + 0x99, 0xCC, 0x00, 0x00, + 0x99, 0x99, 0xFF, 0x00, + 0x99, 0x99, 0xCC, 0x00, + 0x99, 0x99, 0x99, 0x00, + 0x99, 0x99, 0x66, 0x00, + 0x99, 0x99, 0x33, 0x00, + 0x99, 0x99, 0x00, 0x00, + 0x99, 0x66, 0xFF, 0x00, + 0x99, 0x66, 0xCC, 0x00, + 0x99, 0x66, 0x99, 0x00, + 0x99, 0x66, 0x66, 0x00, + 0x99, 0x66, 0x33, 0x00, + 0x99, 0x66, 0x00, 0x00, + 0x99, 0x33, 0xFF, 0x00, + 0x99, 0x33, 0xCC, 0x00, + 0x99, 0x33, 0x99, 0x00, + 0x99, 0x33, 0x66, 0x00, + 0x99, 0x33, 0x33, 0x00, + 0x99, 0x33, 0x00, 0x00, + 0x99, 0x00, 0xFF, 0x00, + 0x99, 0x00, 0xCC, 0x00, + 0x99, 0x00, 0x99, 0x00, + 0x99, 0x00, 0x66, 0x00, + 0x99, 0x00, 0x33, 0x00, + 0x99, 0x00, 0x00, 0x00, + 0x66, 0xFF, 0xFF, 0x00, + 0x66, 0xFF, 0xCC, 0x00, + 0x66, 0xFF, 0x99, 0x00, + 0x66, 0xFF, 0x66, 0x00, + 0x66, 0xFF, 0x33, 0x00, + 0x66, 0xFF, 0x00, 0x00, + 0x66, 0xCC, 0xFF, 0x00, + 0x66, 0xCC, 0xCC, 0x00, + 0x66, 0xCC, 0x99, 0x00, + 0x66, 0xCC, 0x66, 0x00, + 0x66, 0xCC, 0x33, 0x00, + 0x66, 0xCC, 0x00, 0x00, + 0x66, 0x99, 0xFF, 0x00, + 0x66, 0x99, 0xCC, 0x00, + 0x66, 0x99, 0x99, 0x00, + 0x66, 0x99, 0x66, 0x00, + 0x66, 0x99, 0x33, 0x00, + 0x66, 0x99, 0x00, 0x00, + 0x66, 0x66, 0xFF, 0x00, + 0x66, 0x66, 0xCC, 0x00, + 0x66, 0x66, 0x99, 0x00, + 0x66, 0x66, 0x66, 0x00, + 0x66, 0x66, 0x33, 0x00, + 0x66, 0x66, 0x00, 0x00, + 0x66, 0x33, 0xFF, 0x00, + 0x66, 0x33, 0xCC, 0x00, + 0x66, 0x33, 0x99, 0x00, + 0x66, 0x33, 0x66, 0x00, + 0x66, 0x33, 0x33, 0x00, + 0x66, 0x33, 0x00, 0x00, + 0x66, 0x00, 0xFF, 0x00, + 0x66, 0x00, 0xCC, 0x00, + 0x66, 0x00, 0x99, 0x00, + 0x66, 0x00, 0x66, 0x00, + 0x66, 0x00, 0x33, 0x00, + 0x66, 0x00, 0x00, 0x00, + 0x33, 0xFF, 0xFF, 0x00, + 0x33, 0xFF, 0xCC, 0x00, + 0x33, 0xFF, 0x99, 0x00, + 0x33, 0xFF, 0x66, 0x00, + 0x33, 0xFF, 0x33, 0x00, + 0x33, 0xFF, 0x00, 0x00, + 0x33, 0xCC, 0xFF, 0x00, + 0x33, 0xCC, 0xCC, 0x00, + 0x33, 0xCC, 0x99, 0x00, + 0x33, 0xCC, 0x66, 0x00, + 0x33, 0xCC, 0x33, 0x00, + 0x33, 0xCC, 0x00, 0x00, + 0x33, 0x99, 0xFF, 0x00, + 0x33, 0x99, 0xCC, 0x00, + 0x33, 0x99, 0x99, 0x00, + 0x33, 0x99, 0x66, 0x00, + 0x33, 0x99, 0x33, 0x00, + 0x33, 0x99, 0x00, 0x00, + 0x33, 0x66, 0xFF, 0x00, + 0x33, 0x66, 0xCC, 0x00, + 0x33, 0x66, 0x99, 0x00, + 0x33, 0x66, 0x66, 0x00, + 0x33, 0x66, 0x33, 0x00, + 0x33, 0x66, 0x00, 0x00, + 0x33, 0x33, 0xFF, 0x00, + 0x33, 0x33, 0xCC, 0x00, + 0x33, 0x33, 0x99, 0x00, + 0x33, 0x33, 0x66, 0x00, + 0x33, 0x33, 0x33, 0x00, + 0x33, 0x33, 0x00, 0x00, + 0x33, 0x00, 0xFF, 0x00, + 0x33, 0x00, 0xCC, 0x00, + 0x33, 0x00, 0x99, 0x00, + 0x33, 0x00, 0x66, 0x00, + 0x33, 0x00, 0x33, 0x00, + 0x33, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0xFF, 0xCC, 0x00, + 0x00, 0xFF, 0x99, 0x00, + 0x00, 0xFF, 0x66, 0x00, + 0x00, 0xFF, 0x33, 0x00, + 0x00, 0xFF, 0x00, 0x00, + 0x00, 0xCC, 0xFF, 0x00, + 0x00, 0xCC, 0xCC, 0x00, + 0x00, 0xCC, 0x99, 0x00, + 0x00, 0xCC, 0x66, 0x00, + 0x00, 0xCC, 0x33, 0x00, + 0x00, 0xCC, 0x00, 0x00, + 0x00, 0x99, 0xFF, 0x00, + 0x00, 0x99, 0xCC, 0x00, + 0x00, 0x99, 0x99, 0x00, + 0x00, 0x99, 0x66, 0x00, + 0x00, 0x99, 0x33, 0x00, + 0x00, 0x99, 0x00, 0x00, + 0x00, 0x66, 0xFF, 0x00, + 0x00, 0x66, 0xCC, 0x00, + 0x00, 0x66, 0x99, 0x00, + 0x00, 0x66, 0x66, 0x00, + 0x00, 0x66, 0x33, 0x00, + 0x00, 0x66, 0x00, 0x00, + 0x00, 0x33, 0xFF, 0x00, + 0x00, 0x33, 0xCC, 0x00, + 0x00, 0x33, 0x99, 0x00, + 0x00, 0x33, 0x66, 0x00, + 0x00, 0x33, 0x33, 0x00, + 0x00, 0x33, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0xCC, 0x00, + 0x00, 0x00, 0x99, 0x00, + 0x00, 0x00, 0x66, 0x00, + 0x00, 0x00, 0x33, 0x00, + 0xEE, 0x00, 0x00, 0x00, + 0xDD, 0x00, 0x00, 0x00, + 0xBB, 0x00, 0x00, 0x00, + 0xAA, 0x00, 0x00, 0x00, + 0x88, 0x00, 0x00, 0x00, + 0x77, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, + 0x22, 0x00, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0x00, 0x00, + 0x00, 0xDD, 0x00, 0x00, + 0x00, 0xBB, 0x00, 0x00, + 0x00, 0xAA, 0x00, 0x00, + 0x00, 0x88, 0x00, 0x00, + 0x00, 0x77, 0x00, 0x00, + 0x00, 0x55, 0x00, 0x00, + 0x00, 0x44, 0x00, 0x00, + 0x00, 0x22, 0x00, 0x00, + 0x00, 0x11, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0x00, + 0x00, 0x00, 0xDD, 0x00, + 0x00, 0x00, 0xBB, 0x00, + 0x00, 0x00, 0xAA, 0x00, + 0x00, 0x00, 0x88, 0x00, + 0x00, 0x00, 0x77, 0x00, + 0x00, 0x00, 0x55, 0x00, + 0x00, 0x00, 0x44, 0x00, + 0x00, 0x00, 0x22, 0x00, + 0x00, 0x00, 0x11, 0x00, + 0xEE, 0xEE, 0xEE, 0x00, + 0xDD, 0xDD, 0xDD, 0x00, + 0xBB, 0xBB, 0xBB, 0x00, + 0xAA, 0xAA, 0xAA, 0x00, + 0x88, 0x88, 0x88, 0x00, + 0x77, 0x77, 0x77, 0x00, + 0x55, 0x55, 0x55, 0x00, + 0x44, 0x44, 0x44, 0x00, + 0x22, 0x22, 0x22, 0x00, + 0x11, 0x11, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x00 +]; diff --git a/nihav-commonfmt/Cargo.toml b/nihav-commonfmt/Cargo.toml index 854495c..473acac 100644 --- a/nihav-commonfmt/Cargo.toml +++ b/nihav-commonfmt/Cargo.toml @@ -12,7 +12,7 @@ path = "../nihav-registry" [dependencies.nihav_codec_support] path = "../nihav-codec-support" -features = ["h263", "mdct", "fft", "vq", "jpeg"] +features = ["h263", "mdct", "fft", "vq", "jpeg", "qt_pal"] [dev-dependencies] nihav_realmedia = { path = "../nihav-realmedia", default-features=false, features = ["all_demuxers"] } diff --git a/nihav-commonfmt/src/demuxers/mov.rs b/nihav-commonfmt/src/demuxers/mov.rs index 47c0728..eb16b45 100644 --- a/nihav-commonfmt/src/demuxers/mov.rs +++ b/nihav-commonfmt/src/demuxers/mov.rs @@ -1,6 +1,7 @@ use nihav_core::demuxers::*; use nihav_registry::register::*; use nihav_core::compr::deflate::*; +use nihav_codec_support::codecs::qt_pal::*; macro_rules! mktag { ($a:expr, $b:expr, $c:expr, $d:expr) => ({ @@ -2210,289 +2211,6 @@ impl DemuxerCreator for MacResForkMOVDemuxerCreator { fn get_name(&self) -> &'static str { "mov-resfork" } } -const MOV_DEFAULT_PAL_2BIT: [u8; 4 * 4] = [ - 0x93, 0x65, 0x5E, 0x00, - 0xFF, 0xFF, 0xFF, 0x00, - 0xDF, 0xD0, 0xAB, 0x00, - 0x00, 0x00, 0x00, 0x00 -]; -const MOV_DEFAULT_PAL_4BIT: [u8; 16 * 4] = [ - 0xFF, 0xFB, 0xFF, 0x00, - 0xEF, 0xD9, 0xBB, 0x00, - 0xE8, 0xC9, 0xB1, 0x00, - 0x93, 0x65, 0x5E, 0x00, - 0xFC, 0xDE, 0xE8, 0x00, - 0x9D, 0x88, 0x91, 0x00, - 0xFF, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0xFF, 0x00, - 0x47, 0x48, 0x37, 0x00, - 0x7A, 0x5E, 0x55, 0x00, - 0xDF, 0xD0, 0xAB, 0x00, - 0xFF, 0xFB, 0xF9, 0x00, - 0xE8, 0xCA, 0xC5, 0x00, - 0x8A, 0x7C, 0x77, 0x00, - 0x00, 0x00, 0x00, 0x00 -]; -const MOV_DEFAULT_PAL_8BIT: [u8; 256 * 4] = [ - 0xFF, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0xCC, 0x00, - 0xFF, 0xFF, 0x99, 0x00, - 0xFF, 0xFF, 0x66, 0x00, - 0xFF, 0xFF, 0x33, 0x00, - 0xFF, 0xFF, 0x00, 0x00, - 0xFF, 0xCC, 0xFF, 0x00, - 0xFF, 0xCC, 0xCC, 0x00, - 0xFF, 0xCC, 0x99, 0x00, - 0xFF, 0xCC, 0x66, 0x00, - 0xFF, 0xCC, 0x33, 0x00, - 0xFF, 0xCC, 0x00, 0x00, - 0xFF, 0x99, 0xFF, 0x00, - 0xFF, 0x99, 0xCC, 0x00, - 0xFF, 0x99, 0x99, 0x00, - 0xFF, 0x99, 0x66, 0x00, - 0xFF, 0x99, 0x33, 0x00, - 0xFF, 0x99, 0x00, 0x00, - 0xFF, 0x66, 0xFF, 0x00, - 0xFF, 0x66, 0xCC, 0x00, - 0xFF, 0x66, 0x99, 0x00, - 0xFF, 0x66, 0x66, 0x00, - 0xFF, 0x66, 0x33, 0x00, - 0xFF, 0x66, 0x00, 0x00, - 0xFF, 0x33, 0xFF, 0x00, - 0xFF, 0x33, 0xCC, 0x00, - 0xFF, 0x33, 0x99, 0x00, - 0xFF, 0x33, 0x66, 0x00, - 0xFF, 0x33, 0x33, 0x00, - 0xFF, 0x33, 0x00, 0x00, - 0xFF, 0x00, 0xFF, 0x00, - 0xFF, 0x00, 0xCC, 0x00, - 0xFF, 0x00, 0x99, 0x00, - 0xFF, 0x00, 0x66, 0x00, - 0xFF, 0x00, 0x33, 0x00, - 0xFF, 0x00, 0x00, 0x00, - 0xCC, 0xFF, 0xFF, 0x00, - 0xCC, 0xFF, 0xCC, 0x00, - 0xCC, 0xFF, 0x99, 0x00, - 0xCC, 0xFF, 0x66, 0x00, - 0xCC, 0xFF, 0x33, 0x00, - 0xCC, 0xFF, 0x00, 0x00, - 0xCC, 0xCC, 0xFF, 0x00, - 0xCC, 0xCC, 0xCC, 0x00, - 0xCC, 0xCC, 0x99, 0x00, - 0xCC, 0xCC, 0x66, 0x00, - 0xCC, 0xCC, 0x33, 0x00, - 0xCC, 0xCC, 0x00, 0x00, - 0xCC, 0x99, 0xFF, 0x00, - 0xCC, 0x99, 0xCC, 0x00, - 0xCC, 0x99, 0x99, 0x00, - 0xCC, 0x99, 0x66, 0x00, - 0xCC, 0x99, 0x33, 0x00, - 0xCC, 0x99, 0x00, 0x00, - 0xCC, 0x66, 0xFF, 0x00, - 0xCC, 0x66, 0xCC, 0x00, - 0xCC, 0x66, 0x99, 0x00, - 0xCC, 0x66, 0x66, 0x00, - 0xCC, 0x66, 0x33, 0x00, - 0xCC, 0x66, 0x00, 0x00, - 0xCC, 0x33, 0xFF, 0x00, - 0xCC, 0x33, 0xCC, 0x00, - 0xCC, 0x33, 0x99, 0x00, - 0xCC, 0x33, 0x66, 0x00, - 0xCC, 0x33, 0x33, 0x00, - 0xCC, 0x33, 0x00, 0x00, - 0xCC, 0x00, 0xFF, 0x00, - 0xCC, 0x00, 0xCC, 0x00, - 0xCC, 0x00, 0x99, 0x00, - 0xCC, 0x00, 0x66, 0x00, - 0xCC, 0x00, 0x33, 0x00, - 0xCC, 0x00, 0x00, 0x00, - 0x99, 0xFF, 0xFF, 0x00, - 0x99, 0xFF, 0xCC, 0x00, - 0x99, 0xFF, 0x99, 0x00, - 0x99, 0xFF, 0x66, 0x00, - 0x99, 0xFF, 0x33, 0x00, - 0x99, 0xFF, 0x00, 0x00, - 0x99, 0xCC, 0xFF, 0x00, - 0x99, 0xCC, 0xCC, 0x00, - 0x99, 0xCC, 0x99, 0x00, - 0x99, 0xCC, 0x66, 0x00, - 0x99, 0xCC, 0x33, 0x00, - 0x99, 0xCC, 0x00, 0x00, - 0x99, 0x99, 0xFF, 0x00, - 0x99, 0x99, 0xCC, 0x00, - 0x99, 0x99, 0x99, 0x00, - 0x99, 0x99, 0x66, 0x00, - 0x99, 0x99, 0x33, 0x00, - 0x99, 0x99, 0x00, 0x00, - 0x99, 0x66, 0xFF, 0x00, - 0x99, 0x66, 0xCC, 0x00, - 0x99, 0x66, 0x99, 0x00, - 0x99, 0x66, 0x66, 0x00, - 0x99, 0x66, 0x33, 0x00, - 0x99, 0x66, 0x00, 0x00, - 0x99, 0x33, 0xFF, 0x00, - 0x99, 0x33, 0xCC, 0x00, - 0x99, 0x33, 0x99, 0x00, - 0x99, 0x33, 0x66, 0x00, - 0x99, 0x33, 0x33, 0x00, - 0x99, 0x33, 0x00, 0x00, - 0x99, 0x00, 0xFF, 0x00, - 0x99, 0x00, 0xCC, 0x00, - 0x99, 0x00, 0x99, 0x00, - 0x99, 0x00, 0x66, 0x00, - 0x99, 0x00, 0x33, 0x00, - 0x99, 0x00, 0x00, 0x00, - 0x66, 0xFF, 0xFF, 0x00, - 0x66, 0xFF, 0xCC, 0x00, - 0x66, 0xFF, 0x99, 0x00, - 0x66, 0xFF, 0x66, 0x00, - 0x66, 0xFF, 0x33, 0x00, - 0x66, 0xFF, 0x00, 0x00, - 0x66, 0xCC, 0xFF, 0x00, - 0x66, 0xCC, 0xCC, 0x00, - 0x66, 0xCC, 0x99, 0x00, - 0x66, 0xCC, 0x66, 0x00, - 0x66, 0xCC, 0x33, 0x00, - 0x66, 0xCC, 0x00, 0x00, - 0x66, 0x99, 0xFF, 0x00, - 0x66, 0x99, 0xCC, 0x00, - 0x66, 0x99, 0x99, 0x00, - 0x66, 0x99, 0x66, 0x00, - 0x66, 0x99, 0x33, 0x00, - 0x66, 0x99, 0x00, 0x00, - 0x66, 0x66, 0xFF, 0x00, - 0x66, 0x66, 0xCC, 0x00, - 0x66, 0x66, 0x99, 0x00, - 0x66, 0x66, 0x66, 0x00, - 0x66, 0x66, 0x33, 0x00, - 0x66, 0x66, 0x00, 0x00, - 0x66, 0x33, 0xFF, 0x00, - 0x66, 0x33, 0xCC, 0x00, - 0x66, 0x33, 0x99, 0x00, - 0x66, 0x33, 0x66, 0x00, - 0x66, 0x33, 0x33, 0x00, - 0x66, 0x33, 0x00, 0x00, - 0x66, 0x00, 0xFF, 0x00, - 0x66, 0x00, 0xCC, 0x00, - 0x66, 0x00, 0x99, 0x00, - 0x66, 0x00, 0x66, 0x00, - 0x66, 0x00, 0x33, 0x00, - 0x66, 0x00, 0x00, 0x00, - 0x33, 0xFF, 0xFF, 0x00, - 0x33, 0xFF, 0xCC, 0x00, - 0x33, 0xFF, 0x99, 0x00, - 0x33, 0xFF, 0x66, 0x00, - 0x33, 0xFF, 0x33, 0x00, - 0x33, 0xFF, 0x00, 0x00, - 0x33, 0xCC, 0xFF, 0x00, - 0x33, 0xCC, 0xCC, 0x00, - 0x33, 0xCC, 0x99, 0x00, - 0x33, 0xCC, 0x66, 0x00, - 0x33, 0xCC, 0x33, 0x00, - 0x33, 0xCC, 0x00, 0x00, - 0x33, 0x99, 0xFF, 0x00, - 0x33, 0x99, 0xCC, 0x00, - 0x33, 0x99, 0x99, 0x00, - 0x33, 0x99, 0x66, 0x00, - 0x33, 0x99, 0x33, 0x00, - 0x33, 0x99, 0x00, 0x00, - 0x33, 0x66, 0xFF, 0x00, - 0x33, 0x66, 0xCC, 0x00, - 0x33, 0x66, 0x99, 0x00, - 0x33, 0x66, 0x66, 0x00, - 0x33, 0x66, 0x33, 0x00, - 0x33, 0x66, 0x00, 0x00, - 0x33, 0x33, 0xFF, 0x00, - 0x33, 0x33, 0xCC, 0x00, - 0x33, 0x33, 0x99, 0x00, - 0x33, 0x33, 0x66, 0x00, - 0x33, 0x33, 0x33, 0x00, - 0x33, 0x33, 0x00, 0x00, - 0x33, 0x00, 0xFF, 0x00, - 0x33, 0x00, 0xCC, 0x00, - 0x33, 0x00, 0x99, 0x00, - 0x33, 0x00, 0x66, 0x00, - 0x33, 0x00, 0x33, 0x00, - 0x33, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, - 0x00, 0xFF, 0xCC, 0x00, - 0x00, 0xFF, 0x99, 0x00, - 0x00, 0xFF, 0x66, 0x00, - 0x00, 0xFF, 0x33, 0x00, - 0x00, 0xFF, 0x00, 0x00, - 0x00, 0xCC, 0xFF, 0x00, - 0x00, 0xCC, 0xCC, 0x00, - 0x00, 0xCC, 0x99, 0x00, - 0x00, 0xCC, 0x66, 0x00, - 0x00, 0xCC, 0x33, 0x00, - 0x00, 0xCC, 0x00, 0x00, - 0x00, 0x99, 0xFF, 0x00, - 0x00, 0x99, 0xCC, 0x00, - 0x00, 0x99, 0x99, 0x00, - 0x00, 0x99, 0x66, 0x00, - 0x00, 0x99, 0x33, 0x00, - 0x00, 0x99, 0x00, 0x00, - 0x00, 0x66, 0xFF, 0x00, - 0x00, 0x66, 0xCC, 0x00, - 0x00, 0x66, 0x99, 0x00, - 0x00, 0x66, 0x66, 0x00, - 0x00, 0x66, 0x33, 0x00, - 0x00, 0x66, 0x00, 0x00, - 0x00, 0x33, 0xFF, 0x00, - 0x00, 0x33, 0xCC, 0x00, - 0x00, 0x33, 0x99, 0x00, - 0x00, 0x33, 0x66, 0x00, - 0x00, 0x33, 0x33, 0x00, - 0x00, 0x33, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0xCC, 0x00, - 0x00, 0x00, 0x99, 0x00, - 0x00, 0x00, 0x66, 0x00, - 0x00, 0x00, 0x33, 0x00, - 0xEE, 0x00, 0x00, 0x00, - 0xDD, 0x00, 0x00, 0x00, - 0xBB, 0x00, 0x00, 0x00, - 0xAA, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x00, 0x00, - 0x77, 0x00, 0x00, 0x00, - 0x55, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, - 0x11, 0x00, 0x00, 0x00, - 0x00, 0xEE, 0x00, 0x00, - 0x00, 0xDD, 0x00, 0x00, - 0x00, 0xBB, 0x00, 0x00, - 0x00, 0xAA, 0x00, 0x00, - 0x00, 0x88, 0x00, 0x00, - 0x00, 0x77, 0x00, 0x00, - 0x00, 0x55, 0x00, 0x00, - 0x00, 0x44, 0x00, 0x00, - 0x00, 0x22, 0x00, 0x00, - 0x00, 0x11, 0x00, 0x00, - 0x00, 0x00, 0xEE, 0x00, - 0x00, 0x00, 0xDD, 0x00, - 0x00, 0x00, 0xBB, 0x00, - 0x00, 0x00, 0xAA, 0x00, - 0x00, 0x00, 0x88, 0x00, - 0x00, 0x00, 0x77, 0x00, - 0x00, 0x00, 0x55, 0x00, - 0x00, 0x00, 0x44, 0x00, - 0x00, 0x00, 0x22, 0x00, - 0x00, 0x00, 0x11, 0x00, - 0xEE, 0xEE, 0xEE, 0x00, - 0xDD, 0xDD, 0xDD, 0x00, - 0xBB, 0xBB, 0xBB, 0x00, - 0xAA, 0xAA, 0xAA, 0x00, - 0x88, 0x88, 0x88, 0x00, - 0x77, 0x77, 0x77, 0x00, - 0x55, 0x55, 0x55, 0x00, - 0x44, 0x44, 0x44, 0x00, - 0x22, 0x22, 0x22, 0x00, - 0x11, 0x11, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x00 -]; - #[cfg(test)] mod test { use super::*; diff --git a/nihav-qt/Cargo.toml b/nihav-qt/Cargo.toml index 8f34305..722357b 100644 --- a/nihav-qt/Cargo.toml +++ b/nihav-qt/Cargo.toml @@ -10,7 +10,7 @@ features = [] [dependencies.nihav_codec_support] path = "../nihav-codec-support" -features = ["blockdsp", "fft", "qmf"] +features = ["blockdsp", "fft", "qmf", "qt_pal"] [dev-dependencies] nihav_commonfmt = { path = "../nihav-commonfmt", default-features=false, features = ["all_demuxers"] } diff --git a/nihav-qt/src/demuxers/warhol.rs b/nihav-qt/src/demuxers/warhol.rs index 5551965..e40179c 100644 --- a/nihav-qt/src/demuxers/warhol.rs +++ b/nihav-qt/src/demuxers/warhol.rs @@ -1,4 +1,5 @@ use nihav_core::demuxers::*; +use nihav_codec_support::codecs::qt_pal::MOV_DEFAULT_PAL_8BIT; struct Track { offsets: Vec, @@ -229,263 +230,3 @@ mod test { } } } - -static MOV_DEFAULT_PAL_8BIT: [u8; 256 * 4] = [ - 0xFF, 0xFF, 0xFF, 0x00, - 0xFF, 0xFF, 0xCC, 0x00, - 0xFF, 0xFF, 0x99, 0x00, - 0xFF, 0xFF, 0x66, 0x00, - 0xFF, 0xFF, 0x33, 0x00, - 0xFF, 0xFF, 0x00, 0x00, - 0xFF, 0xCC, 0xFF, 0x00, - 0xFF, 0xCC, 0xCC, 0x00, - 0xFF, 0xCC, 0x99, 0x00, - 0xFF, 0xCC, 0x66, 0x00, - 0xFF, 0xCC, 0x33, 0x00, - 0xFF, 0xCC, 0x00, 0x00, - 0xFF, 0x99, 0xFF, 0x00, - 0xFF, 0x99, 0xCC, 0x00, - 0xFF, 0x99, 0x99, 0x00, - 0xFF, 0x99, 0x66, 0x00, - 0xFF, 0x99, 0x33, 0x00, - 0xFF, 0x99, 0x00, 0x00, - 0xFF, 0x66, 0xFF, 0x00, - 0xFF, 0x66, 0xCC, 0x00, - 0xFF, 0x66, 0x99, 0x00, - 0xFF, 0x66, 0x66, 0x00, - 0xFF, 0x66, 0x33, 0x00, - 0xFF, 0x66, 0x00, 0x00, - 0xFF, 0x33, 0xFF, 0x00, - 0xFF, 0x33, 0xCC, 0x00, - 0xFF, 0x33, 0x99, 0x00, - 0xFF, 0x33, 0x66, 0x00, - 0xFF, 0x33, 0x33, 0x00, - 0xFF, 0x33, 0x00, 0x00, - 0xFF, 0x00, 0xFF, 0x00, - 0xFF, 0x00, 0xCC, 0x00, - 0xFF, 0x00, 0x99, 0x00, - 0xFF, 0x00, 0x66, 0x00, - 0xFF, 0x00, 0x33, 0x00, - 0xFF, 0x00, 0x00, 0x00, - 0xCC, 0xFF, 0xFF, 0x00, - 0xCC, 0xFF, 0xCC, 0x00, - 0xCC, 0xFF, 0x99, 0x00, - 0xCC, 0xFF, 0x66, 0x00, - 0xCC, 0xFF, 0x33, 0x00, - 0xCC, 0xFF, 0x00, 0x00, - 0xCC, 0xCC, 0xFF, 0x00, - 0xCC, 0xCC, 0xCC, 0x00, - 0xCC, 0xCC, 0x99, 0x00, - 0xCC, 0xCC, 0x66, 0x00, - 0xCC, 0xCC, 0x33, 0x00, - 0xCC, 0xCC, 0x00, 0x00, - 0xCC, 0x99, 0xFF, 0x00, - 0xCC, 0x99, 0xCC, 0x00, - 0xCC, 0x99, 0x99, 0x00, - 0xCC, 0x99, 0x66, 0x00, - 0xCC, 0x99, 0x33, 0x00, - 0xCC, 0x99, 0x00, 0x00, - 0xCC, 0x66, 0xFF, 0x00, - 0xCC, 0x66, 0xCC, 0x00, - 0xCC, 0x66, 0x99, 0x00, - 0xCC, 0x66, 0x66, 0x00, - 0xCC, 0x66, 0x33, 0x00, - 0xCC, 0x66, 0x00, 0x00, - 0xCC, 0x33, 0xFF, 0x00, - 0xCC, 0x33, 0xCC, 0x00, - 0xCC, 0x33, 0x99, 0x00, - 0xCC, 0x33, 0x66, 0x00, - 0xCC, 0x33, 0x33, 0x00, - 0xCC, 0x33, 0x00, 0x00, - 0xCC, 0x00, 0xFF, 0x00, - 0xCC, 0x00, 0xCC, 0x00, - 0xCC, 0x00, 0x99, 0x00, - 0xCC, 0x00, 0x66, 0x00, - 0xCC, 0x00, 0x33, 0x00, - 0xCC, 0x00, 0x00, 0x00, - 0x99, 0xFF, 0xFF, 0x00, - 0x99, 0xFF, 0xCC, 0x00, - 0x99, 0xFF, 0x99, 0x00, - 0x99, 0xFF, 0x66, 0x00, - 0x99, 0xFF, 0x33, 0x00, - 0x99, 0xFF, 0x00, 0x00, - 0x99, 0xCC, 0xFF, 0x00, - 0x99, 0xCC, 0xCC, 0x00, - 0x99, 0xCC, 0x99, 0x00, - 0x99, 0xCC, 0x66, 0x00, - 0x99, 0xCC, 0x33, 0x00, - 0x99, 0xCC, 0x00, 0x00, - 0x99, 0x99, 0xFF, 0x00, - 0x99, 0x99, 0xCC, 0x00, - 0x99, 0x99, 0x99, 0x00, - 0x99, 0x99, 0x66, 0x00, - 0x99, 0x99, 0x33, 0x00, - 0x99, 0x99, 0x00, 0x00, - 0x99, 0x66, 0xFF, 0x00, - 0x99, 0x66, 0xCC, 0x00, - 0x99, 0x66, 0x99, 0x00, - 0x99, 0x66, 0x66, 0x00, - 0x99, 0x66, 0x33, 0x00, - 0x99, 0x66, 0x00, 0x00, - 0x99, 0x33, 0xFF, 0x00, - 0x99, 0x33, 0xCC, 0x00, - 0x99, 0x33, 0x99, 0x00, - 0x99, 0x33, 0x66, 0x00, - 0x99, 0x33, 0x33, 0x00, - 0x99, 0x33, 0x00, 0x00, - 0x99, 0x00, 0xFF, 0x00, - 0x99, 0x00, 0xCC, 0x00, - 0x99, 0x00, 0x99, 0x00, - 0x99, 0x00, 0x66, 0x00, - 0x99, 0x00, 0x33, 0x00, - 0x99, 0x00, 0x00, 0x00, - 0x66, 0xFF, 0xFF, 0x00, - 0x66, 0xFF, 0xCC, 0x00, - 0x66, 0xFF, 0x99, 0x00, - 0x66, 0xFF, 0x66, 0x00, - 0x66, 0xFF, 0x33, 0x00, - 0x66, 0xFF, 0x00, 0x00, - 0x66, 0xCC, 0xFF, 0x00, - 0x66, 0xCC, 0xCC, 0x00, - 0x66, 0xCC, 0x99, 0x00, - 0x66, 0xCC, 0x66, 0x00, - 0x66, 0xCC, 0x33, 0x00, - 0x66, 0xCC, 0x00, 0x00, - 0x66, 0x99, 0xFF, 0x00, - 0x66, 0x99, 0xCC, 0x00, - 0x66, 0x99, 0x99, 0x00, - 0x66, 0x99, 0x66, 0x00, - 0x66, 0x99, 0x33, 0x00, - 0x66, 0x99, 0x00, 0x00, - 0x66, 0x66, 0xFF, 0x00, - 0x66, 0x66, 0xCC, 0x00, - 0x66, 0x66, 0x99, 0x00, - 0x66, 0x66, 0x66, 0x00, - 0x66, 0x66, 0x33, 0x00, - 0x66, 0x66, 0x00, 0x00, - 0x66, 0x33, 0xFF, 0x00, - 0x66, 0x33, 0xCC, 0x00, - 0x66, 0x33, 0x99, 0x00, - 0x66, 0x33, 0x66, 0x00, - 0x66, 0x33, 0x33, 0x00, - 0x66, 0x33, 0x00, 0x00, - 0x66, 0x00, 0xFF, 0x00, - 0x66, 0x00, 0xCC, 0x00, - 0x66, 0x00, 0x99, 0x00, - 0x66, 0x00, 0x66, 0x00, - 0x66, 0x00, 0x33, 0x00, - 0x66, 0x00, 0x00, 0x00, - 0x33, 0xFF, 0xFF, 0x00, - 0x33, 0xFF, 0xCC, 0x00, - 0x33, 0xFF, 0x99, 0x00, - 0x33, 0xFF, 0x66, 0x00, - 0x33, 0xFF, 0x33, 0x00, - 0x33, 0xFF, 0x00, 0x00, - 0x33, 0xCC, 0xFF, 0x00, - 0x33, 0xCC, 0xCC, 0x00, - 0x33, 0xCC, 0x99, 0x00, - 0x33, 0xCC, 0x66, 0x00, - 0x33, 0xCC, 0x33, 0x00, - 0x33, 0xCC, 0x00, 0x00, - 0x33, 0x99, 0xFF, 0x00, - 0x33, 0x99, 0xCC, 0x00, - 0x33, 0x99, 0x99, 0x00, - 0x33, 0x99, 0x66, 0x00, - 0x33, 0x99, 0x33, 0x00, - 0x33, 0x99, 0x00, 0x00, - 0x33, 0x66, 0xFF, 0x00, - 0x33, 0x66, 0xCC, 0x00, - 0x33, 0x66, 0x99, 0x00, - 0x33, 0x66, 0x66, 0x00, - 0x33, 0x66, 0x33, 0x00, - 0x33, 0x66, 0x00, 0x00, - 0x33, 0x33, 0xFF, 0x00, - 0x33, 0x33, 0xCC, 0x00, - 0x33, 0x33, 0x99, 0x00, - 0x33, 0x33, 0x66, 0x00, - 0x33, 0x33, 0x33, 0x00, - 0x33, 0x33, 0x00, 0x00, - 0x33, 0x00, 0xFF, 0x00, - 0x33, 0x00, 0xCC, 0x00, - 0x33, 0x00, 0x99, 0x00, - 0x33, 0x00, 0x66, 0x00, - 0x33, 0x00, 0x33, 0x00, - 0x33, 0x00, 0x00, 0x00, - 0x00, 0xFF, 0xFF, 0x00, - 0x00, 0xFF, 0xCC, 0x00, - 0x00, 0xFF, 0x99, 0x00, - 0x00, 0xFF, 0x66, 0x00, - 0x00, 0xFF, 0x33, 0x00, - 0x00, 0xFF, 0x00, 0x00, - 0x00, 0xCC, 0xFF, 0x00, - 0x00, 0xCC, 0xCC, 0x00, - 0x00, 0xCC, 0x99, 0x00, - 0x00, 0xCC, 0x66, 0x00, - 0x00, 0xCC, 0x33, 0x00, - 0x00, 0xCC, 0x00, 0x00, - 0x00, 0x99, 0xFF, 0x00, - 0x00, 0x99, 0xCC, 0x00, - 0x00, 0x99, 0x99, 0x00, - 0x00, 0x99, 0x66, 0x00, - 0x00, 0x99, 0x33, 0x00, - 0x00, 0x99, 0x00, 0x00, - 0x00, 0x66, 0xFF, 0x00, - 0x00, 0x66, 0xCC, 0x00, - 0x00, 0x66, 0x99, 0x00, - 0x00, 0x66, 0x66, 0x00, - 0x00, 0x66, 0x33, 0x00, - 0x00, 0x66, 0x00, 0x00, - 0x00, 0x33, 0xFF, 0x00, - 0x00, 0x33, 0xCC, 0x00, - 0x00, 0x33, 0x99, 0x00, - 0x00, 0x33, 0x66, 0x00, - 0x00, 0x33, 0x33, 0x00, - 0x00, 0x33, 0x00, 0x00, - 0x00, 0x00, 0xFF, 0x00, - 0x00, 0x00, 0xCC, 0x00, - 0x00, 0x00, 0x99, 0x00, - 0x00, 0x00, 0x66, 0x00, - 0x00, 0x00, 0x33, 0x00, - 0xEE, 0x00, 0x00, 0x00, - 0xDD, 0x00, 0x00, 0x00, - 0xBB, 0x00, 0x00, 0x00, - 0xAA, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x00, 0x00, - 0x77, 0x00, 0x00, 0x00, - 0x55, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, - 0x11, 0x00, 0x00, 0x00, - 0x00, 0xEE, 0x00, 0x00, - 0x00, 0xDD, 0x00, 0x00, - 0x00, 0xBB, 0x00, 0x00, - 0x00, 0xAA, 0x00, 0x00, - 0x00, 0x88, 0x00, 0x00, - 0x00, 0x77, 0x00, 0x00, - 0x00, 0x55, 0x00, 0x00, - 0x00, 0x44, 0x00, 0x00, - 0x00, 0x22, 0x00, 0x00, - 0x00, 0x11, 0x00, 0x00, - 0x00, 0x00, 0xEE, 0x00, - 0x00, 0x00, 0xDD, 0x00, - 0x00, 0x00, 0xBB, 0x00, - 0x00, 0x00, 0xAA, 0x00, - 0x00, 0x00, 0x88, 0x00, - 0x00, 0x00, 0x77, 0x00, - 0x00, 0x00, 0x55, 0x00, - 0x00, 0x00, 0x44, 0x00, - 0x00, 0x00, 0x22, 0x00, - 0x00, 0x00, 0x11, 0x00, - 0xEE, 0xEE, 0xEE, 0x00, - 0xDD, 0xDD, 0xDD, 0x00, - 0xBB, 0xBB, 0xBB, 0x00, - 0xAA, 0xAA, 0xAA, 0x00, - 0x88, 0x88, 0x88, 0x00, - 0x77, 0x77, 0x77, 0x00, - 0x55, 0x55, 0x55, 0x00, - 0x44, 0x44, 0x44, 0x00, - 0x22, 0x22, 0x22, 0x00, - 0x11, 0x11, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x00 -]; -