RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
PhaseOneDecompressor.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) 2014 Pedro CĂ´rte-Real
6
Copyright (C) 2018 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 "
common/RawImage.h
"
26
#include "
decompressors/AbstractDecompressor.h
"
27
#include "
io/ByteStream.h
"
28
#include <vector>
29
30
namespace
rawspeed
{
31
32
struct
PhaseOneStrip
final {
33
int
n
;
34
ByteStream
bs
;
35
36
PhaseOneStrip
() =
default
;
37
PhaseOneStrip
(
int
block,
ByteStream
bs_) :
n
(block),
bs
(bs_) {}
38
};
39
40
class
PhaseOneDecompressor
final :
public
AbstractDecompressor
{
41
RawImage
mRaw
;
42
43
std::vector<PhaseOneStrip>
strips
;
44
45
void
decompressStrip
(
const
PhaseOneStrip
& strip)
const
;
46
47
void
decompressThread
() const noexcept;
48
49
void
prepareStrips
();
50
51
public:
52
PhaseOneDecompressor
(
RawImage
img, std::
vector
<
PhaseOneStrip
>&& strips_);
53
54
void
decompress
() const;
55
};
56
57
}
// namespace rawspeed
AbstractDecompressor.h
ByteStream.h
RawImage.h
rawspeed::AbstractDecompressor
Definition
AbstractDecompressor.h:25
rawspeed::ByteStream
Definition
ByteStream.h:43
rawspeed::PhaseOneDecompressor::strips
std::vector< PhaseOneStrip > strips
Definition
PhaseOneDecompressor.h:43
rawspeed::PhaseOneDecompressor::decompressStrip
void decompressStrip(const PhaseOneStrip &strip) const
Definition
PhaseOneDecompressor.cpp:85
rawspeed::PhaseOneDecompressor::prepareStrips
void prepareStrips()
Definition
PhaseOneDecompressor.cpp:61
rawspeed::PhaseOneDecompressor::decompress
void decompress() const
Definition
PhaseOneDecompressor.cpp:156
rawspeed::PhaseOneDecompressor::mRaw
RawImage mRaw
Definition
PhaseOneDecompressor.h:41
rawspeed::PhaseOneDecompressor::decompressThread
void decompressThread() const noexcept
Definition
PhaseOneDecompressor.cpp:138
rawspeed::PhaseOneDecompressor::PhaseOneDecompressor
PhaseOneDecompressor(RawImage img, std::vector< PhaseOneStrip > &&strips_)
Definition
PhaseOneDecompressor.cpp:43
rawspeed::RawImage
Definition
RawImage.h:247
vector
STL class.
rawspeed
Definition
CoalescingOutputIteratorBenchmark.cpp:35
rawspeed::PhaseOneStrip
Definition
PhaseOneDecompressor.h:32
rawspeed::PhaseOneStrip::PhaseOneStrip
PhaseOneStrip()=default
rawspeed::PhaseOneStrip::PhaseOneStrip
PhaseOneStrip(int block, ByteStream bs_)
Definition
PhaseOneDecompressor.h:37
rawspeed::PhaseOneStrip::bs
ByteStream bs
Definition
PhaseOneDecompressor.h:34
rawspeed::PhaseOneStrip::n
int n
Definition
PhaseOneDecompressor.h:33
librawspeed
decompressors
PhaseOneDecompressor.h
Generated by
1.15.0