libopenraw
nefdiffiterator.hpp
1/* -*- mode:c++; tab-width:4; c-basic-offset:4 -*- */
2/*
3 * libopenraw - nefdiffiterator.h
4 *
5 * Copyright (C) 2008 Rafael Avila de Espindola.
6 * Copyright (C) 2013-2016 Hubert Figuiere
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 License
10 * as published by the Free Software Foundation, either version 3 of
11 * 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, see
20 * <http://www.gnu.org/licenses/>.
21 */
22
23#ifndef OR_INTERNALS_NEFDIFFITERATOR_H_
24#define OR_INTERNALS_NEFDIFFITERATOR_H_
25
26#include <stddef.h>
27#include <stdint.h>
28
29#include "bititerator.hpp"
30#include "huffman.hpp"
31
32namespace OpenRaw {
33namespace Internals {
34
36 BitIterator m_iter;
37 HuffmanDecoder m_decoder;
38
39 public:
40 static const HuffmanNode Lossy12Bit[];
41 static const HuffmanNode Lossy14Bit[];
42 static const HuffmanNode LossLess14Bit[];
43
44 NefDiffIterator (const HuffmanNode* const, const uint8_t *, size_t size);
45 int get();
46};
47
48}
49}
50
51#endif
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard....
Definition: arwfile.cpp:30