1 | /*****************************************************************************/ |
2 | // Copyright 2006 Adobe Systems Incorporated |
3 | // All Rights Reserved. |
4 | // |
5 | // NOTICE: Adobe permits you to use, modify, and distribute this file in |
6 | // accordance with the terms of the Adobe license agreement accompanying it. |
7 | /*****************************************************************************/ |
8 | |
9 | /* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_lossless_jpeg.h#1 $ */ |
10 | /* $DateTime: 2012/05/30 13:28:51 $ */ |
11 | /* $Change: 832332 $ */ |
12 | /* $Author: tknoll $ */ |
13 | |
14 | /** \file |
15 | * Functions for encoding and decoding lossless JPEG format. |
16 | */ |
17 | |
18 | /*****************************************************************************/ |
19 | |
20 | #ifndef __dng_lossless_jpeg__ |
21 | #define __dng_lossless_jpeg__ |
22 | |
23 | /*****************************************************************************/ |
24 | |
25 | #include "dng_classes.h" |
26 | #include "dng_types.h" |
27 | |
28 | /*****************************************************************************/ |
29 | |
30 | class dng_spooler |
31 | { |
32 | |
33 | protected: |
34 | |
35 | virtual ~dng_spooler () |
36 | { |
37 | } |
38 | |
39 | public: |
40 | |
41 | virtual void Spool (const void *data, |
42 | uint32 count) = 0; |
43 | |
44 | }; |
45 | |
46 | /*****************************************************************************/ |
47 | |
48 | void DecodeLosslessJPEG (dng_stream &stream, |
49 | dng_spooler &spooler, |
50 | uint32 minDecodedSize, |
51 | uint32 maxDecodedSize, |
52 | bool bug16); |
53 | |
54 | /*****************************************************************************/ |
55 | |
56 | void EncodeLosslessJPEG (const uint16 *srcData, |
57 | uint32 srcRows, |
58 | uint32 srcCols, |
59 | uint32 srcChannels, |
60 | uint32 srcBitDepth, |
61 | int32 srcRowStep, |
62 | int32 srcColStep, |
63 | dng_stream &stream); |
64 | |
65 | /*****************************************************************************/ |
66 | |
67 | #endif |
68 | |
69 | /*****************************************************************************/ |
70 | |