RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
SamsungV1Decompressor.h
Go to the documentation of this file.
1
/*
2
RawSpeed - RAW file decoder.
3
4
Copyright (C) 2017 Roman Lebedev
5
6
This library is free software; you can redistribute it and/or
7
modify it under the terms of the GNU Lesser General Public
8
License as published by the Free Software Foundation; either
9
version 2 of the License, or (at your option) any later version.
10
11
This library is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
Lesser General Public License for more details.
15
16
You should have received a copy of the GNU Lesser General Public
17
License along with this library; if not, write to the Free Software
18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#pragma once
22
23
#include "
bitstreams/BitStreamerMSB.h
"
24
#include "
decompressors/AbstractSamsungDecompressor.h
"
25
#include "
io/ByteStream.h
"
26
#include <cstdint>
27
#include <vector>
28
29
namespace
rawspeed
{
30
31
class
ByteStream
;
32
class
RawImage
;
33
34
// Decoder for compressed srw files (NX3000 and later)
35
class
SamsungV1Decompressor
final :
public
AbstractSamsungDecompressor
{
36
struct
encTableItem
;
37
38
static
inline
int32_t
samsungDiff
(
BitStreamerMSB
& pump,
39
const
std::vector<encTableItem>& tbl);
40
41
ByteStream
bs
;
42
static
constexpr
int
bits
= 12;
43
44
public
:
45
SamsungV1Decompressor
(
const
RawImage
& image,
ByteStream
bs_,
int
bit);
46
47
void
decompress
()
const
;
48
};
49
50
}
// namespace rawspeed
AbstractSamsungDecompressor.h
BitStreamerMSB.h
ByteStream.h
int32_t
rawspeed::AbstractSamsungDecompressor::AbstractSamsungDecompressor
AbstractSamsungDecompressor(RawImage raw)
Definition
AbstractSamsungDecompressor.h:34
rawspeed::BitStreamerMSB
Definition
BitStreamerMSB.h:43
rawspeed::ByteStream
Definition
ByteStream.h:43
rawspeed::RawImage
Definition
RawImage.h:247
rawspeed::SamsungV1Decompressor::SamsungV1Decompressor
SamsungV1Decompressor(const RawImage &image, ByteStream bs_, int bit)
Definition
SamsungV1Decompressor.cpp:45
rawspeed::SamsungV1Decompressor::bs
ByteStream bs
Definition
SamsungV1Decompressor.h:41
rawspeed::SamsungV1Decompressor::decompress
void decompress() const
Definition
SamsungV1Decompressor.cpp:81
rawspeed::SamsungV1Decompressor::samsungDiff
static int32_t samsungDiff(BitStreamerMSB &pump, const std::vector< encTableItem > &tbl)
Definition
SamsungV1Decompressor.cpp:64
rawspeed::SamsungV1Decompressor::bits
static constexpr int bits
Definition
SamsungV1Decompressor.h:42
rawspeed
Definition
CoalescingOutputIteratorBenchmark.cpp:35
rawspeed::SamsungV1Decompressor::encTableItem
Definition
SamsungV1Decompressor.cpp:40
librawspeed
decompressors
SamsungV1Decompressor.h
Generated by
1.15.0