Encoder  4.4
VC-5 Sample Encoder
config.h
Go to the documentation of this file.
1 
11 #ifndef _CONFIG_H
12 #define _CONFIG_H
13 
14 // Version number of both the encoder and decoder (major.minor.revision)
15 #define CODEC_VERSION_NUMBER 4.4
16 #define CODEC_VERSION_SUFFIX "release"
17 
18 
19 /*** Define the parts of the VC-5 standards suite supported by this version of the codec ***/
20 
21 // Definitions of VC-5 parts
22 #define VC5_PART_NONE 0
23 #define VC5_PART_ELEMENTARY 1
24 #define VC5_PART_CONFORMANCE 2
25 #define VC5_PART_IMAGE_FORMATS 3
26 #define VC5_PART_COLOR_SAMPLING 4
27 #define VC5_PART_LAYERS 5
28 #define VC5_PART_SECTIONS 6
29 #define VC5_PART_METADATA 7
30 
31 #define VC5_PART_MASK(n) (1 << ((n)-1))
33 
35 #define VC5_PART_MASK_NONE 0
36 
37 
38 /*** Build the codec with all parts enabled at compile-time by default ***/
39 
40 #ifndef _PARTS
41 
43 #define VC5_ENABLED_PARTS (VC5_PART_MASK(VC5_PART_ELEMENTARY) | \
44  VC5_PART_MASK(VC5_PART_IMAGE_FORMATS) | \
45  VC5_PART_MASK(VC5_PART_COLOR_SAMPLING) | \
46  VC5_PART_MASK(VC5_PART_LAYERS) | \
47  VC5_PART_MASK(VC5_PART_SECTIONS))
48 #else
49 
51 #define VC5_ENABLED_PARTS (_PARTS)
52 
53 #endif
54 
55 
57 #define VC5_ENABLED_MASK(m) ((VC5_ENABLED_PARTS & (m)) != 0)
58 
60 #define VC5_ENABLED_PART(n) (VC5_ENABLED_MASK(VC5_PART_MASK(n)))
61 
62 
63 /*** Set the compile-time parameters that determine the maximum size of key data structures ***/
64 
66 #define MAX_CHANNEL_COUNT 4
67 
69 #define MAX_WAVELET_COUNT 3
70 
72 #define MAX_BAND_COUNT 4
73 
75 #define MAX_SUBBAND_COUNT 10
76 
78 #define MAX_PRESCALE_COUNT 8
79 
81 static const int default_internal_precision = 12;
82 
83 //TODO: Change the global variable from internal_precision to encoded_precision?
84 
85 
86 #if VC5_ENABLED_PART(VC5_PART_LAYERS)
87 #define MAX_LAYER_COUNT 10
89 #endif
90 
91 #if VC5_ENABLED_PART(VC5_PART_SECTIONS)
92 #define MAX_IMAGE_SECTIONS 10
94 #endif
95 
96 
97 #if defined(_DEBUG) && !defined(DEBUG)
98 #define DEBUG _DEBUG
99 #endif
100 
101 #endif