5fc22f073a0a4ba7b20ce880352552c8a544074a
[wavpack.git] / Codec / Audio / WavPack / Decorrelation.hs
1 {-# LANGUAGE
2     UnicodeSyntax
3   #-}
4 -- | FIXME
5 module Codec.Audio.WavPack.Decorrelation
6     ( DecorrPass(..)
7     )
8     where
9 import Data.Int
10 import qualified Data.Vector.Unboxed as UV
11
12 {-
13 maxTerm ∷ Num a ⇒ a
14 maxTerm = 8
15 -}
16
17 -- | FIXME
18 data DecorrPass
19     = DecorrPass {
20       -- | The decorrelation term: @(term /= 0) && ((-3 <= term <= 8)
21       --   || (term == 17) || (term <= 18))@
22         dpTerm     ∷ !Int8
23       -- | The decorrelation delta: @0 <= delta <= 8@
24       , dpDelta    ∷ !Int8
25       -- | The decorrelation weight for channel A: @-1024 <= weight <=
26       --   1024@
27       , dpWeightA  ∷ !Int16
28       -- | The decorrelation weight for channel B: @-1024 <= weight <=
29       --   1024@
30       , dpWeightB  ∷ !Int16
31       -- | The decorrelation samples for channel A.
32       , dpSamplesA ∷ !(UV.Vector Int32)
33       -- | The decorrelation samples for channel B.
34       , dpSamplesB ∷ !(UV.Vector Int32)
35       }
36     deriving (Eq, Show)