X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=wavpack.git;a=blobdiff_plain;f=Codec%2FAudio%2FWavPack%2FDecorrelation.hs;fp=Codec%2FAudio%2FWavPack%2FDecorrelation.hs;h=b72909fd3b0162e46d59f1e073a2ed4942d207b3;hp=0000000000000000000000000000000000000000;hb=79fe8094594b6b25d7d9c44bc128418d69f1da95;hpb=acfc910ebb15715da125f86d473ab907f7f95698 diff --git a/Codec/Audio/WavPack/Decorrelation.hs b/Codec/Audio/WavPack/Decorrelation.hs new file mode 100644 index 0000000..b72909f --- /dev/null +++ b/Codec/Audio/WavPack/Decorrelation.hs @@ -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)