/src/dcmtk/dcmjpls/libcharls/header.h
Line | Count | Source |
1 | | // |
2 | | // (C) Jan de Vaan 2007-2010, all rights reserved. See the accompanying "License.txt" for licensed use. |
3 | | // |
4 | | |
5 | | |
6 | | #ifndef CHARLS_HEADER |
7 | | #define CHARLS_HEADER |
8 | | |
9 | | #include "dcmtk/ofstd/ofmem.h" |
10 | | #undef NEAR |
11 | | #include "streams.h" |
12 | | |
13 | 0 | #define JPEG_SOI 0xD8 |
14 | 0 | #define JPEG_EOI 0xD9 |
15 | 0 | #define JPEG_SOS 0xDA |
16 | | |
17 | 0 | #define JPEG_SOF 0xF7 |
18 | 0 | #define JPEG_LSE 0xF8 |
19 | | #define JPEG_DNL 0xDC |
20 | | #define JPEG_DRI 0xDD |
21 | | #define JPEG_RSTm 0xD0 |
22 | 0 | #define JPEG_COM 0xFE |
23 | 0 | #define JPEG_APP0 0xE0 // JFIF |
24 | 0 | #define JPEG_APP7 0xE7 // colorspace |
25 | 0 | #define JPEG_APP8 0xE8 // colorXForm |
26 | | |
27 | | |
28 | | |
29 | | // Default bin sizes for JPEG-LS statistical modeling. Can be overridden at compression time, however this is rarely done. |
30 | | const int BASIC_T1 = 3; |
31 | | const int BASIC_T2 = 7; |
32 | | const int BASIC_T3 = 21; |
33 | | |
34 | | const LONG BASIC_RESET = 64; |
35 | | |
36 | | class JLSOutputStream; |
37 | | |
38 | | |
39 | | template<class STRATEGY> |
40 | | class JlsCodecFactory |
41 | | { |
42 | | public: |
43 | | OFrvalue<OFunique_ptr<STRATEGY> > GetCodec(const JlsParameters& info, const JlsCustomParameters&); |
44 | | private: |
45 | | STRATEGY* GetCodecImpl(const JlsParameters& info); |
46 | | }; |
47 | | |
48 | | JLS_ERROR CheckParameterCoherent(const JlsParameters* pparams); |
49 | | |
50 | | JlsCustomParameters ComputeDefault(LONG MAXVAL, LONG NEAR); |
51 | | |
52 | | // |
53 | | // JpegSegment |
54 | | // |
55 | | class JpegSegment |
56 | | { |
57 | | protected: |
58 | 0 | JpegSegment() {} |
59 | | public: |
60 | 0 | virtual ~JpegSegment() {} |
61 | | virtual void Write(JLSOutputStream* pstream) = 0; |
62 | | }; |
63 | | |
64 | | #endif |