|
1 | | -# |
2 | | -# cl.h - Compression Library typedefs and prototypes |
3 | | -# |
4 | | -# 01/07/92 Cleanup by Brian Knittel |
5 | | -# 02/18/92 Original Version by Brian Knittel |
6 | | -# |
7 | | - |
8 | | -# |
9 | | -# originalFormat parameter values |
10 | | -# |
11 | | -MAX_NUMBER_OF_ORIGINAL_FORMATS = 32 |
12 | | - |
13 | | -# Audio |
14 | | -MONO = 0 |
15 | | -STEREO_INTERLEAVED = 1 |
16 | | - |
17 | | -# Video |
18 | | -# YUV is defined to be the same thing as YCrCb (luma and two chroma components). |
19 | | -# 422 is appended to YUV (or YCrCb) if the chroma is sub-sampled by 2 |
20 | | -# horizontally, packed as U Y1 V Y2 (byte order). |
21 | | -# 422HC is appended to YUV (or YCrCb) if the chroma is sub-sampled by 2 |
22 | | -# vertically in addition to horizontally, and is packed the same as |
23 | | -# 422 except that U & V are not valid on the second line. |
24 | | -# |
25 | | -RGB = 0 |
26 | | -RGBX = 1 |
27 | | -RGBA = 2 |
28 | | -RGB332 = 3 |
29 | | - |
30 | | -GRAYSCALE = 4 |
31 | | -Y = 4 |
32 | | -YUV = 5 |
33 | | -YCbCr = 5 |
34 | | -YUV422 = 6 # 4:2:2 sampling |
35 | | -YCbCr422 = 6 # 4:2:2 sampling |
36 | | -YUV422HC = 7 # 4:1:1 sampling |
37 | | -YCbCr422HC = 7 # 4:1:1 sampling |
38 | | -YUV422DC = 7 # 4:1:1 sampling |
39 | | -YCbCr422DC = 7 # 4:1:1 sampling |
40 | | - |
41 | | -BEST_FIT = -1 |
42 | | - |
43 | | -def BytesPerSample(s): |
44 | | - if s in (MONO, YUV): |
45 | | - return 2 |
46 | | - elif s == STEREO_INTERLEAVED: |
47 | | - return 4 |
48 | | - else: |
49 | | - return 0 |
50 | | - |
51 | | -def BytesPerPixel(f): |
52 | | - if f in (RGB, YUV): |
53 | | - return 3 |
54 | | - elif f in (RGBX, RGBA): |
55 | | - return 4 |
56 | | - elif f in (RGB332, GRAYSCALE): |
57 | | - return 1 |
58 | | - else: |
59 | | - return 2 |
60 | | - |
61 | | -def AudioFormatName(f): |
62 | | - if f == MONO: |
63 | | - return 'MONO' |
64 | | - elif f == STEREO_INTERLEAVED: |
65 | | - return 'STEREO_INTERLEAVED' |
66 | | - else: |
67 | | - return 'Not a valid format' |
68 | | - |
69 | | -def VideoFormatName(f): |
70 | | - if f == RGB: |
71 | | - return 'RGB' |
72 | | - elif f == RGBX: |
73 | | - return 'RGBX' |
74 | | - elif f == RGBA: |
75 | | - return 'RGBA' |
76 | | - elif f == RGB332: |
77 | | - return 'RGB332' |
78 | | - elif f == GRAYSCALE: |
79 | | - return 'GRAYSCALE' |
80 | | - elif f == YUV: |
81 | | - return 'YUV' |
82 | | - elif f == YUV422: |
83 | | - return 'YUV422' |
84 | | - elif f == YUV422DC: |
85 | | - return 'YUV422DC' |
86 | | - else: |
87 | | - return 'Not a valid format' |
88 | | - |
89 | | -MAX_NUMBER_OF_AUDIO_ALGORITHMS = 32 |
90 | | -MAX_NUMBER_OF_VIDEO_ALGORITHMS = 32 |
91 | | - |
92 | | -# |
93 | | -# Algorithm types |
94 | | -# |
95 | | -AUDIO = 0 |
96 | | -VIDEO = 1 |
97 | | - |
98 | | -def AlgorithmNumber(scheme): |
99 | | - return scheme & 0x7fff |
100 | | -def AlgorithmType(scheme): |
101 | | - return (scheme >> 15) & 1 |
102 | | -def Algorithm(type, n): |
103 | | - return n | ((type & 1) << 15) |
104 | | - |
105 | | -# |
106 | | -# "compressionScheme" argument values |
107 | | -# |
108 | | -UNKNOWN_SCHEME = -1 |
109 | | - |
110 | | -UNCOMPRESSED_AUDIO = Algorithm(AUDIO, 0) |
111 | | -G711_ULAW = Algorithm(AUDIO, 1) |
112 | | -ULAW = Algorithm(AUDIO, 1) |
113 | | -G711_ALAW = Algorithm(AUDIO, 2) |
114 | | -ALAW = Algorithm(AUDIO, 2) |
115 | | -AWARE_MPEG_AUDIO = Algorithm(AUDIO, 3) |
116 | | -AWARE_MULTIRATE = Algorithm(AUDIO, 4) |
117 | | - |
118 | | -UNCOMPRESSED = Algorithm(VIDEO, 0) |
119 | | -UNCOMPRESSED_VIDEO = Algorithm(VIDEO, 0) |
120 | | -RLE = Algorithm(VIDEO, 1) |
121 | | -JPEG = Algorithm(VIDEO, 2) |
122 | | -MPEG_VIDEO = Algorithm(VIDEO, 3) |
123 | | -MVC1 = Algorithm(VIDEO, 4) |
124 | | -RTR = Algorithm(VIDEO, 5) |
125 | | -RTR1 = Algorithm(VIDEO, 5) |
126 | | - |
127 | | -# |
128 | | -# Parameters |
129 | | -# |
130 | | -MAX_NUMBER_OF_PARAMS = 256 |
131 | | -# Default Parameters |
132 | | -IMAGE_WIDTH = 0 |
133 | | -IMAGE_HEIGHT = 1 |
134 | | -ORIGINAL_FORMAT = 2 |
135 | | -INTERNAL_FORMAT = 3 |
136 | | -COMPONENTS = 4 |
137 | | -BITS_PER_COMPONENT = 5 |
138 | | -FRAME_RATE = 6 |
139 | | -COMPRESSION_RATIO = 7 |
140 | | -EXACT_COMPRESSION_RATIO = 8 |
141 | | -FRAME_BUFFER_SIZE = 9 |
142 | | -COMPRESSED_BUFFER_SIZE = 10 |
143 | | -BLOCK_SIZE = 11 |
144 | | -PREROLL = 12 |
145 | | -FRAME_TYPE = 13 |
146 | | -ALGORITHM_ID = 14 |
147 | | -ALGORITHM_VERSION = 15 |
148 | | -ORIENTATION = 16 |
149 | | -NUMBER_OF_FRAMES = 17 |
150 | | -SPEED = 18 |
151 | | -LAST_FRAME_INDEX = 19 |
152 | | -NUMBER_OF_PARAMS = 20 |
153 | | - |
154 | | -# JPEG Specific Parameters |
155 | | -QUALITY_FACTOR = NUMBER_OF_PARAMS + 0 |
156 | | - |
157 | | -# MPEG Specific Parameters |
158 | | -END_OF_SEQUENCE = NUMBER_OF_PARAMS + 0 |
159 | | - |
160 | | -# RTR Specific Parameters |
161 | | -QUALITY_LEVEL = NUMBER_OF_PARAMS + 0 |
162 | | -ZOOM_X = NUMBER_OF_PARAMS + 1 |
163 | | -ZOOM_Y = NUMBER_OF_PARAMS + 2 |
164 | | - |
165 | | -# |
166 | | -# Parameter value types |
167 | | -# |
168 | | -ENUM_VALUE = 0 # only certain constant values are valid |
169 | | -RANGE_VALUE = 1 # any value in a given range is valid |
170 | | -FLOATING_ENUM_VALUE = 2 # only certain constant floating point values are valid |
171 | | -FLOATING_RANGE_VALUE = 3 # any value in a given floating point range is valid |
172 | | - |
173 | | -# |
174 | | -# Algorithm Functionality |
175 | | -# |
176 | | -DECOMPRESSOR = 1 |
177 | | -COMPRESSOR = 2 |
178 | | -CODEC = 3 |
179 | | - |
180 | | -# |
181 | | -# Buffer types |
182 | | -# |
183 | | -NONE = 0 |
184 | | -FRAME = 1 |
185 | | -DATA = 2 |
186 | | - |
187 | | -# |
188 | | -# Frame types |
189 | | -# |
190 | | -NONE = 0 |
191 | | -KEYFRAME = 1 |
192 | | -INTRA = 1 |
193 | | -PREDICTED = 2 |
194 | | -BIDIRECTIONAL = 3 |
195 | | - |
196 | | -# |
197 | | -# Orientations |
198 | | -# |
199 | | -TOP_DOWN = 0 |
200 | | -BOTTOM_UP = 1 |
201 | | - |
202 | | -# |
203 | | -# SGI Proprietaty Algorithm Header Start Code |
204 | | -# |
205 | | -HEADER_START_CODE = 0xc1C0DEC |
206 | | - |
207 | | -# |
208 | | -# error codes |
209 | | -# |
210 | | - |
211 | | -BAD_NO_BUFFERSPACE = -2 # no space for internal buffers |
212 | | -BAD_PVBUFFER = -3 # param/val buffer doesn't make sense |
213 | | -BAD_BUFFERLENGTH_NEG = -4 # negative buffer length |
214 | | -BAD_BUFFERLENGTH_ODD = -5 # odd length parameter/value buffer |
215 | | -BAD_PARAM = -6 # invalid parameter |
216 | | -BAD_COMPRESSION_SCHEME = -7 # compression scheme parameter invalid |
217 | | -BAD_COMPRESSOR_HANDLE = -8 # compression handle parameter invalid |
218 | | -BAD_COMPRESSOR_HANDLE_POINTER = -9 # compression handle pointer invalid |
219 | | -BAD_BUFFER_HANDLE = -10 # buffer handle invalid |
220 | | -BAD_BUFFER_QUERY_SIZE = -11 # buffer query size too large |
221 | | -JPEG_ERROR = -12 # error from libjpeg |
222 | | -BAD_FRAME_SIZE = -13 # frame size invalid |
223 | | -PARAM_OUT_OF_RANGE = -14 # parameter out of range |
224 | | -ADDED_ALGORITHM_ERROR = -15 # added algorithm had a unique error |
225 | | -BAD_ALGORITHM_TYPE = -16 # bad algorithm type |
226 | | -BAD_ALGORITHM_NAME = -17 # bad algorithm name |
227 | | -BAD_BUFFERING = -18 # bad buffering calls |
228 | | -BUFFER_NOT_CREATED = -19 # buffer not created |
229 | | -BAD_BUFFER_EXISTS = -20 # buffer already created |
230 | | -BAD_INTERNAL_FORMAT = -21 # invalid internal format |
231 | | -BAD_BUFFER_POINTER = -22 # invalid buffer pointer |
232 | | -FRAME_BUFFER_SIZE_ZERO = -23 # frame buffer has zero size |
233 | | -BAD_STREAM_HEADER = -24 # invalid stream header |
234 | | - |
235 | | -BAD_LICENSE = -25 # netls license not valid |
236 | | -AWARE_ERROR = -26 # error from libawcmp |
| 1 | +# Backward compatible module CL. |
| 2 | +# All relevant symbols are now defined in the module cl. |
| 3 | +try: |
| 4 | + from cl import * |
| 5 | +except ImportError: |
| 6 | + from CL_old import * |
| 7 | +else: |
| 8 | + del CompressImage |
| 9 | + del DecompressImage |
| 10 | + del GetAlgorithmName |
| 11 | + del OpenCompressor |
| 12 | + del OpenDecompressor |
| 13 | + del QueryAlgorithms |
| 14 | + del QueryMaxHeaderSize |
| 15 | + del QueryScheme |
| 16 | + del QuerySchemeFromName |
| 17 | + del SetDefault |
| 18 | + del SetMax |
| 19 | + del SetMin |
| 20 | + try: |
| 21 | + del cvt_type |
| 22 | + except NameError: |
| 23 | + pass |
| 24 | + del error |
0 commit comments