RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
FujiDecompressor.h
Go to the documentation of this file.
1
/*
2
RawSpeed - RAW file decoder.
3
4
Copyright (C) 2017 Uwe Müssel
5
Copyright (C) 2017 Roman Lebedev
6
7
This library is free software; you can redistribute it and/or
8
modify it under the terms of the GNU Lesser General Public
9
License as published by the Free Software Foundation; either
10
version 2.1 of the License, or (at your option) any later version.
11
12
This library is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
Lesser General Public License for more details.
16
17
You should have received a copy of the GNU Lesser General Public
18
License along with this library; if not, write to the Free Software
19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#pragma once
23
24
#include "rawspeedconfig.h"
25
#include "
adt/Array1DRef.h
"
26
#include "
adt/Point.h
"
27
#include "
common/RawImage.h
"
28
#include "
decompressors/AbstractDecompressor.h
"
29
#include "
io/ByteStream.h
"
30
#include <cstdint>
31
#include <vector>
32
33
namespace
rawspeed
{
34
35
class
FujiDecompressor
final :
public
AbstractDecompressor
{
36
RawImage
mRaw
;
37
38
public
:
39
FujiDecompressor
(
RawImage
img,
ByteStream
input
);
40
41
void
decompress
()
const
;
42
43
struct
FujiHeader
final {
44
FujiHeader
() =
default
;
45
46
explicit
FujiHeader
(
ByteStream
& input_);
47
explicit
RAWSPEED_READONLY
operator
bool()
const
;
// validity check
48
49
uint16_t
signature
;
50
uint8_t
version
;
51
uint8_t
raw_type
;
52
uint8_t
raw_bits
;
53
uint16_t
raw_height
;
54
uint16_t
raw_rounded_width
;
55
uint16_t
raw_width
;
56
uint16_t
block_size
;
57
uint8_t
blocks_in_row
;
58
uint16_t
total_lines
;
59
iPoint2D
MCU
;
60
};
61
62
private
:
63
FujiHeader
header
;
64
65
ByteStream
input
;
66
67
std::vector<Array1DRef<const uint8_t>>
strips
;
68
};
69
70
}
// namespace rawspeed
AbstractDecompressor.h
Array1DRef.h
ByteStream.h
Point.h
RawImage.h
rawspeed::AbstractDecompressor
Definition
AbstractDecompressor.h:25
rawspeed::ByteStream
Definition
ByteStream.h:43
rawspeed::FujiDecompressor::mRaw
RawImage mRaw
Definition
FujiDecompressor.h:36
rawspeed::FujiDecompressor::input
ByteStream input
Definition
FujiDecompressor.h:65
rawspeed::FujiDecompressor::strips
std::vector< Array1DRef< const uint8_t > > strips
Definition
FujiDecompressor.h:67
rawspeed::FujiDecompressor::FujiDecompressor
FujiDecompressor(RawImage img, ByteStream input)
Definition
FujiDecompressor.cpp:844
rawspeed::FujiDecompressor::decompress
void decompress() const
Definition
FujiDecompressor.cpp:902
rawspeed::FujiDecompressor::header
FujiHeader header
Definition
FujiDecompressor.h:63
rawspeed::RawImage
Definition
RawImage.h:247
rawspeed::iPoint2D
Definition
Point.h:35
uint16_t
rawspeed
Definition
CoalescingOutputIteratorBenchmark.cpp:35
rawspeed::FujiDecompressor::FujiHeader
Definition
FujiDecompressor.h:43
rawspeed::FujiDecompressor::FujiHeader::MCU
iPoint2D MCU
Definition
FujiDecompressor.h:59
rawspeed::FujiDecompressor::FujiHeader::raw_height
uint16_t raw_height
Definition
FujiDecompressor.h:53
rawspeed::FujiDecompressor::FujiHeader::block_size
uint16_t block_size
Definition
FujiDecompressor.h:56
rawspeed::FujiDecompressor::FujiHeader::raw_type
uint8_t raw_type
Definition
FujiDecompressor.h:51
rawspeed::FujiDecompressor::FujiHeader::FujiHeader
FujiHeader()=default
rawspeed::FujiDecompressor::FujiHeader::raw_width
uint16_t raw_width
Definition
FujiDecompressor.h:55
rawspeed::FujiDecompressor::FujiHeader::blocks_in_row
uint8_t blocks_in_row
Definition
FujiDecompressor.h:57
rawspeed::FujiDecompressor::FujiHeader::signature
uint16_t signature
Definition
FujiDecompressor.h:49
rawspeed::FujiDecompressor::FujiHeader::raw_rounded_width
uint16_t raw_rounded_width
Definition
FujiDecompressor.h:54
rawspeed::FujiDecompressor::FujiHeader::total_lines
uint16_t total_lines
Definition
FujiDecompressor.h:58
rawspeed::FujiDecompressor::FujiHeader::raw_bits
uint8_t raw_bits
Definition
FujiDecompressor.h:52
rawspeed::FujiDecompressor::FujiHeader::version
uint8_t version
Definition
FujiDecompressor.h:50
librawspeed
decompressors
FujiDecompressor.h
Generated by
1.15.0