RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
HasselbladDecompressor.h
Go to the documentation of this file.
1/*
2 RawSpeed - RAW file decoder.
3
4 Copyright (C) 2009-2014 Klaus Post
5 Copyright (C) 2017 Axel Waggershauser
6 Copyright (C) 2023 Roman Lebedev
7
8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Lesser General Public
10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21*/
22
23#pragma once
24
25#include "adt/Array1DRef.h"
28#include "common/RawImage.h"
29#include "io/Buffer.h"
30#include "io/ByteStream.h"
31#include <cstdint>
32
33namespace rawspeed {
34
36public:
41
42private:
44
46
48
49 static int getBits(BitStreamerMSB32& bs, int len);
50
51public:
54
55 [[nodiscard]] ByteStream::size_type decompress();
56};
57
58} // namespace rawspeed
uint32_t size_type
Definition Buffer.h:49
static int getBits(BitStreamerMSB32 &bs, int len)
HasselbladDecompressor(RawImage mRaw, const PerComponentRecipe &rec, Array1DRef< const uint8_t > input)
const Array1DRef< const uint8_t > input
PrefixCodeLUTDecoder< CodeTag, PrefixCodeLookupDecoder< CodeTag > > PrefixCodeDecoder