Same as for DcCoefficient, to provide nicer type signatures
ModuleJuicyPixels-3.3.8Haskell2010
Codec.Picture.Jpg.Internal.Common
- 2 types
- 14 values
- PackageJuicyPixels-3.3.8
- Exports16
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceCommon.hs
Constructors
JpgUnpackerParameterdcHuffmanTree :: !HuffmanPackedTreeacHuffmanTree :: !HuffmanPackedTreecomponentIndex :: !IntrestartInterval :: !IntcomponentWidth :: !IntcomponentHeight :: !IntsubSampling :: !(Int, Int)coefficientRange :: !(Int, Int)successiveApprox :: !(Int, Int)readerIndex :: !IntindiceVector :: !IntWhen in progressive mode, we can have many color in a scan or only one. The indices changes on this fact, when mixed, there is whole MCU for all color components, spanning multiple block lines. With only one color component we use the normal raster order.
blockIndex :: !IntblockMcuX :: !IntblockMcuY :: !Int
Instances1Show
Show JpgUnpackerParameterDefined in JuicyPixels-3.3.8 · Codec.Picture.Jpg.Internal.Common
Apply a quantization matrix to a macroblock
Unpack an int of the given size encoded from MSB to LSB.
unpackMacroBlock :: IntComponent count
-> IntWidth coefficient
-> IntHeight coefficient
-> IntComponent index
-> Intx
-> Inty
-> MutableImage s PixelYCbCr8-> MutableMacroBlock s Int16-> ST s ()
Given a size coefficient (how much a pixel span horizontally and vertically), the position of the macroblock, return a list of indices and value to be stored in an array (like the final image)
This is one of the most important function of the decoding, it form the barebone decoding pipeline for macroblock. It's all there is to know for macro block transformation