69 struct DecompressorParamsBuilder;
94 const std::vector<PanasonicV8Decompressor::DecoderLUTEntry>
mDecoderLUT;
100 std::vector<PanasonicV8Decompressor::DecoderLUTEntry>
static getDecoderLUT(
120 ThrowRDE(
"Got different number of input strips vs output tiles");
121 for (
const auto& strip : mStrips_) {
122 if (strip.size() == 0)
Utility class for Panasonic V8 entropy decoding.
std::array< uint16_t, 4 > Bayer2x2
Four values, one for each component of the sensor's color filter array.
const DecompressorParams mParams
void decompressStrip(Array2DRef< uint16_t > out, InternalDecoder decoder) const
PanasonicV8Decompressor(RawImage outputImg, DecompressorParams mParams_)
void decompress() const
Run the decompressor on the provided raw image.
constexpr RAWSPEED_READNONE Ttgt implicit_cast(Tsrc value)
Array1DRef< const T > getAsArray1DRef(const std::vector< T > &vec)
const Bayer2x2 initialPrediction
static std::vector< iRectangle2D > getOutRects(iPoint2D imgSize, Array1DRef< const uint32_t > stripLineOffsets, Array1DRef< const uint16_t > stripWidths, Array1DRef< const uint16_t > stripHeights)
const std::vector< iRectangle2D > mOutRects
static std::vector< PanasonicV8Decompressor::DecoderLUTEntry > getDecoderLUT(ByteStream bs)
DecompressorParamsBuilder(iPoint2D imgSize_, Bayer2x2 initialPrediction_, Array1DRef< const Array1DRef< const uint8_t > > mStrips_, Array1DRef< const uint32_t > stripLineOffsets, Array1DRef< const uint16_t > stripWidths, Array1DRef< const uint16_t > stripHeights, ByteStream defineCodes)
const std::vector< PanasonicV8Decompressor::DecoderLUTEntry > mDecoderLUT
const Array1DRef< const Array1DRef< const uint8_t > > mStrips
DecompressorParams getDecompressorParams() const
DecompressorParams(iPoint2D imgSize_, Array1DRef< const Array1DRef< const uint8_t > > mStrips_, Array1DRef< const iRectangle2D > mOutRect_, Array1DRef< const DecoderLUTEntry > mDecoderLUT_, Bayer2x2 initialPrediction_)
DecompressorParams()=delete
const Array1DRef< const iRectangle2D > mOutRect
const Array1DRef< const DecoderLUTEntry > mDecoderLUT
const Bayer2x2 initialPrediction
const Array1DRef< const Array1DRef< const uint8_t > > mStrips
friend struct DecompressorParamsBuilder