~ubuntu-branches/ubuntu/saucy/darktable/saucy

« back to all changes in this revision

Viewing changes to src/rawspeed/RawSpeed/ArwDecoder.h

  • Committer: Bazaar Package Importer
  • Author(s): David Bremner
  • Date: 2011-08-02 21:32:31 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110802213231-r9v63trgyk1e822j
Tags: 0.9.1-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
    RawSpeed - RAW file decoder.
3
 
 
4
 
    Copyright (C) 2009 Klaus Post
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
 
    http://www.klauspost.com
21
 
*/
22
 
#ifndef ARW_DECODER_H
23
 
#define ARW_DECODER_H
24
 
 
25
 
#include "RawDecoder.h"
26
 
#include "LJpegPlain.h"
27
 
#include "TiffIFD.h"
28
 
#include "BitPumpPlain.h"
29
 
 
30
 
namespace RawSpeed {
31
 
 
32
 
class ArwDecoder :
33
 
  public RawDecoder
34
 
{
35
 
public:
36
 
  ArwDecoder(TiffIFD *rootIFD, FileMap* file);
37
 
  virtual ~ArwDecoder(void);
38
 
  virtual RawImage decodeRaw();
39
 
  virtual void checkSupport(CameraMetaData *meta);
40
 
  virtual void decodeMetaData(CameraMetaData *meta);
41
 
  virtual void decodeThreaded(RawDecoderThread* t);
42
 
protected:
43
 
  void DecodeARW(ByteStream &input, uint32 w, uint32 h);
44
 
  void DecodeARW2(ByteStream &input, uint32 w, uint32 h, uint32 bpp);
45
 
  TiffIFD *mRootIFD;
46
 
  uint32 curve[0x4001];
47
 
  ByteStream *in;
48
 
};
49
 
 
50
 
} // namespace RawSpeed
51
 
 
52
 
#endif