]> gitweb @ CieloNegro.org - wavpack.git/blobdiff - Codec/Audio/WavPack/Decorrelation.hs
DecorrTerms
[wavpack.git] / Codec / Audio / WavPack / Decorrelation.hs
diff --git a/Codec/Audio/WavPack/Decorrelation.hs b/Codec/Audio/WavPack/Decorrelation.hs
new file mode 100644 (file)
index 0000000..b72909f
--- /dev/null
@@ -0,0 +1,36 @@
+{-# LANGUAGE
+    UnicodeSyntax
+  #-}
+-- | FIXME
+module Codec.Audio.WavPack.Decorrelation
+    ( DecorrPass(..)
+    )
+    where
+import Data.Int
+import qualified Data.Vector.Unboxed as UV
+
+{-
+maxTerm ∷ Num a ⇒ a
+maxTerm = 8
+-}
+
+-- | FIXME
+data DecorrPass
+    = DecorrPass {
+      -- | The decorrelation term: (term /= 0) && ((-3 <= term <= 8)
+      --   || (term == 17) || (term <= 18))
+        dpTerm     ∷ !Int8
+      -- | The decorrelation delta: 0 <= delta <= 8
+      , dpDelta    ∷ !Int8
+      -- | The decorrelation weight for channel A: -1024 <= weight <=
+      --   1024
+      , dpWeightA  ∷ !Int16
+      -- | The decorrelation weight for channel B: -1024 <= weight <=
+      --   1024
+      , dpWeightB  ∷ !Int16
+      -- | The decorrelation samples for channel A.
+      , dpSamplesA ∷ !(UV.Vector Int32)
+      -- | The decorrelation samples for channel B.
+      , dpSamplesB ∷ !(UV.Vector Int32)
+      }
+    deriving (Eq, Show)