libopenraw
olympusdecompressor.hpp
1/* -*- Mode: C++ -*- */
2/*
3 * libopenraw - olympusdecompressor.h
4 *
5 * Copyright (C) 2011-2016 Hubert Figuiere
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 License
9 * as published by the Free Software Foundation, either version 3 of
10 * 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, see
19 * <http://www.gnu.org/licenses/>.
20 */
21
22
23#ifndef OR_INTERNALS_OLYMPUSDECOMPRESSOR_H_
24#define OR_INTERNALS_OLYMPUSDECOMPRESSOR_H_
25
26#include <stddef.h>
27#include <stdint.h>
28
29#include "decompressor.hpp"
30
31namespace OpenRaw {
32
33class RawData;
34
35namespace Internals {
36
37class RawContainer;
38
39class OlympusDecompressor
40 : public Decompressor
41{
42public:
43OlympusDecompressor(const uint8_t *buffer, size_t size,
44 RawContainer * container, uint32_t w, uint32_t h)
45 : Decompressor(NULL, container)
46 , m_buffer(buffer)
47 , m_size(size)
48 , m_h(h)
49 , m_w(w)
50 {
51 }
52 virtual RawDataPtr decompress() override;
53private:
54 const uint8_t *m_buffer;
55 size_t m_size;
56
57 uint32_t m_h;
58 uint32_t m_w;
59};
60
61}
62}
63#endif
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard....
Definition arwfile.cpp:30