blob: 2ff184cce615864b1a47cd472f6a9cd9105b9115 [file] [log] [blame]
Sjoerd Mullenderc4315491992-09-23 14:53:00 +00001
2
3/* Cl objects */
4
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +00005#define CLDEBUG
6
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +00007#include <stdarg.h>
Sjoerd Mullenderc4315491992-09-23 14:53:00 +00008#include <cl.h>
Guido van Rossum72429051997-08-12 14:58:54 +00009#if defined(CL_JPEG_SOFTWARE) && !defined(CL_JPEG_COSMO)
10#include <dmedia/cl_cosmo.h>
11#endif
Roger E. Massee474fb31997-01-17 16:00:02 +000012#include "Python.h"
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000013
14typedef struct {
Roger E. Massee474fb31997-01-17 16:00:02 +000015 PyObject_HEAD
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000016 int ob_isCompressor; /* Compressor or Decompressor */
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000017 CL_Handle ob_compressorHdl;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000018 int *ob_paramtypes;
19 int ob_nparams;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000020} clobject;
21
Roger E. Massee474fb31997-01-17 16:00:02 +000022static PyObject *ClError; /* exception cl.error */
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000023
24static int error_handler_called = 0;
25
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000026/*
27 * We want to use the function prototypes that are available in the C
28 * compiler on the SGI. Because of that, we need to declare the first
29 * argument of the compressor and decompressor methods as "object *",
30 * even though they are really "clobject *". Therefore we cast the
31 * argument to the proper type using this macro.
32 */
33#define SELF ((clobject *) self)
34
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000035/********************************************************************
36 Utility routines.
37********************************************************************/
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000038static void
Sjoerd Mullender3a997271993-02-04 16:43:28 +000039cl_ErrorHandler(CL_Handle handle, int code, const char *fmt, ...)
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000040{
41 va_list ap;
42 char errbuf[BUFSIZ]; /* hopefully big enough */
Sjoerd Mullender384f2481992-09-29 16:43:43 +000043 char *p;
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000044
Roger E. Massee474fb31997-01-17 16:00:02 +000045 if (PyErr_Occurred()) /* don't change existing error */
Sjoerd Mullender384f2481992-09-29 16:43:43 +000046 return;
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000047 error_handler_called = 1;
48 va_start(ap, fmt);
49 vsprintf(errbuf, fmt, ap);
50 va_end(ap);
Sjoerd Mullender384f2481992-09-29 16:43:43 +000051 p = &errbuf[strlen(errbuf) - 1]; /* swat the line feed */
52 if (*p == '\n')
53 *p = 0;
Roger E. Massee474fb31997-01-17 16:00:02 +000054 PyErr_SetString(ClError, errbuf);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000055}
56
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000057/*
58 * This assumes that params are always in the range 0 to some maximum.
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000059 */
60static int
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000061param_type_is_float(clobject *self, int param)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000062{
Sjoerd Mullender3a997271993-02-04 16:43:28 +000063 int bufferlength;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000064
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000065 if (self->ob_paramtypes == NULL) {
66 error_handler_called = 0;
67 bufferlength = clQueryParams(self->ob_compressorHdl, 0, 0);
68 if (error_handler_called)
69 return -1;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000070
Roger E. Massee474fb31997-01-17 16:00:02 +000071 self->ob_paramtypes = PyMem_NEW(int, bufferlength);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000072 if (self->ob_paramtypes == NULL)
73 return -1;
74 self->ob_nparams = bufferlength / 2;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000075
Roger E. Massee474fb31997-01-17 16:00:02 +000076 (void) clQueryParams(self->ob_compressorHdl,
77 self->ob_paramtypes, bufferlength);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000078 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +000079 PyMem_DEL(self->ob_paramtypes);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000080 self->ob_paramtypes = NULL;
81 return -1;
82 }
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000083 }
84
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000085 if (param < 0 || param >= self->ob_nparams)
86 return -1;
87
88 if (self->ob_paramtypes[param*2 + 1] == CL_FLOATING_ENUM_VALUE ||
89 self->ob_paramtypes[param*2 + 1] == CL_FLOATING_RANGE_VALUE)
90 return 1;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000091 else
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000092 return 0;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000093}
94
95/********************************************************************
96 Single image compression/decompression.
97********************************************************************/
Roger E. Massee474fb31997-01-17 16:00:02 +000098static PyObject *
99cl_CompressImage(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000100{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000101 int compressionScheme, width, height, originalFormat;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000102 float compressionRatio;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000103 int frameBufferSize, compressedBufferSize;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000104 char *frameBuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000105 PyObject *compressedBuffer;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000106
Roger E. Massee474fb31997-01-17 16:00:02 +0000107 if (!PyArg_Parse(args, "(iiiifs#)", &compressionScheme,
108 &width, &height,
109 &originalFormat, &compressionRatio, &frameBuffer,
110 &frameBufferSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000111 return NULL;
112
Roger E. Massee474fb31997-01-17 16:00:02 +0000113 retry:
114 compressedBuffer = PyString_FromStringAndSize(NULL, frameBufferSize);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000115 if (compressedBuffer == NULL)
116 return NULL;
117
118 compressedBufferSize = frameBufferSize;
119 error_handler_called = 0;
120 if (clCompressImage(compressionScheme, width, height, originalFormat,
121 compressionRatio, (void *) frameBuffer,
122 &compressedBufferSize,
Roger E. Massee474fb31997-01-17 16:00:02 +0000123 (void *) PyString_AsString(compressedBuffer))
Guido van Rossum72429051997-08-12 14:58:54 +0000124 == FAILURE || error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000125 Py_DECREF(compressedBuffer);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000126 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000127 PyErr_SetString(ClError, "clCompressImage failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000128 return NULL;
129 }
130
131 if (compressedBufferSize > frameBufferSize) {
132 frameBufferSize = compressedBufferSize;
Roger E. Massee474fb31997-01-17 16:00:02 +0000133 Py_DECREF(compressedBuffer);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000134 goto retry;
135 }
136
137 if (compressedBufferSize < frameBufferSize)
Roger E. Massee474fb31997-01-17 16:00:02 +0000138 if (_PyString_Resize(&compressedBuffer, compressedBufferSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000139 return NULL;
140
141 return compressedBuffer;
142}
143
Roger E. Massee474fb31997-01-17 16:00:02 +0000144static PyObject *
145cl_DecompressImage(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000146{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000147 int compressionScheme, width, height, originalFormat;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000148 char *compressedBuffer;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000149 int compressedBufferSize, frameBufferSize;
Roger E. Massee474fb31997-01-17 16:00:02 +0000150 PyObject *frameBuffer;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000151
Roger E. Massee474fb31997-01-17 16:00:02 +0000152 if (!PyArg_Parse(args, "(iiiis#)", &compressionScheme, &width, &height,
153 &originalFormat, &compressedBuffer,
154 &compressedBufferSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000155 return NULL;
156
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000157 frameBufferSize = width * height * CL_BytesPerPixel(originalFormat);
158
Roger E. Massee474fb31997-01-17 16:00:02 +0000159 frameBuffer = PyString_FromStringAndSize(NULL, frameBufferSize);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000160 if (frameBuffer == NULL)
161 return NULL;
162
163 error_handler_called = 0;
164 if (clDecompressImage(compressionScheme, width, height, originalFormat,
165 compressedBufferSize, compressedBuffer,
Roger E. Massee474fb31997-01-17 16:00:02 +0000166 (void *) PyString_AsString(frameBuffer))
Guido van Rossum72429051997-08-12 14:58:54 +0000167 == FAILURE || error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000168 Py_DECREF(frameBuffer);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000169 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000170 PyErr_SetString(ClError, "clDecompressImage failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000171 return NULL;
172 }
173
174 return frameBuffer;
175}
176
177/********************************************************************
178 Sequential compression/decompression.
179********************************************************************/
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000180#define CheckCompressor(self) if ((self)->ob_compressorHdl == NULL) { \
Roger E. Massee474fb31997-01-17 16:00:02 +0000181 PyErr_SetString(PyExc_RuntimeError, "(de)compressor not active"); \
182 return NULL; \
183}
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000184
Roger E. Massee474fb31997-01-17 16:00:02 +0000185static PyObject *
186doClose(clobject *self, PyObject *args, int (*close_func)(CL_Handle))
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000187{
188 CheckCompressor(self);
189
Roger E. Massee474fb31997-01-17 16:00:02 +0000190 if (!PyArg_NoArgs(args))
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000191 return NULL;
192
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000193 error_handler_called = 0;
Guido van Rossum72429051997-08-12 14:58:54 +0000194 if ((*close_func)(self->ob_compressorHdl) == FAILURE ||
195 error_handler_called) {
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000196 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000197 PyErr_SetString(ClError, "close failed");
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000198 return NULL;
199 }
200
201 self->ob_compressorHdl = NULL;
202
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000203 if (self->ob_paramtypes)
Roger E. Massee474fb31997-01-17 16:00:02 +0000204 PyMem_DEL(self->ob_paramtypes);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000205 self->ob_paramtypes = NULL;
206
Roger E. Massee474fb31997-01-17 16:00:02 +0000207 Py_INCREF(Py_None);
208 return Py_None;
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000209}
210
Roger E. Massee474fb31997-01-17 16:00:02 +0000211static PyObject *
212clm_CloseCompressor(PyObject *self, PyObject *args)
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000213{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000214 return doClose(SELF, args, clCloseCompressor);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000215}
216
Roger E. Massee474fb31997-01-17 16:00:02 +0000217static PyObject *
218clm_CloseDecompressor(PyObject *self, PyObject *args)
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000219{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000220 return doClose(SELF, args, clCloseDecompressor);
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000221}
222
Roger E. Massee474fb31997-01-17 16:00:02 +0000223static PyObject *
224clm_Compress(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000225{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000226 int numberOfFrames;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000227 int frameBufferSize, compressedBufferSize, size;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000228 char *frameBuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000229 PyObject *data;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000230
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000231 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000232
Roger E. Massee474fb31997-01-17 16:00:02 +0000233 if (!PyArg_Parse(args, "(is#)", &numberOfFrames,
234 &frameBuffer, &frameBufferSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000235 return NULL;
236
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000237 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000238 size = clGetParam(SELF->ob_compressorHdl, CL_COMPRESSED_BUFFER_SIZE);
239 compressedBufferSize = size;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000240 if (error_handler_called)
241 return NULL;
242
Roger E. Massee474fb31997-01-17 16:00:02 +0000243 data = PyString_FromStringAndSize(NULL, size);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000244 if (data == NULL)
245 return NULL;
246
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000247 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000248 if (clCompress(SELF->ob_compressorHdl, numberOfFrames,
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000249 (void *) frameBuffer, &compressedBufferSize,
Guido van Rossum72429051997-08-12 14:58:54 +0000250 (void *) PyString_AsString(data)) == FAILURE ||
251 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000252 Py_DECREF(data);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000253 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000254 PyErr_SetString(ClError, "compress failed");
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000255 return NULL;
256 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000257
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000258 if (compressedBufferSize < size)
Roger E. Massee474fb31997-01-17 16:00:02 +0000259 if (_PyString_Resize(&data, compressedBufferSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000260 return NULL;
261
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000262 if (compressedBufferSize > size) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000263 /* we didn't get all "compressed" data */
Roger E. Massee474fb31997-01-17 16:00:02 +0000264 Py_DECREF(data);
265 PyErr_SetString(ClError,
266 "compressed data is more than fitted");
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000267 return NULL;
268 }
269
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000270 return data;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000271}
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000272
Roger E. Massee474fb31997-01-17 16:00:02 +0000273static PyObject *
274clm_Decompress(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000275{
Roger E. Massee474fb31997-01-17 16:00:02 +0000276 PyObject *data;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000277 int numberOfFrames;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000278 char *compressedData;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000279 int compressedDataSize, dataSize;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000280
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000281 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000282
Roger E. Massee474fb31997-01-17 16:00:02 +0000283 if (!PyArg_Parse(args, "(is#)", &numberOfFrames, &compressedData,
284 &compressedDataSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000285 return NULL;
286
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000287 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000288 dataSize = clGetParam(SELF->ob_compressorHdl, CL_FRAME_BUFFER_SIZE);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000289 if (error_handler_called)
290 return NULL;
291
Roger E. Massee474fb31997-01-17 16:00:02 +0000292 data = PyString_FromStringAndSize(NULL, dataSize);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000293 if (data == NULL)
294 return NULL;
295
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000296 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000297 if (clDecompress(SELF->ob_compressorHdl, numberOfFrames,
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000298 compressedDataSize, (void *) compressedData,
Guido van Rossum72429051997-08-12 14:58:54 +0000299 (void *) PyString_AsString(data)) == FAILURE ||
300 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000301 Py_DECREF(data);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000302 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000303 PyErr_SetString(ClError, "decompress failed");
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000304 return NULL;
305 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000306
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000307 return data;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000308}
309
Roger E. Massee474fb31997-01-17 16:00:02 +0000310static PyObject *
311doParams(clobject *self, PyObject *args, int (*func)(CL_Handle, int *, int),
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000312 int modified)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000313{
Roger E. Massee474fb31997-01-17 16:00:02 +0000314 PyObject *list, *v;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000315 int *PVbuffer;
316 int length;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000317 int i;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000318 float number;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000319
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000320 CheckCompressor(self);
321
Roger E. Massee474fb31997-01-17 16:00:02 +0000322 if (!PyArg_Parse(args, "O", &list))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000323 return NULL;
Roger E. Massee474fb31997-01-17 16:00:02 +0000324 if (!PyList_Check(list)) {
325 PyErr_BadArgument();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000326 return NULL;
327 }
Roger E. Massee474fb31997-01-17 16:00:02 +0000328 length = PyList_Size(list);
329 PVbuffer = PyMem_NEW(int, length);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000330 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000331 return PyErr_NoMemory();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000332 for (i = 0; i < length; i++) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000333 v = PyList_GetItem(list, i);
334 if (PyFloat_Check(v)) {
335 number = PyFloat_AsDouble(v);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000336 PVbuffer[i] = CL_TypeIsInt(number);
Roger E. Massee474fb31997-01-17 16:00:02 +0000337 } else if (PyInt_Check(v)) {
338 PVbuffer[i] = PyInt_AsLong(v);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000339 if ((i & 1) &&
340 param_type_is_float(self, PVbuffer[i-1]) > 0) {
341 number = PVbuffer[i];
342 PVbuffer[i] = CL_TypeIsInt(number);
343 }
344 } else {
Roger E. Massee474fb31997-01-17 16:00:02 +0000345 PyMem_DEL(PVbuffer);
346 PyErr_BadArgument();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000347 return NULL;
348 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000349 }
350
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000351 error_handler_called = 0;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000352 (*func)(self->ob_compressorHdl, PVbuffer, length);
Sjoerd Mullenderf64992e1993-08-03 15:11:36 +0000353 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000354 PyMem_DEL(PVbuffer);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000355 return NULL;
Sjoerd Mullenderf64992e1993-08-03 15:11:36 +0000356 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000357
358 if (modified) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000359 for (i = 0; i < length; i++) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000360 if ((i & 1) &&
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000361 param_type_is_float(self, PVbuffer[i-1]) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000362 number = CL_TypeIsFloat(PVbuffer[i]);
Roger E. Massee474fb31997-01-17 16:00:02 +0000363 v = PyFloat_FromDouble(number);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000364 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000365 v = PyInt_FromLong(PVbuffer[i]);
366 PyList_SetItem(list, i, v);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000367 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000368 }
369
Roger E. Massee474fb31997-01-17 16:00:02 +0000370 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000371
Roger E. Massee474fb31997-01-17 16:00:02 +0000372 Py_INCREF(Py_None);
373 return Py_None;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000374}
375
Roger E. Massee474fb31997-01-17 16:00:02 +0000376static PyObject *
377clm_GetParams(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000378{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000379 return doParams(SELF, args, clGetParams, 1);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000380}
381
Roger E. Massee474fb31997-01-17 16:00:02 +0000382static PyObject *
383clm_SetParams(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000384{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000385 return doParams(SELF, args, clSetParams, 0);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000386}
387
Roger E. Massee474fb31997-01-17 16:00:02 +0000388static PyObject *
389do_get(clobject *self, PyObject *args, int (*func)(CL_Handle, int))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000390{
391 int paramID, value;
392 float fvalue;
393
394 CheckCompressor(self);
395
Roger E. Massee474fb31997-01-17 16:00:02 +0000396 if (!PyArg_Parse(args, "i", &paramID))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000397 return NULL;
398
399 error_handler_called = 0;
400 value = (*func)(self->ob_compressorHdl, paramID);
401 if (error_handler_called)
402 return NULL;
403
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000404 if (param_type_is_float(self, paramID) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000405 fvalue = CL_TypeIsFloat(value);
Roger E. Massee474fb31997-01-17 16:00:02 +0000406 return PyFloat_FromDouble(fvalue);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000407 }
408
Roger E. Massee474fb31997-01-17 16:00:02 +0000409 return PyInt_FromLong(value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000410}
411
Roger E. Massee474fb31997-01-17 16:00:02 +0000412static PyObject *
413clm_GetParam(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000414{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000415 return do_get(SELF, args, clGetParam);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000416}
417
Roger E. Massee474fb31997-01-17 16:00:02 +0000418static PyObject *
419clm_GetDefault(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000420{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000421 return do_get(SELF, args, clGetDefault);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000422}
423
Roger E. Massee474fb31997-01-17 16:00:02 +0000424static PyObject *
425clm_SetParam(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000426{
427 int paramID, value;
428 float fvalue;
429
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000430 CheckCompressor(SELF);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000431
Roger E. Massee474fb31997-01-17 16:00:02 +0000432 if (!PyArg_Parse(args, "(ii)", &paramID, &value)) {
433 PyErr_Clear();
434 if (!PyArg_Parse(args, "(if)", &paramID, &fvalue)) {
435 PyErr_Clear();
436 PyErr_SetString(PyExc_TypeError,
437 "bad argument list (format '(ii)' or '(if)')");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000438 return NULL;
439 }
440 value = CL_TypeIsInt(fvalue);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000441 } else {
442 if (param_type_is_float(SELF, paramID) > 0) {
443 fvalue = value;
444 value = CL_TypeIsInt(fvalue);
445 }
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000446 }
447
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000448 error_handler_called = 0;
449 value = clSetParam(SELF->ob_compressorHdl, paramID, value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000450 if (error_handler_called)
451 return NULL;
452
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000453 if (param_type_is_float(SELF, paramID) > 0)
Roger E. Massee474fb31997-01-17 16:00:02 +0000454 return PyFloat_FromDouble(CL_TypeIsFloat(value));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000455 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000456 return PyInt_FromLong(value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000457}
458
Roger E. Massee474fb31997-01-17 16:00:02 +0000459static PyObject *
460clm_GetParamID(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000461{
462 char *name;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000463 int value;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000464
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000465 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000466
Roger E. Massee474fb31997-01-17 16:00:02 +0000467 if (!PyArg_Parse(args, "s", &name))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000468 return NULL;
469
470 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000471 value = clGetParamID(SELF->ob_compressorHdl, name);
Guido van Rossum72429051997-08-12 14:58:54 +0000472 if (value == FAILURE || error_handler_called) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000473 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000474 PyErr_SetString(ClError, "getparamid failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000475 return NULL;
476 }
477
Roger E. Massee474fb31997-01-17 16:00:02 +0000478 return PyInt_FromLong(value);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000479}
480
Roger E. Massee474fb31997-01-17 16:00:02 +0000481static PyObject *
482clm_QueryParams(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000483{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000484 int bufferlength;
485 int *PVbuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000486 PyObject *list;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000487 int i;
488
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000489 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000490
Roger E. Massee474fb31997-01-17 16:00:02 +0000491 if (!PyArg_NoArgs(args))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000492 return NULL;
493
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000494 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000495 bufferlength = clQueryParams(SELF->ob_compressorHdl, 0, 0);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000496 if (error_handler_called)
497 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000498
Roger E. Massee474fb31997-01-17 16:00:02 +0000499 PVbuffer = PyMem_NEW(int, bufferlength);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000500 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000501 return PyErr_NoMemory();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000502
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000503 bufferlength = clQueryParams(SELF->ob_compressorHdl, PVbuffer,
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000504 bufferlength);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000505 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000506 PyMem_DEL(PVbuffer);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000507 return NULL;
508 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000509
Roger E. Massee474fb31997-01-17 16:00:02 +0000510 list = PyList_New(bufferlength);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000511 if (list == NULL) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000512 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000513 return NULL;
514 }
515
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000516 for (i = 0; i < bufferlength; i++) {
517 if (i & 1)
Roger E. Massee474fb31997-01-17 16:00:02 +0000518 PyList_SetItem(list, i, PyInt_FromLong(PVbuffer[i]));
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000519 else if (PVbuffer[i] == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000520 Py_INCREF(Py_None);
521 PyList_SetItem(list, i, Py_None);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000522 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000523 PyList_SetItem(list, i,
524 PyString_FromString((char *) PVbuffer[i]));
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000525 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000526
Roger E. Massee474fb31997-01-17 16:00:02 +0000527 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000528
529 return list;
530}
531
Roger E. Massee474fb31997-01-17 16:00:02 +0000532static PyObject *
533clm_GetMinMax(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000534{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000535 int param, min, max;
536 float fmin, fmax;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000537
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000538 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000539
Roger E. Massee474fb31997-01-17 16:00:02 +0000540 if (!PyArg_Parse(args, "i", &param))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000541 return NULL;
542
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000543 clGetMinMax(SELF->ob_compressorHdl, param, &min, &max);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000544
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000545 if (param_type_is_float(SELF, param) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000546 fmin = CL_TypeIsFloat(min);
547 fmax = CL_TypeIsFloat(max);
Roger E. Massee474fb31997-01-17 16:00:02 +0000548 return Py_BuildValue("(ff)", fmin, fmax);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000549 }
550
Roger E. Massee474fb31997-01-17 16:00:02 +0000551 return Py_BuildValue("(ii)", min, max);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000552}
553
Roger E. Massee474fb31997-01-17 16:00:02 +0000554static PyObject *
555clm_GetName(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000556{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000557 int param;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000558 char *name;
559
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000560 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000561
Roger E. Massee474fb31997-01-17 16:00:02 +0000562 if (!PyArg_Parse(args, "i", &param))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000563 return NULL;
564
565 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000566 name = clGetName(SELF->ob_compressorHdl, param);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000567 if (name == NULL || error_handler_called) {
568 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000569 PyErr_SetString(ClError, "getname failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000570 return NULL;
571 }
572
Roger E. Massee474fb31997-01-17 16:00:02 +0000573 return PyString_FromString(name);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000574}
575
Roger E. Massee474fb31997-01-17 16:00:02 +0000576static PyObject *
577clm_QuerySchemeFromHandle(PyObject *self, PyObject *args)
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000578{
579 CheckCompressor(SELF);
580
Roger E. Massee474fb31997-01-17 16:00:02 +0000581 if (!PyArg_NoArgs(args))
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000582 return NULL;
583
Roger E. Massee474fb31997-01-17 16:00:02 +0000584 return PyInt_FromLong(clQuerySchemeFromHandle(SELF->ob_compressorHdl));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000585}
586
Roger E. Massee474fb31997-01-17 16:00:02 +0000587static PyObject *
588clm_ReadHeader(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000589{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000590 char *header;
591 int headerSize;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000592
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000593 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000594
Roger E. Massee474fb31997-01-17 16:00:02 +0000595 if (!PyArg_Parse(args, "s#", &header, &headerSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000596 return NULL;
597
Roger E. Massee474fb31997-01-17 16:00:02 +0000598 return PyInt_FromLong(clReadHeader(SELF->ob_compressorHdl,
599 headerSize, header));
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000600}
601
Roger E. Massee474fb31997-01-17 16:00:02 +0000602static PyMethodDef compressor_methods[] = {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000603 {"close", clm_CloseCompressor}, /* alias */
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000604 {"CloseCompressor", clm_CloseCompressor},
605 {"Compress", clm_Compress},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000606 {"GetDefault", clm_GetDefault},
607 {"GetMinMax", clm_GetMinMax},
608 {"GetName", clm_GetName},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000609 {"GetParam", clm_GetParam},
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000610 {"GetParamID", clm_GetParamID},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000611 {"GetParams", clm_GetParams},
612 {"QueryParams", clm_QueryParams},
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000613 {"QuerySchemeFromHandle",clm_QuerySchemeFromHandle},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000614 {"SetParam", clm_SetParam},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000615 {"SetParams", clm_SetParams},
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000616 {NULL, NULL} /* sentinel */
617};
618
Roger E. Massee474fb31997-01-17 16:00:02 +0000619static PyMethodDef decompressor_methods[] = {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000620 {"close", clm_CloseDecompressor}, /* alias */
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000621 {"CloseDecompressor", clm_CloseDecompressor},
622 {"Decompress", clm_Decompress},
623 {"GetDefault", clm_GetDefault},
624 {"GetMinMax", clm_GetMinMax},
625 {"GetName", clm_GetName},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000626 {"GetParam", clm_GetParam},
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000627 {"GetParamID", clm_GetParamID},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000628 {"GetParams", clm_GetParams},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000629 {"ReadHeader", clm_ReadHeader},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000630 {"QueryParams", clm_QueryParams},
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000631 {"QuerySchemeFromHandle",clm_QuerySchemeFromHandle},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000632 {"SetParam", clm_SetParam},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000633 {"SetParams", clm_SetParams},
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000634 {NULL, NULL} /* sentinel */
635};
636
637static void
Roger E. Massee474fb31997-01-17 16:00:02 +0000638cl_dealloc(PyObject *self)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000639{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000640 if (SELF->ob_compressorHdl) {
641 if (SELF->ob_isCompressor)
642 clCloseCompressor(SELF->ob_compressorHdl);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000643 else
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000644 clCloseDecompressor(SELF->ob_compressorHdl);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000645 }
Guido van Rossumb18618d2000-05-03 23:44:39 +0000646 PyObject_Del(self);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000647}
648
Roger E. Massee474fb31997-01-17 16:00:02 +0000649static PyObject *
650cl_getattr(PyObject *self, char *name)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000651{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000652 if (SELF->ob_isCompressor)
Roger E. Massee474fb31997-01-17 16:00:02 +0000653 return Py_FindMethod(compressor_methods, self, name);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000654 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000655 return Py_FindMethod(decompressor_methods, self, name);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000656}
657
Roger E. Massee474fb31997-01-17 16:00:02 +0000658static PyTypeObject Cltype = {
659 PyObject_HEAD_INIT(&PyType_Type)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000660 0, /*ob_size*/
661 "cl", /*tp_name*/
662 sizeof(clobject), /*tp_size*/
663 0, /*tp_itemsize*/
664 /* methods */
Guido van Rossumb6775db1994-08-01 11:34:53 +0000665 (destructor)cl_dealloc, /*tp_dealloc*/
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000666 0, /*tp_print*/
Guido van Rossumb6775db1994-08-01 11:34:53 +0000667 (getattrfunc)cl_getattr, /*tp_getattr*/
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000668 0, /*tp_setattr*/
669 0, /*tp_compare*/
670 0, /*tp_repr*/
671 0, /*tp_as_number*/
672 0, /*tp_as_sequence*/
673 0, /*tp_as_mapping*/
674};
675
Roger E. Massee474fb31997-01-17 16:00:02 +0000676static PyObject *
677doOpen(PyObject *self, PyObject *args, int (*open_func)(int, CL_Handle *),
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000678 int iscompressor)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000679{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000680 int scheme;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000681 clobject *new;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000682
Roger E. Massee474fb31997-01-17 16:00:02 +0000683 if (!PyArg_Parse(args, "i", &scheme))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000684 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000685
Guido van Rossumb18618d2000-05-03 23:44:39 +0000686 new = PyObject_New(clobject, &Cltype);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000687 if (new == NULL)
688 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000689
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000690 new->ob_compressorHdl = NULL;
691 new->ob_isCompressor = iscompressor;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000692 new->ob_paramtypes = NULL;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000693
694 error_handler_called = 0;
Guido van Rossum72429051997-08-12 14:58:54 +0000695 if ((*open_func)(scheme, &new->ob_compressorHdl) == FAILURE ||
696 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000697 Py_DECREF(new);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000698 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000699 PyErr_SetString(ClError, "Open(De)Compressor failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000700 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000701 }
Roger E. Massee474fb31997-01-17 16:00:02 +0000702 return (PyObject *)new;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000703}
704
Roger E. Massee474fb31997-01-17 16:00:02 +0000705static PyObject *
706cl_OpenCompressor(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000707{
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000708 return doOpen(self, args, clOpenCompressor, 1);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000709}
710
Roger E. Massee474fb31997-01-17 16:00:02 +0000711static PyObject *
712cl_OpenDecompressor(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000713{
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000714 return doOpen(self, args, clOpenDecompressor, 0);
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000715}
716
Roger E. Massee474fb31997-01-17 16:00:02 +0000717static PyObject *
718cl_QueryScheme(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000719{
720 char *header;
721 int headerlen;
722 int scheme;
723
Roger E. Massee474fb31997-01-17 16:00:02 +0000724 if (!PyArg_Parse(args, "s#", &header, &headerlen))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000725 return NULL;
726
727 scheme = clQueryScheme(header);
728 if (scheme < 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000729 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000730 return NULL;
731 }
732
Roger E. Massee474fb31997-01-17 16:00:02 +0000733 return PyInt_FromLong(scheme);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000734}
735
Roger E. Massee474fb31997-01-17 16:00:02 +0000736static PyObject *
737cl_QueryMaxHeaderSize(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000738{
739 int scheme;
740
Roger E. Massee474fb31997-01-17 16:00:02 +0000741 if (!PyArg_Parse(args, "i", &scheme))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000742 return NULL;
743
Roger E. Massee474fb31997-01-17 16:00:02 +0000744 return PyInt_FromLong(clQueryMaxHeaderSize(scheme));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000745}
746
Roger E. Massee474fb31997-01-17 16:00:02 +0000747static PyObject *
748cl_QueryAlgorithms(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000749{
750 int algorithmMediaType;
751 int bufferlength;
752 int *PVbuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000753 PyObject *list;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000754 int i;
755
Roger E. Massee474fb31997-01-17 16:00:02 +0000756 if (!PyArg_Parse(args, "i", &algorithmMediaType))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000757 return NULL;
758
759 error_handler_called = 0;
760 bufferlength = clQueryAlgorithms(algorithmMediaType, 0, 0);
761 if (error_handler_called)
762 return NULL;
763
Roger E. Massee474fb31997-01-17 16:00:02 +0000764 PVbuffer = PyMem_NEW(int, bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000765 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000766 return PyErr_NoMemory();
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000767
768 bufferlength = clQueryAlgorithms(algorithmMediaType, PVbuffer,
Roger E. Massee474fb31997-01-17 16:00:02 +0000769 bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000770 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000771 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000772 return NULL;
773 }
774
Roger E. Massee474fb31997-01-17 16:00:02 +0000775 list = PyList_New(bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000776 if (list == NULL) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000777 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000778 return NULL;
779 }
780
781 for (i = 0; i < bufferlength; i++) {
782 if (i & 1)
Roger E. Massee474fb31997-01-17 16:00:02 +0000783 PyList_SetItem(list, i, PyInt_FromLong(PVbuffer[i]));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000784 else if (PVbuffer[i] == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000785 Py_INCREF(Py_None);
786 PyList_SetItem(list, i, Py_None);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000787 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000788 PyList_SetItem(list, i,
789 PyString_FromString((char *) PVbuffer[i]));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000790 }
791
Roger E. Massee474fb31997-01-17 16:00:02 +0000792 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000793
794 return list;
795}
796
Roger E. Massee474fb31997-01-17 16:00:02 +0000797static PyObject *
798cl_QuerySchemeFromName(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000799{
800 int algorithmMediaType;
801 char *name;
802 int scheme;
803
Roger E. Massee474fb31997-01-17 16:00:02 +0000804 if (!PyArg_Parse(args, "(is)", &algorithmMediaType, &name))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000805 return NULL;
806
807 error_handler_called = 0;
808 scheme = clQuerySchemeFromName(algorithmMediaType, name);
809 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000810 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000811 return NULL;
812 }
813
Roger E. Massee474fb31997-01-17 16:00:02 +0000814 return PyInt_FromLong(scheme);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000815}
816
Roger E. Massee474fb31997-01-17 16:00:02 +0000817static PyObject *
818cl_GetAlgorithmName(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000819{
820 int scheme;
821 char *name;
822
Roger E. Massee474fb31997-01-17 16:00:02 +0000823 if (!PyArg_Parse(args, "i", &scheme))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000824 return NULL;
825
826 name = clGetAlgorithmName(scheme);
827 if (name == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000828 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000829 return NULL;
830 }
831
Roger E. Massee474fb31997-01-17 16:00:02 +0000832 return PyString_FromString(name);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000833}
834
Roger E. Massee474fb31997-01-17 16:00:02 +0000835static PyObject *
836do_set(PyObject *self, PyObject *args, int (*func)(int, int, int))
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000837{
838 int scheme, paramID, value;
839 float fvalue;
840 int is_float = 0;
841
Roger E. Massee474fb31997-01-17 16:00:02 +0000842 if (!PyArg_Parse(args, "(iii)", &scheme, &paramID, &value)) {
843 PyErr_Clear();
844 if (!PyArg_Parse(args, "(iif)", &scheme, &paramID, &fvalue)) {
845 PyErr_Clear();
846 PyErr_SetString(PyExc_TypeError,
847 "bad argument list (format '(iii)' or '(iif)')");
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000848 return NULL;
849 }
850 value = CL_TypeIsInt(fvalue);
851 is_float = 1;
852 } else {
853 /* check some parameters which we know to be floats */
854 switch (scheme) {
855 case CL_COMPRESSION_RATIO:
856 case CL_SPEED:
857 fvalue = value;
858 value = CL_TypeIsInt(fvalue);
859 is_float = 1;
860 break;
861 }
862 }
863
864 error_handler_called = 0;
865 value = (*func)(scheme, paramID, value);
866 if (error_handler_called)
867 return NULL;
868
869 if (is_float)
Roger E. Massee474fb31997-01-17 16:00:02 +0000870 return PyFloat_FromDouble(CL_TypeIsFloat(value));
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000871 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000872 return PyInt_FromLong(value);
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000873}
874
Roger E. Massee474fb31997-01-17 16:00:02 +0000875static PyObject *
876cl_SetDefault(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000877{
878 return do_set(self, args, clSetDefault);
879}
880
Roger E. Massee474fb31997-01-17 16:00:02 +0000881static PyObject *
882cl_SetMin(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000883{
884 return do_set(self, args, clSetMin);
885}
886
Roger E. Massee474fb31997-01-17 16:00:02 +0000887static PyObject *
888cl_SetMax(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000889{
890 return do_set(self, args, clSetMax);
891}
892
Roger E. Massee474fb31997-01-17 16:00:02 +0000893#define func(name, handler) \
894static PyObject *cl_##name(PyObject *self, PyObject *args) \
895{ \
896 int x; \
897 if (!PyArg_Parse(args, "i", &x)) return NULL; \
898 return Py##handler(CL_##name(x)); \
899}
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000900
Roger E. Massee474fb31997-01-17 16:00:02 +0000901#define func2(name, handler) \
902static PyObject *cl_##name(PyObject *self, PyObject *args) \
903{ \
904 int a1, a2; \
905 if (!PyArg_Parse(args, "(ii)", &a1, &a2)) return NULL; \
906 return Py##handler(CL_##name(a1, a2)); \
907}
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000908
Roger E. Massee474fb31997-01-17 16:00:02 +0000909func(BytesPerSample, Int_FromLong)
910func(BytesPerPixel, Int_FromLong)
911func(AudioFormatName, String_FromString)
912func(VideoFormatName, String_FromString)
913func(AlgorithmNumber, Int_FromLong)
914func(AlgorithmType, Int_FromLong)
915func2(Algorithm, Int_FromLong)
916func(ParamNumber, Int_FromLong)
917func(ParamType, Int_FromLong)
918func2(ParamID, Int_FromLong)
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000919
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000920#ifdef CLDEBUG
Roger E. Massee474fb31997-01-17 16:00:02 +0000921 static PyObject *
922cvt_type(PyObject *self, PyObject *args)
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000923{
924 int number;
925 float fnumber;
926
Roger E. Massee474fb31997-01-17 16:00:02 +0000927 if (PyArg_Parse(args, "i", &number))
928 return PyFloat_FromDouble(CL_TypeIsFloat(number));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000929 else {
Roger E. Massee474fb31997-01-17 16:00:02 +0000930 PyErr_Clear();
931 if (PyArg_Parse(args, "f", &fnumber))
932 return PyInt_FromLong(CL_TypeIsInt(fnumber));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000933 return NULL;
934 }
935}
936#endif
937
Roger E. Massee474fb31997-01-17 16:00:02 +0000938static PyMethodDef cl_methods[] = {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000939 {"CompressImage", cl_CompressImage},
940 {"DecompressImage", cl_DecompressImage},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000941 {"GetAlgorithmName", cl_GetAlgorithmName},
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000942 {"OpenCompressor", cl_OpenCompressor},
943 {"OpenDecompressor", cl_OpenDecompressor},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000944 {"QueryAlgorithms", cl_QueryAlgorithms},
945 {"QueryMaxHeaderSize", cl_QueryMaxHeaderSize},
946 {"QueryScheme", cl_QueryScheme},
947 {"QuerySchemeFromName", cl_QuerySchemeFromName},
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000948 {"SetDefault", cl_SetDefault},
949 {"SetMax", cl_SetMax},
950 {"SetMin", cl_SetMin},
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000951 {"BytesPerSample", cl_BytesPerSample},
952 {"BytesPerPixel", cl_BytesPerPixel},
953 {"AudioFormatName", cl_AudioFormatName},
954 {"VideoFormatName", cl_VideoFormatName},
955 {"AlgorithmNumber", cl_AlgorithmNumber},
956 {"AlgorithmType", cl_AlgorithmType},
957 {"Algorithm", cl_Algorithm},
958 {"ParamNumber", cl_ParamNumber},
959 {"ParamType", cl_ParamType},
960 {"ParamID", cl_ParamID},
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000961#ifdef CLDEBUG
962 {"cvt_type", cvt_type},
963#endif
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000964 {NULL, NULL} /* Sentinel */
965};
966
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000967#ifdef CL_JPEG_SOFTWARE
968#define IRIX_5_3_LIBRARY
969#endif
970
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000971void
Thomas Woutersf3f33dc2000-07-21 06:00:07 +0000972initcl(void)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000973{
Guido van Rossum72429051997-08-12 14:58:54 +0000974 PyObject *m, *d, *x;
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000975
Roger E. Massee474fb31997-01-17 16:00:02 +0000976 m = Py_InitModule("cl", cl_methods);
977 d = PyModule_GetDict(m);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000978
Guido van Rossum0cb96de1997-10-01 04:29:29 +0000979 ClError = PyErr_NewException("cl.error", NULL, NULL);
Roger E. Massee474fb31997-01-17 16:00:02 +0000980 (void) PyDict_SetItemString(d, "error", ClError);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000981
Guido van Rossum72429051997-08-12 14:58:54 +0000982#ifdef CL_ADDED_ALGORITHM_ERROR
983 x = PyInt_FromLong(CL_ADDED_ALGORITHM_ERROR);
984 if (x == NULL || PyDict_SetItemString(d, "ADDED_ALGORITHM_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +0000985 return;
Guido van Rossum72429051997-08-12 14:58:54 +0000986 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000987#endif
Guido van Rossum72429051997-08-12 14:58:54 +0000988#ifdef CL_ALAW
989 x = PyInt_FromLong(CL_ALAW);
990 if (x == NULL || PyDict_SetItemString(d, "ALAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +0000991 return;
Guido van Rossum72429051997-08-12 14:58:54 +0000992 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000993#endif
Guido van Rossum72429051997-08-12 14:58:54 +0000994#ifdef CL_ALGORITHM_ID
995 x = PyInt_FromLong(CL_ALGORITHM_ID);
996 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_ID", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +0000997 return;
Guido van Rossum72429051997-08-12 14:58:54 +0000998 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000999#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001000#ifdef CL_ALGORITHM_TABLE_FULL
1001 x = PyInt_FromLong(CL_ALGORITHM_TABLE_FULL);
1002 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_TABLE_FULL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001003 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001004 Py_DECREF(x);
1005#endif
1006#ifdef CL_ALGORITHM_VERSION
1007 x = PyInt_FromLong(CL_ALGORITHM_VERSION);
1008 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_VERSION", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001009 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001010 Py_DECREF(x);
1011#endif
1012#ifdef CL_ALG_AUDIO
1013 x = PyInt_FromLong(CL_ALG_AUDIO);
1014 if (x == NULL || PyDict_SetItemString(d, "ALG_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001015 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001016 Py_DECREF(x);
1017#endif
1018#ifdef CL_ALG_VIDEO
1019 x = PyInt_FromLong(CL_ALG_VIDEO);
1020 if (x == NULL || PyDict_SetItemString(d, "ALG_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001021 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001022 Py_DECREF(x);
1023#endif
1024#ifdef CL_AUDIO
1025 x = PyInt_FromLong(CL_AUDIO);
1026 if (x == NULL || PyDict_SetItemString(d, "AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001027 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001028 Py_DECREF(x);
1029#endif
1030#ifdef CL_AWARE_BITRATE_POLICY
1031 x = PyInt_FromLong(CL_AWARE_BITRATE_POLICY);
1032 if (x == NULL || PyDict_SetItemString(d, "AWARE_BITRATE_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001033 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001034 Py_DECREF(x);
1035#endif
1036#ifdef CL_AWARE_BITRATE_TARGET
1037 x = PyInt_FromLong(CL_AWARE_BITRATE_TARGET);
1038 if (x == NULL || PyDict_SetItemString(d, "AWARE_BITRATE_TARGET", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001039 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001040 Py_DECREF(x);
1041#endif
1042#ifdef CL_AWARE_CHANNEL_POLICY
1043 x = PyInt_FromLong(CL_AWARE_CHANNEL_POLICY);
1044 if (x == NULL || PyDict_SetItemString(d, "AWARE_CHANNEL_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001045 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001046 Py_DECREF(x);
1047#endif
1048#ifdef CL_AWARE_CONST_QUAL
1049 x = PyInt_FromLong(CL_AWARE_CONST_QUAL);
1050 if (x == NULL || PyDict_SetItemString(d, "AWARE_CONST_QUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001051 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001052 Py_DECREF(x);
1053#endif
1054#ifdef CL_AWARE_ERROR
1055 x = PyInt_FromLong(CL_AWARE_ERROR);
1056 if (x == NULL || PyDict_SetItemString(d, "AWARE_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001057 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001058 Py_DECREF(x);
1059#endif
1060#ifdef CL_AWARE_FIXED_RATE
1061 x = PyInt_FromLong(CL_AWARE_FIXED_RATE);
1062 if (x == NULL || PyDict_SetItemString(d, "AWARE_FIXED_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001063 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001064 Py_DECREF(x);
1065#endif
1066#ifdef CL_AWARE_INDEPENDENT
1067 x = PyInt_FromLong(CL_AWARE_INDEPENDENT);
1068 if (x == NULL || PyDict_SetItemString(d, "AWARE_INDEPENDENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001069 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001070 Py_DECREF(x);
1071#endif
1072#ifdef CL_AWARE_JOINT_STEREO
1073 x = PyInt_FromLong(CL_AWARE_JOINT_STEREO);
1074 if (x == NULL || PyDict_SetItemString(d, "AWARE_JOINT_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001075 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001076 Py_DECREF(x);
1077#endif
1078#ifdef CL_AWARE_LAYER
1079 x = PyInt_FromLong(CL_AWARE_LAYER);
1080 if (x == NULL || PyDict_SetItemString(d, "AWARE_LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001081 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001082 Py_DECREF(x);
1083#endif
1084#ifdef CL_AWARE_LOSSLESS
1085 x = PyInt_FromLong(CL_AWARE_LOSSLESS);
1086 if (x == NULL || PyDict_SetItemString(d, "AWARE_LOSSLESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001087 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001088 Py_DECREF(x);
1089#endif
1090#ifdef CL_AWARE_MPEG_AUDIO
1091 x = PyInt_FromLong(CL_AWARE_MPEG_AUDIO);
1092 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001093 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001094 Py_DECREF(x);
1095#endif
1096#ifdef CL_AWARE_MPEG_LAYER_I
1097 x = PyInt_FromLong(CL_AWARE_MPEG_LAYER_I);
1098 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001099 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001100 Py_DECREF(x);
1101#endif
1102#ifdef CL_AWARE_MPEG_LAYER_II
1103 x = PyInt_FromLong(CL_AWARE_MPEG_LAYER_II);
1104 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001105 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001106 Py_DECREF(x);
1107#endif
1108#ifdef CL_AWARE_MULTIRATE
1109 x = PyInt_FromLong(CL_AWARE_MULTIRATE);
1110 if (x == NULL || PyDict_SetItemString(d, "AWARE_MULTIRATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001111 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001112 Py_DECREF(x);
1113#endif
1114#ifdef CL_AWARE_NOISE_MARGIN
1115 x = PyInt_FromLong(CL_AWARE_NOISE_MARGIN);
1116 if (x == NULL || PyDict_SetItemString(d, "AWARE_NOISE_MARGIN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001117 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001118 Py_DECREF(x);
1119#endif
1120#ifdef CL_AWARE_STEREO
1121 x = PyInt_FromLong(CL_AWARE_STEREO);
1122 if (x == NULL || PyDict_SetItemString(d, "AWARE_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001123 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001124 Py_DECREF(x);
1125#endif
1126#ifdef CL_BAD_ALGORITHM_NAME
1127 x = PyInt_FromLong(CL_BAD_ALGORITHM_NAME);
1128 if (x == NULL || PyDict_SetItemString(d, "BAD_ALGORITHM_NAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001129 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001130 Py_DECREF(x);
1131#endif
1132#ifdef CL_BAD_ALGORITHM_TYPE
1133 x = PyInt_FromLong(CL_BAD_ALGORITHM_TYPE);
1134 if (x == NULL || PyDict_SetItemString(d, "BAD_ALGORITHM_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001135 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001136 Py_DECREF(x);
1137#endif
1138#ifdef CL_BAD_BLOCK_SIZE
1139 x = PyInt_FromLong(CL_BAD_BLOCK_SIZE);
1140 if (x == NULL || PyDict_SetItemString(d, "BAD_BLOCK_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001141 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001142 Py_DECREF(x);
1143#endif
1144#ifdef CL_BAD_BOARD
1145 x = PyInt_FromLong(CL_BAD_BOARD);
1146 if (x == NULL || PyDict_SetItemString(d, "BAD_BOARD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001147 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001148 Py_DECREF(x);
1149#endif
1150#ifdef CL_BAD_BUFFERING
1151 x = PyInt_FromLong(CL_BAD_BUFFERING);
1152 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001153 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001154 Py_DECREF(x);
1155#endif
1156#ifdef CL_BAD_BUFFERLENGTH_NEG
1157 x = PyInt_FromLong(CL_BAD_BUFFERLENGTH_NEG);
1158 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERLENGTH_NEG", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001159 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001160 Py_DECREF(x);
1161#endif
1162#ifdef CL_BAD_BUFFERLENGTH_ODD
1163 x = PyInt_FromLong(CL_BAD_BUFFERLENGTH_ODD);
1164 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERLENGTH_ODD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001165 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001166 Py_DECREF(x);
1167#endif
1168#ifdef CL_BAD_BUFFER_EXISTS
1169 x = PyInt_FromLong(CL_BAD_BUFFER_EXISTS);
1170 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_EXISTS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001171 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001172 Py_DECREF(x);
1173#endif
1174#ifdef CL_BAD_BUFFER_HANDLE
1175 x = PyInt_FromLong(CL_BAD_BUFFER_HANDLE);
1176 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_HANDLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001177 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001178 Py_DECREF(x);
1179#endif
1180#ifdef CL_BAD_BUFFER_POINTER
1181 x = PyInt_FromLong(CL_BAD_BUFFER_POINTER);
1182 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001183 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001184 Py_DECREF(x);
1185#endif
1186#ifdef CL_BAD_BUFFER_QUERY_SIZE
1187 x = PyInt_FromLong(CL_BAD_BUFFER_QUERY_SIZE);
1188 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_QUERY_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001189 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001190 Py_DECREF(x);
1191#endif
1192#ifdef CL_BAD_BUFFER_SIZE
1193 x = PyInt_FromLong(CL_BAD_BUFFER_SIZE);
1194 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001195 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001196 Py_DECREF(x);
1197#endif
1198#ifdef CL_BAD_BUFFER_SIZE_POINTER
1199 x = PyInt_FromLong(CL_BAD_BUFFER_SIZE_POINTER);
1200 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_SIZE_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001201 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001202 Py_DECREF(x);
1203#endif
1204#ifdef CL_BAD_BUFFER_TYPE
1205 x = PyInt_FromLong(CL_BAD_BUFFER_TYPE);
1206 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001207 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001208 Py_DECREF(x);
1209#endif
1210#ifdef CL_BAD_COMPRESSION_SCHEME
1211 x = PyInt_FromLong(CL_BAD_COMPRESSION_SCHEME);
1212 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSION_SCHEME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001213 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001214 Py_DECREF(x);
1215#endif
1216#ifdef CL_BAD_COMPRESSOR_HANDLE
1217 x = PyInt_FromLong(CL_BAD_COMPRESSOR_HANDLE);
1218 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSOR_HANDLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001219 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001220 Py_DECREF(x);
1221#endif
1222#ifdef CL_BAD_COMPRESSOR_HANDLE_POINTER
1223 x = PyInt_FromLong(CL_BAD_COMPRESSOR_HANDLE_POINTER);
1224 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSOR_HANDLE_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001225 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001226 Py_DECREF(x);
1227#endif
1228#ifdef CL_BAD_FRAME_SIZE
1229 x = PyInt_FromLong(CL_BAD_FRAME_SIZE);
1230 if (x == NULL || PyDict_SetItemString(d, "BAD_FRAME_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001231 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001232 Py_DECREF(x);
1233#endif
1234#ifdef CL_BAD_FUNCTIONALITY
1235 x = PyInt_FromLong(CL_BAD_FUNCTIONALITY);
1236 if (x == NULL || PyDict_SetItemString(d, "BAD_FUNCTIONALITY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001237 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001238 Py_DECREF(x);
1239#endif
1240#ifdef CL_BAD_FUNCTION_POINTER
1241 x = PyInt_FromLong(CL_BAD_FUNCTION_POINTER);
1242 if (x == NULL || PyDict_SetItemString(d, "BAD_FUNCTION_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001243 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001244 Py_DECREF(x);
1245#endif
1246#ifdef CL_BAD_HEADER_SIZE
1247 x = PyInt_FromLong(CL_BAD_HEADER_SIZE);
1248 if (x == NULL || PyDict_SetItemString(d, "BAD_HEADER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001249 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001250 Py_DECREF(x);
1251#endif
1252#ifdef CL_BAD_INITIAL_VALUE
1253 x = PyInt_FromLong(CL_BAD_INITIAL_VALUE);
1254 if (x == NULL || PyDict_SetItemString(d, "BAD_INITIAL_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001255 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001256 Py_DECREF(x);
1257#endif
1258#ifdef CL_BAD_INTERNAL_FORMAT
1259 x = PyInt_FromLong(CL_BAD_INTERNAL_FORMAT);
1260 if (x == NULL || PyDict_SetItemString(d, "BAD_INTERNAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001261 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001262 Py_DECREF(x);
1263#endif
1264#ifdef CL_BAD_LICENSE
1265 x = PyInt_FromLong(CL_BAD_LICENSE);
1266 if (x == NULL || PyDict_SetItemString(d, "BAD_LICENSE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001267 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001268 Py_DECREF(x);
1269#endif
1270#ifdef CL_BAD_MIN_GT_MAX
1271 x = PyInt_FromLong(CL_BAD_MIN_GT_MAX);
1272 if (x == NULL || PyDict_SetItemString(d, "BAD_MIN_GT_MAX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001273 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001274 Py_DECREF(x);
1275#endif
1276#ifdef CL_BAD_NO_BUFFERSPACE
1277 x = PyInt_FromLong(CL_BAD_NO_BUFFERSPACE);
1278 if (x == NULL || PyDict_SetItemString(d, "BAD_NO_BUFFERSPACE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001279 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001280 Py_DECREF(x);
1281#endif
1282#ifdef CL_BAD_NUMBER_OF_BLOCKS
1283 x = PyInt_FromLong(CL_BAD_NUMBER_OF_BLOCKS);
1284 if (x == NULL || PyDict_SetItemString(d, "BAD_NUMBER_OF_BLOCKS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001285 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001286 Py_DECREF(x);
1287#endif
1288#ifdef CL_BAD_PARAM
1289 x = PyInt_FromLong(CL_BAD_PARAM);
1290 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001291 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001292 Py_DECREF(x);
1293#endif
1294#ifdef CL_BAD_PARAM_ID_POINTER
1295 x = PyInt_FromLong(CL_BAD_PARAM_ID_POINTER);
1296 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM_ID_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001297 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001298 Py_DECREF(x);
1299#endif
1300#ifdef CL_BAD_PARAM_TYPE
1301 x = PyInt_FromLong(CL_BAD_PARAM_TYPE);
1302 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001303 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001304 Py_DECREF(x);
1305#endif
1306#ifdef CL_BAD_POINTER
1307 x = PyInt_FromLong(CL_BAD_POINTER);
1308 if (x == NULL || PyDict_SetItemString(d, "BAD_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001309 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001310 Py_DECREF(x);
1311#endif
1312#ifdef CL_BAD_PVBUFFER
1313 x = PyInt_FromLong(CL_BAD_PVBUFFER);
1314 if (x == NULL || PyDict_SetItemString(d, "BAD_PVBUFFER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001315 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001316 Py_DECREF(x);
1317#endif
1318#ifdef CL_BAD_SCHEME_POINTER
1319 x = PyInt_FromLong(CL_BAD_SCHEME_POINTER);
1320 if (x == NULL || PyDict_SetItemString(d, "BAD_SCHEME_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001321 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001322 Py_DECREF(x);
1323#endif
1324#ifdef CL_BAD_STREAM_HEADER
1325 x = PyInt_FromLong(CL_BAD_STREAM_HEADER);
1326 if (x == NULL || PyDict_SetItemString(d, "BAD_STREAM_HEADER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001327 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001328 Py_DECREF(x);
1329#endif
1330#ifdef CL_BAD_STRING_POINTER
1331 x = PyInt_FromLong(CL_BAD_STRING_POINTER);
1332 if (x == NULL || PyDict_SetItemString(d, "BAD_STRING_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001333 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001334 Py_DECREF(x);
1335#endif
1336#ifdef CL_BAD_TEXT_STRING_PTR
1337 x = PyInt_FromLong(CL_BAD_TEXT_STRING_PTR);
1338 if (x == NULL || PyDict_SetItemString(d, "BAD_TEXT_STRING_PTR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001339 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001340 Py_DECREF(x);
1341#endif
1342#ifdef CL_BEST_FIT
1343 x = PyInt_FromLong(CL_BEST_FIT);
1344 if (x == NULL || PyDict_SetItemString(d, "BEST_FIT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001345 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001346 Py_DECREF(x);
1347#endif
1348#ifdef CL_BIDIRECTIONAL
1349 x = PyInt_FromLong(CL_BIDIRECTIONAL);
1350 if (x == NULL || PyDict_SetItemString(d, "BIDIRECTIONAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001351 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001352 Py_DECREF(x);
1353#endif
1354#ifdef CL_BITRATE
1355 x = PyInt_FromLong(CL_BITRATE);
1356 if (x == NULL || PyDict_SetItemString(d, "BITRATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001357 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001358 Py_DECREF(x);
1359#endif
1360#ifdef CL_BITRATE_POLICY
1361 x = PyInt_FromLong(CL_BITRATE_POLICY);
1362 if (x == NULL || PyDict_SetItemString(d, "BITRATE_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001363 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001364 Py_DECREF(x);
1365#endif
1366#ifdef CL_BITRATE_TARGET
1367 x = PyInt_FromLong(CL_BITRATE_TARGET);
1368 if (x == NULL || PyDict_SetItemString(d, "BITRATE_TARGET", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001369 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001370 Py_DECREF(x);
1371#endif
1372#ifdef CL_BITS_PER_COMPONENT
1373 x = PyInt_FromLong(CL_BITS_PER_COMPONENT);
1374 if (x == NULL || PyDict_SetItemString(d, "BITS_PER_COMPONENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001375 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001376 Py_DECREF(x);
1377#endif
1378#ifdef CL_BLENDING
1379 x = PyInt_FromLong(CL_BLENDING);
1380 if (x == NULL || PyDict_SetItemString(d, "BLENDING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001381 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001382 Py_DECREF(x);
1383#endif
1384#ifdef CL_BLOCK_SIZE
1385 x = PyInt_FromLong(CL_BLOCK_SIZE);
1386 if (x == NULL || PyDict_SetItemString(d, "BLOCK_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001387 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001388 Py_DECREF(x);
1389#endif
1390#ifdef CL_BOTTOM_UP
1391 x = PyInt_FromLong(CL_BOTTOM_UP);
1392 if (x == NULL || PyDict_SetItemString(d, "BOTTOM_UP", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001393 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001394 Py_DECREF(x);
1395#endif
1396#ifdef CL_BUFFER_NOT_CREATED
1397 x = PyInt_FromLong(CL_BUFFER_NOT_CREATED);
1398 if (x == NULL || PyDict_SetItemString(d, "BUFFER_NOT_CREATED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001399 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001400 Py_DECREF(x);
1401#endif
1402#ifdef CL_BUF_COMPRESSED
1403 x = PyInt_FromLong(CL_BUF_COMPRESSED);
1404 if (x == NULL || PyDict_SetItemString(d, "BUF_COMPRESSED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001405 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001406 Py_DECREF(x);
1407#endif
1408#ifdef CL_BUF_DATA
1409 x = PyInt_FromLong(CL_BUF_DATA);
1410 if (x == NULL || PyDict_SetItemString(d, "BUF_DATA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001411 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001412 Py_DECREF(x);
1413#endif
1414#ifdef CL_BUF_FRAME
1415 x = PyInt_FromLong(CL_BUF_FRAME);
1416 if (x == NULL || PyDict_SetItemString(d, "BUF_FRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001417 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001418 Py_DECREF(x);
1419#endif
1420#ifdef CL_CHANNEL_POLICY
1421 x = PyInt_FromLong(CL_CHANNEL_POLICY);
1422 if (x == NULL || PyDict_SetItemString(d, "CHANNEL_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001423 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001424 Py_DECREF(x);
1425#endif
1426#ifdef CL_CHROMA_THRESHOLD
1427 x = PyInt_FromLong(CL_CHROMA_THRESHOLD);
1428 if (x == NULL || PyDict_SetItemString(d, "CHROMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001429 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001430 Py_DECREF(x);
1431#endif
1432#ifdef CL_CODEC
1433 x = PyInt_FromLong(CL_CODEC);
1434 if (x == NULL || PyDict_SetItemString(d, "CODEC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001435 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001436 Py_DECREF(x);
1437#endif
1438#ifdef CL_COMPONENTS
1439 x = PyInt_FromLong(CL_COMPONENTS);
1440 if (x == NULL || PyDict_SetItemString(d, "COMPONENTS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001441 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001442 Py_DECREF(x);
1443#endif
1444#ifdef CL_COMPRESSED_BUFFER_SIZE
1445 x = PyInt_FromLong(CL_COMPRESSED_BUFFER_SIZE);
1446 if (x == NULL || PyDict_SetItemString(d, "COMPRESSED_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001447 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001448 Py_DECREF(x);
1449#endif
1450#ifdef CL_COMPRESSION_RATIO
1451 x = PyInt_FromLong(CL_COMPRESSION_RATIO);
1452 if (x == NULL || PyDict_SetItemString(d, "COMPRESSION_RATIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001453 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001454 Py_DECREF(x);
1455#endif
1456#ifdef CL_COMPRESSOR
1457 x = PyInt_FromLong(CL_COMPRESSOR);
1458 if (x == NULL || PyDict_SetItemString(d, "COMPRESSOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001459 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001460 Py_DECREF(x);
1461#endif
1462#ifdef CL_CONTINUOUS_BLOCK
1463 x = PyInt_FromLong(CL_CONTINUOUS_BLOCK);
1464 if (x == NULL || PyDict_SetItemString(d, "CONTINUOUS_BLOCK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001465 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001466 Py_DECREF(x);
1467#endif
1468#ifdef CL_CONTINUOUS_NONBLOCK
1469 x = PyInt_FromLong(CL_CONTINUOUS_NONBLOCK);
1470 if (x == NULL || PyDict_SetItemString(d, "CONTINUOUS_NONBLOCK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001471 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001472 Py_DECREF(x);
1473#endif
1474#ifdef CL_COSMO_CODEC_CONTROL
1475 x = PyInt_FromLong(CL_COSMO_CODEC_CONTROL);
1476 if (x == NULL || PyDict_SetItemString(d, "COSMO_CODEC_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001477 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001478 Py_DECREF(x);
1479#endif
1480#ifdef CL_COSMO_NUM_PARAMS
1481 x = PyInt_FromLong(CL_COSMO_NUM_PARAMS);
1482 if (x == NULL || PyDict_SetItemString(d, "COSMO_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001483 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001484 Py_DECREF(x);
1485#endif
1486#ifdef CL_COSMO_VALUE_BASE
1487 x = PyInt_FromLong(CL_COSMO_VALUE_BASE);
1488 if (x == NULL || PyDict_SetItemString(d, "COSMO_VALUE_BASE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001489 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001490 Py_DECREF(x);
1491#endif
1492#ifdef CL_COSMO_VIDEO_MANUAL_CONTROL
1493 x = PyInt_FromLong(CL_COSMO_VIDEO_MANUAL_CONTROL);
1494 if (x == NULL || PyDict_SetItemString(d, "COSMO_VIDEO_MANUAL_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001495 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001496 Py_DECREF(x);
1497#endif
1498#ifdef CL_COSMO_VIDEO_TRANSFER_MODE
1499 x = PyInt_FromLong(CL_COSMO_VIDEO_TRANSFER_MODE);
1500 if (x == NULL || PyDict_SetItemString(d, "COSMO_VIDEO_TRANSFER_MODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001501 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001502 Py_DECREF(x);
1503#endif
1504#ifdef CL_DATA
1505 x = PyInt_FromLong(CL_DATA);
1506 if (x == NULL || PyDict_SetItemString(d, "DATA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001507 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001508 Py_DECREF(x);
1509#endif
1510#ifdef CL_DECOMPRESSOR
1511 x = PyInt_FromLong(CL_DECOMPRESSOR);
1512 if (x == NULL || PyDict_SetItemString(d, "DECOMPRESSOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001513 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001514 Py_DECREF(x);
1515#endif
1516#ifdef CL_DSO_ERROR
1517 x = PyInt_FromLong(CL_DSO_ERROR);
1518 if (x == NULL || PyDict_SetItemString(d, "DSO_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001519 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001520 Py_DECREF(x);
1521#endif
1522#ifdef CL_EDGE_THRESHOLD
1523 x = PyInt_FromLong(CL_EDGE_THRESHOLD);
1524 if (x == NULL || PyDict_SetItemString(d, "EDGE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001525 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001526 Py_DECREF(x);
1527#endif
1528#ifdef CL_ENABLE_IMAGEINFO
1529 x = PyInt_FromLong(CL_ENABLE_IMAGEINFO);
1530 if (x == NULL || PyDict_SetItemString(d, "ENABLE_IMAGEINFO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001531 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001532 Py_DECREF(x);
1533#endif
1534#ifdef CL_END_OF_SEQUENCE
1535 x = PyInt_FromLong(CL_END_OF_SEQUENCE);
1536 if (x == NULL || PyDict_SetItemString(d, "END_OF_SEQUENCE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001537 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001538 Py_DECREF(x);
1539#endif
1540#ifdef CL_ENUM_VALUE
1541 x = PyInt_FromLong(CL_ENUM_VALUE);
1542 if (x == NULL || PyDict_SetItemString(d, "ENUM_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001543 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001544 Py_DECREF(x);
1545#endif
1546#ifdef CL_EXACT_COMPRESSION_RATIO
1547 x = PyInt_FromLong(CL_EXACT_COMPRESSION_RATIO);
1548 if (x == NULL || PyDict_SetItemString(d, "EXACT_COMPRESSION_RATIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001549 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001550 Py_DECREF(x);
1551#endif
1552#ifdef CL_EXTERNAL_DEVICE
1553 x = PyInt_FromLong((long) CL_EXTERNAL_DEVICE);
1554 if (x == NULL || PyDict_SetItemString(d, "EXTERNAL_DEVICE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001555 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001556 Py_DECREF(x);
1557#endif
1558#ifdef CL_FLOATING_ENUM_VALUE
1559 x = PyInt_FromLong(CL_FLOATING_ENUM_VALUE);
1560 if (x == NULL || PyDict_SetItemString(d, "FLOATING_ENUM_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001561 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001562 Py_DECREF(x);
1563#endif
1564#ifdef CL_FLOATING_RANGE_VALUE
1565 x = PyInt_FromLong(CL_FLOATING_RANGE_VALUE);
1566 if (x == NULL || PyDict_SetItemString(d, "FLOATING_RANGE_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001567 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001568 Py_DECREF(x);
1569#endif
1570#ifdef CL_FORMAT
1571 x = PyInt_FromLong(CL_FORMAT);
1572 if (x == NULL || PyDict_SetItemString(d, "FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001573 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001574 Py_DECREF(x);
1575#endif
1576#ifdef CL_FORMAT_ABGR
1577 x = PyInt_FromLong(CL_FORMAT_ABGR);
1578 if (x == NULL || PyDict_SetItemString(d, "FORMAT_ABGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001579 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001580 Py_DECREF(x);
1581#endif
1582#ifdef CL_FORMAT_BGR
1583 x = PyInt_FromLong(CL_FORMAT_BGR);
1584 if (x == NULL || PyDict_SetItemString(d, "FORMAT_BGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001585 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001586 Py_DECREF(x);
1587#endif
1588#ifdef CL_FORMAT_BGR233
1589 x = PyInt_FromLong(CL_FORMAT_BGR233);
1590 if (x == NULL || PyDict_SetItemString(d, "FORMAT_BGR233", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001591 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001592 Py_DECREF(x);
1593#endif
1594#ifdef CL_FORMAT_GRAYSCALE
1595 x = PyInt_FromLong(CL_FORMAT_GRAYSCALE);
1596 if (x == NULL || PyDict_SetItemString(d, "FORMAT_GRAYSCALE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001597 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001598 Py_DECREF(x);
1599#endif
1600#ifdef CL_FORMAT_MONO
1601 x = PyInt_FromLong(CL_FORMAT_MONO);
1602 if (x == NULL || PyDict_SetItemString(d, "FORMAT_MONO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001603 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001604 Py_DECREF(x);
1605#endif
1606#ifdef CL_FORMAT_RBG323
1607 x = PyInt_FromLong(CL_FORMAT_RBG323);
1608 if (x == NULL || PyDict_SetItemString(d, "FORMAT_RBG323", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001609 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001610 Py_DECREF(x);
1611#endif
1612#ifdef CL_FORMAT_STEREO_INTERLEAVED
1613 x = PyInt_FromLong(CL_FORMAT_STEREO_INTERLEAVED);
1614 if (x == NULL || PyDict_SetItemString(d, "FORMAT_STEREO_INTERLEAVED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001615 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001616 Py_DECREF(x);
1617#endif
1618#ifdef CL_FORMAT_XBGR
1619 x = PyInt_FromLong(CL_FORMAT_XBGR);
1620 if (x == NULL || PyDict_SetItemString(d, "FORMAT_XBGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001621 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001622 Py_DECREF(x);
1623#endif
1624#ifdef CL_FORMAT_YCbCr
1625 x = PyInt_FromLong(CL_FORMAT_YCbCr);
1626 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001627 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001628 Py_DECREF(x);
1629#endif
1630#ifdef CL_FORMAT_YCbCr422
1631 x = PyInt_FromLong(CL_FORMAT_YCbCr422);
1632 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001633 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001634 Py_DECREF(x);
1635#endif
1636#ifdef CL_FORMAT_YCbCr422DC
1637 x = PyInt_FromLong(CL_FORMAT_YCbCr422DC);
1638 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001639 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001640 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001641#endif
1642#ifdef CL_FRAME
Guido van Rossum72429051997-08-12 14:58:54 +00001643 x = PyInt_FromLong(CL_FRAME);
1644 if (x == NULL || PyDict_SetItemString(d, "FRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001645 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001646 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001647#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001648#ifdef CL_FRAMES_PER_CHUNK
1649 x = PyInt_FromLong(CL_FRAMES_PER_CHUNK);
1650 if (x == NULL || PyDict_SetItemString(d, "FRAMES_PER_CHUNK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001651 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001652 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001653#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001654#ifdef CL_FRAME_BUFFER_SIZE
1655 x = PyInt_FromLong(CL_FRAME_BUFFER_SIZE);
1656 if (x == NULL || PyDict_SetItemString(d, "FRAME_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001657 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001658 Py_DECREF(x);
1659#endif
1660#ifdef CL_FRAME_BUFFER_SIZE_ZERO
1661 x = PyInt_FromLong(CL_FRAME_BUFFER_SIZE_ZERO);
1662 if (x == NULL || PyDict_SetItemString(d, "FRAME_BUFFER_SIZE_ZERO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001663 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001664 Py_DECREF(x);
1665#endif
1666#ifdef CL_FRAME_INDEX
1667 x = PyInt_FromLong(CL_FRAME_INDEX);
1668 if (x == NULL || PyDict_SetItemString(d, "FRAME_INDEX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001669 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001670 Py_DECREF(x);
1671#endif
1672#ifdef CL_FRAME_RATE
1673 x = PyInt_FromLong(CL_FRAME_RATE);
1674 if (x == NULL || PyDict_SetItemString(d, "FRAME_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001675 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001676 Py_DECREF(x);
1677#endif
1678#ifdef CL_FRAME_SIZE
1679 x = PyInt_FromLong(CL_FRAME_SIZE);
1680 if (x == NULL || PyDict_SetItemString(d, "FRAME_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001681 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001682 Py_DECREF(x);
1683#endif
1684#ifdef CL_FRAME_TYPE
1685 x = PyInt_FromLong(CL_FRAME_TYPE);
1686 if (x == NULL || PyDict_SetItemString(d, "FRAME_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001687 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001688 Py_DECREF(x);
1689#endif
1690#ifdef CL_G711_ALAW
1691 x = PyInt_FromLong(CL_G711_ALAW);
1692 if (x == NULL || PyDict_SetItemString(d, "G711_ALAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001693 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001694 Py_DECREF(x);
1695#endif
1696#ifdef CL_G711_ALAW_SOFTWARE
1697 x = PyInt_FromLong(CL_G711_ALAW_SOFTWARE);
1698 if (x == NULL || PyDict_SetItemString(d, "G711_ALAW_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001699 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001700 Py_DECREF(x);
1701#endif
1702#ifdef CL_G711_ULAW
1703 x = PyInt_FromLong(CL_G711_ULAW);
1704 if (x == NULL || PyDict_SetItemString(d, "G711_ULAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001705 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001706 Py_DECREF(x);
1707#endif
1708#ifdef CL_G711_ULAW_SOFTWARE
1709 x = PyInt_FromLong(CL_G711_ULAW_SOFTWARE);
1710 if (x == NULL || PyDict_SetItemString(d, "G711_ULAW_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001711 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001712 Py_DECREF(x);
1713#endif
1714#ifdef CL_GRAYSCALE
1715 x = PyInt_FromLong(CL_GRAYSCALE);
1716 if (x == NULL || PyDict_SetItemString(d, "GRAYSCALE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001717 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001718 Py_DECREF(x);
1719#endif
1720#ifdef CL_HDCC
1721 x = PyInt_FromLong(CL_HDCC);
1722 if (x == NULL || PyDict_SetItemString(d, "HDCC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001723 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001724 Py_DECREF(x);
1725#endif
1726#ifdef CL_HDCC_SAMPLES_PER_TILE
1727 x = PyInt_FromLong(CL_HDCC_SAMPLES_PER_TILE);
1728 if (x == NULL || PyDict_SetItemString(d, "HDCC_SAMPLES_PER_TILE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001729 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001730 Py_DECREF(x);
1731#endif
1732#ifdef CL_HDCC_SOFTWARE
1733 x = PyInt_FromLong(CL_HDCC_SOFTWARE);
1734 if (x == NULL || PyDict_SetItemString(d, "HDCC_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001735 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001736 Py_DECREF(x);
1737#endif
1738#ifdef CL_HDCC_TILE_THRESHOLD
1739 x = PyInt_FromLong(CL_HDCC_TILE_THRESHOLD);
1740 if (x == NULL || PyDict_SetItemString(d, "HDCC_TILE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001741 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001742 Py_DECREF(x);
1743#endif
1744#ifdef CL_HEADER_START_CODE
1745 x = PyInt_FromLong(CL_HEADER_START_CODE);
1746 if (x == NULL || PyDict_SetItemString(d, "HEADER_START_CODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001747 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001748 Py_DECREF(x);
1749#endif
1750#ifdef CL_IMAGEINFO_FIELDMASK
1751 x = PyInt_FromLong(CL_IMAGEINFO_FIELDMASK);
1752 if (x == NULL || PyDict_SetItemString(d, "IMAGEINFO_FIELDMASK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001753 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001754 Py_DECREF(x);
1755#endif
1756#ifdef CL_IMAGE_CROP_BOTTOM
1757 x = PyInt_FromLong(CL_IMAGE_CROP_BOTTOM);
1758 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_BOTTOM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001759 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001760 Py_DECREF(x);
1761#endif
1762#ifdef CL_IMAGE_CROP_LEFT
1763 x = PyInt_FromLong(CL_IMAGE_CROP_LEFT);
1764 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_LEFT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001765 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001766 Py_DECREF(x);
1767#endif
1768#ifdef CL_IMAGE_CROP_RIGHT
1769 x = PyInt_FromLong(CL_IMAGE_CROP_RIGHT);
1770 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_RIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001771 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001772 Py_DECREF(x);
1773#endif
1774#ifdef CL_IMAGE_CROP_TOP
1775 x = PyInt_FromLong(CL_IMAGE_CROP_TOP);
1776 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_TOP", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001777 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001778 Py_DECREF(x);
1779#endif
1780#ifdef CL_IMAGE_HEIGHT
1781 x = PyInt_FromLong(CL_IMAGE_HEIGHT);
1782 if (x == NULL || PyDict_SetItemString(d, "IMAGE_HEIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001783 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001784 Py_DECREF(x);
1785#endif
1786#ifdef CL_IMAGE_WIDTH
1787 x = PyInt_FromLong(CL_IMAGE_WIDTH);
1788 if (x == NULL || PyDict_SetItemString(d, "IMAGE_WIDTH", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001789 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001790 Py_DECREF(x);
1791#endif
1792#ifdef CL_IMPACT_CODEC_CONTROL
1793 x = PyInt_FromLong(CL_IMPACT_CODEC_CONTROL);
1794 if (x == NULL || PyDict_SetItemString(d, "IMPACT_CODEC_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001795 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001796 Py_DECREF(x);
1797#endif
1798#ifdef CL_IMPACT_FRAME_INTERLEAVE
1799 x = PyInt_FromLong(CL_IMPACT_FRAME_INTERLEAVE);
1800 if (x == NULL || PyDict_SetItemString(d, "IMPACT_FRAME_INTERLEAVE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001801 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001802 Py_DECREF(x);
1803#endif
1804#ifdef CL_IMPACT_NUM_PARAMS
1805 x = PyInt_FromLong(CL_IMPACT_NUM_PARAMS);
1806 if (x == NULL || PyDict_SetItemString(d, "IMPACT_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001807 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001808 Py_DECREF(x);
1809#endif
1810#ifdef CL_INTERNAL_FORMAT
1811 x = PyInt_FromLong(CL_INTERNAL_FORMAT);
1812 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001813 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001814 Py_DECREF(x);
1815#endif
1816#ifdef CL_INTERNAL_IMAGE_HEIGHT
1817 x = PyInt_FromLong(CL_INTERNAL_IMAGE_HEIGHT);
1818 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_IMAGE_HEIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001819 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001820 Py_DECREF(x);
1821#endif
1822#ifdef CL_INTERNAL_IMAGE_WIDTH
1823 x = PyInt_FromLong(CL_INTERNAL_IMAGE_WIDTH);
1824 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_IMAGE_WIDTH", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001825 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001826 Py_DECREF(x);
1827#endif
1828#ifdef CL_INTRA
1829 x = PyInt_FromLong(CL_INTRA);
1830 if (x == NULL || PyDict_SetItemString(d, "INTRA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001831 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001832 Py_DECREF(x);
1833#endif
1834#ifdef CL_JPEG
1835 x = PyInt_FromLong(CL_JPEG);
1836 if (x == NULL || PyDict_SetItemString(d, "JPEG", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001837 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001838 Py_DECREF(x);
1839#endif
1840#ifdef CL_JPEG_COSMO
1841 x = PyInt_FromLong(CL_JPEG_COSMO);
1842 if (x == NULL || PyDict_SetItemString(d, "JPEG_COSMO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001843 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001844 Py_DECREF(x);
1845#endif
1846#ifdef CL_JPEG_ERROR
1847 x = PyInt_FromLong(CL_JPEG_ERROR);
1848 if (x == NULL || PyDict_SetItemString(d, "JPEG_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001849 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001850 Py_DECREF(x);
1851#endif
1852#ifdef CL_JPEG_IMPACT
1853 x = PyInt_FromLong(CL_JPEG_IMPACT);
1854 if (x == NULL || PyDict_SetItemString(d, "JPEG_IMPACT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001855 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001856 Py_DECREF(x);
1857#endif
1858#ifdef CL_JPEG_NUM_PARAMS
1859 x = PyInt_FromLong(CL_JPEG_NUM_PARAMS);
1860 if (x == NULL || PyDict_SetItemString(d, "JPEG_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001861 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001862 Py_DECREF(x);
1863#endif
1864#ifdef CL_JPEG_QUALITY_FACTOR
1865 x = PyInt_FromLong(CL_JPEG_QUALITY_FACTOR);
1866 if (x == NULL || PyDict_SetItemString(d, "JPEG_QUALITY_FACTOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001867 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001868 Py_DECREF(x);
1869#endif
1870#ifdef CL_JPEG_QUANTIZATION_TABLES
1871 x = PyInt_FromLong(CL_JPEG_QUANTIZATION_TABLES);
1872 if (x == NULL || PyDict_SetItemString(d, "JPEG_QUANTIZATION_TABLES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001873 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001874 Py_DECREF(x);
1875#endif
1876#ifdef CL_JPEG_SOFTWARE
1877 x = PyInt_FromLong(CL_JPEG_SOFTWARE);
1878 if (x == NULL || PyDict_SetItemString(d, "JPEG_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001879 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001880 Py_DECREF(x);
1881#endif
1882#ifdef CL_JPEG_STREAM_HEADERS
1883 x = PyInt_FromLong(CL_JPEG_STREAM_HEADERS);
1884 if (x == NULL || PyDict_SetItemString(d, "JPEG_STREAM_HEADERS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001885 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001886 Py_DECREF(x);
1887#endif
1888#ifdef CL_KEYFRAME
1889 x = PyInt_FromLong(CL_KEYFRAME);
1890 if (x == NULL || PyDict_SetItemString(d, "KEYFRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001891 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001892 Py_DECREF(x);
1893#endif
1894#ifdef CL_KEYFRAME_DISTANCE
1895 x = PyInt_FromLong(CL_KEYFRAME_DISTANCE);
1896 if (x == NULL || PyDict_SetItemString(d, "KEYFRAME_DISTANCE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001897 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001898 Py_DECREF(x);
1899#endif
1900#ifdef CL_LAST_FRAME_INDEX
1901 x = PyInt_FromLong(CL_LAST_FRAME_INDEX);
1902 if (x == NULL || PyDict_SetItemString(d, "LAST_FRAME_INDEX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001903 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001904 Py_DECREF(x);
1905#endif
1906#ifdef CL_LAYER
1907 x = PyInt_FromLong(CL_LAYER);
1908 if (x == NULL || PyDict_SetItemString(d, "LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001909 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001910 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001911#endif
1912#ifdef CL_LUMA_THRESHOLD
Guido van Rossum72429051997-08-12 14:58:54 +00001913 x = PyInt_FromLong(CL_LUMA_THRESHOLD);
1914 if (x == NULL || PyDict_SetItemString(d, "LUMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001915 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001916 Py_DECREF(x);
1917#endif
1918#ifdef CL_MAX_NUMBER_OF_AUDIO_ALGORITHMS
1919 x = PyInt_FromLong(CL_MAX_NUMBER_OF_AUDIO_ALGORITHMS);
1920 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_AUDIO_ALGORITHMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001921 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001922 Py_DECREF(x);
1923#endif
1924#ifdef CL_MAX_NUMBER_OF_FORMATS
1925 x = PyInt_FromLong(CL_MAX_NUMBER_OF_FORMATS);
1926 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001927 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001928 Py_DECREF(x);
1929#endif
1930#ifdef CL_MAX_NUMBER_OF_ORIGINAL_FORMATS
1931 x = PyInt_FromLong(CL_MAX_NUMBER_OF_ORIGINAL_FORMATS);
1932 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_ORIGINAL_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001933 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001934 Py_DECREF(x);
1935#endif
1936#ifdef CL_MAX_NUMBER_OF_PARAMS
1937 x = PyInt_FromLong(CL_MAX_NUMBER_OF_PARAMS);
1938 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001939 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001940 Py_DECREF(x);
1941#endif
1942#ifdef CL_MAX_NUMBER_OF_VIDEO_ALGORITHMS
1943 x = PyInt_FromLong(CL_MAX_NUMBER_OF_VIDEO_ALGORITHMS);
1944 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_VIDEO_ALGORITHMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001945 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001946 Py_DECREF(x);
1947#endif
1948#ifdef CL_MONO
1949 x = PyInt_FromLong(CL_MONO);
1950 if (x == NULL || PyDict_SetItemString(d, "MONO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001951 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001952 Py_DECREF(x);
1953#endif
1954#ifdef CL_MPEG1_AUDIO_AWARE
1955 x = PyInt_FromLong(CL_MPEG1_AUDIO_AWARE);
1956 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_AWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001957 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001958 Py_DECREF(x);
1959#endif
1960#ifdef CL_MPEG1_AUDIO_LAYER
1961 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER);
1962 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001963 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001964 Py_DECREF(x);
1965#endif
1966#ifdef CL_MPEG1_AUDIO_LAYER_I
1967 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER_I);
1968 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001969 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001970 Py_DECREF(x);
1971#endif
1972#ifdef CL_MPEG1_AUDIO_LAYER_II
1973 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER_II);
1974 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001975 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001976 Py_DECREF(x);
1977#endif
1978#ifdef CL_MPEG1_AUDIO_MODE
1979 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE);
1980 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001981 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001982 Py_DECREF(x);
1983#endif
1984#ifdef CL_MPEG1_AUDIO_MODE_DUAL
1985 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_DUAL);
1986 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_DUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001987 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001988 Py_DECREF(x);
1989#endif
1990#ifdef CL_MPEG1_AUDIO_MODE_JOINT
1991 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_JOINT);
1992 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_JOINT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001993 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001994 Py_DECREF(x);
1995#endif
1996#ifdef CL_MPEG1_AUDIO_MODE_SINGLE
1997 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_SINGLE);
1998 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_SINGLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001999 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002000 Py_DECREF(x);
2001#endif
2002#ifdef CL_MPEG1_AUDIO_MODE_STEREO
2003 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_STEREO);
2004 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002005 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002006 Py_DECREF(x);
2007#endif
2008#ifdef CL_MPEG1_AUDIO_SOFTWARE
2009 x = PyInt_FromLong(CL_MPEG1_AUDIO_SOFTWARE);
2010 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002011 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002012 Py_DECREF(x);
2013#endif
2014#ifdef CL_MPEG1_END_OF_STREAM
2015 x = PyInt_FromLong(CL_MPEG1_END_OF_STREAM);
2016 if (x == NULL || PyDict_SetItemString(d, "MPEG1_END_OF_STREAM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002017 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002018 Py_DECREF(x);
2019#endif
2020#ifdef CL_MPEG1_ERROR
2021 x = PyInt_FromLong(CL_MPEG1_ERROR);
2022 if (x == NULL || PyDict_SetItemString(d, "MPEG1_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002023 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002024 Py_DECREF(x);
2025#endif
2026#ifdef CL_MPEG1_NUM_PARAMS
2027 x = PyInt_FromLong(CL_MPEG1_NUM_PARAMS);
2028 if (x == NULL || PyDict_SetItemString(d, "MPEG1_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002029 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002030 Py_DECREF(x);
2031#endif
2032#ifdef CL_MPEG1_VIDEO_M
2033 x = PyInt_FromLong(CL_MPEG1_VIDEO_M);
2034 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_M", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002035 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002036 Py_DECREF(x);
2037#endif
2038#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X
2039 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X);
2040 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002041 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002042 Py_DECREF(x);
2043#endif
2044#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y
2045 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y);
2046 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002047 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002048 Py_DECREF(x);
2049#endif
2050#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X
2051 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X);
2052 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002053 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002054 Py_DECREF(x);
2055#endif
2056#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y
2057 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y);
2058 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002059 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002060 Py_DECREF(x);
2061#endif
2062#ifdef CL_MPEG1_VIDEO_N
2063 x = PyInt_FromLong(CL_MPEG1_VIDEO_N);
2064 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_N", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002065 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002066 Py_DECREF(x);
2067#endif
2068#ifdef CL_MPEG1_VIDEO_SOFTNESS
2069 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS);
2070 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002071 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002072 Py_DECREF(x);
2073#endif
2074#ifdef CL_MPEG1_VIDEO_SOFTNESS_MAXIMUM
2075 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_MAXIMUM);
2076 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_MAXIMUM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002077 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002078 Py_DECREF(x);
2079#endif
2080#ifdef CL_MPEG1_VIDEO_SOFTNESS_MEDIUM
2081 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_MEDIUM);
2082 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_MEDIUM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002083 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002084 Py_DECREF(x);
2085#endif
2086#ifdef CL_MPEG1_VIDEO_SOFTNESS_NONE
2087 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_NONE);
2088 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_NONE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002089 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002090 Py_DECREF(x);
2091#endif
2092#ifdef CL_MPEG1_VIDEO_SOFTWARE
2093 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTWARE);
2094 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002095 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002096 Py_DECREF(x);
2097#endif
2098#ifdef CL_MPEG_VIDEO
2099 x = PyInt_FromLong(CL_MPEG_VIDEO);
2100 if (x == NULL || PyDict_SetItemString(d, "MPEG_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002101 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002102 Py_DECREF(x);
2103#endif
2104#ifdef CL_MULTIRATE_AWARE
2105 x = PyInt_FromLong(CL_MULTIRATE_AWARE);
2106 if (x == NULL || PyDict_SetItemString(d, "MULTIRATE_AWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002107 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002108 Py_DECREF(x);
2109#endif
2110#ifdef CL_MVC1
2111 x = PyInt_FromLong(CL_MVC1);
2112 if (x == NULL || PyDict_SetItemString(d, "MVC1", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002113 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002114 Py_DECREF(x);
2115#endif
2116#ifdef CL_MVC1_SOFTWARE
2117 x = PyInt_FromLong(CL_MVC1_SOFTWARE);
2118 if (x == NULL || PyDict_SetItemString(d, "MVC1_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002119 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002120 Py_DECREF(x);
2121#endif
2122#ifdef CL_MVC2
2123 x = PyInt_FromLong(CL_MVC2);
2124 if (x == NULL || PyDict_SetItemString(d, "MVC2", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002125 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002126 Py_DECREF(x);
2127#endif
2128#ifdef CL_MVC2_BLENDING
2129 x = PyInt_FromLong(CL_MVC2_BLENDING);
2130 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002131 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002132 Py_DECREF(x);
2133#endif
2134#ifdef CL_MVC2_BLENDING_OFF
2135 x = PyInt_FromLong(CL_MVC2_BLENDING_OFF);
2136 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING_OFF", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002137 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002138 Py_DECREF(x);
2139#endif
2140#ifdef CL_MVC2_BLENDING_ON
2141 x = PyInt_FromLong(CL_MVC2_BLENDING_ON);
2142 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING_ON", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002143 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002144 Py_DECREF(x);
2145#endif
2146#ifdef CL_MVC2_CHROMA_THRESHOLD
2147 x = PyInt_FromLong(CL_MVC2_CHROMA_THRESHOLD);
2148 if (x == NULL || PyDict_SetItemString(d, "MVC2_CHROMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002149 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002150 Py_DECREF(x);
2151#endif
2152#ifdef CL_MVC2_EDGE_THRESHOLD
2153 x = PyInt_FromLong(CL_MVC2_EDGE_THRESHOLD);
2154 if (x == NULL || PyDict_SetItemString(d, "MVC2_EDGE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002155 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002156 Py_DECREF(x);
2157#endif
2158#ifdef CL_MVC2_ERROR
2159 x = PyInt_FromLong(CL_MVC2_ERROR);
2160 if (x == NULL || PyDict_SetItemString(d, "MVC2_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002161 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002162 Py_DECREF(x);
2163#endif
2164#ifdef CL_MVC2_LUMA_THRESHOLD
2165 x = PyInt_FromLong(CL_MVC2_LUMA_THRESHOLD);
2166 if (x == NULL || PyDict_SetItemString(d, "MVC2_LUMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002167 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002168 Py_DECREF(x);
2169#endif
2170#ifdef CL_MVC2_SOFTWARE
2171 x = PyInt_FromLong(CL_MVC2_SOFTWARE);
2172 if (x == NULL || PyDict_SetItemString(d, "MVC2_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002173 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002174 Py_DECREF(x);
2175#endif
2176#ifdef CL_MVC3_QUALITY_LEVEL
2177 x = PyInt_FromLong(CL_MVC3_QUALITY_LEVEL);
2178 if (x == NULL || PyDict_SetItemString(d, "MVC3_QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002179 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002180 Py_DECREF(x);
2181#endif
2182#ifdef CL_MVC3_SOFTWARE
2183 x = PyInt_FromLong(CL_MVC3_SOFTWARE);
2184 if (x == NULL || PyDict_SetItemString(d, "MVC3_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002185 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002186 Py_DECREF(x);
2187#endif
2188#ifdef CL_NEXT_NOT_AVAILABLE
2189 x = PyInt_FromLong(CL_NEXT_NOT_AVAILABLE);
2190 if (x == NULL || PyDict_SetItemString(d, "NEXT_NOT_AVAILABLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002191 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002192 Py_DECREF(x);
2193#endif
2194#ifdef CL_NOISE_MARGIN
2195 x = PyInt_FromLong(CL_NOISE_MARGIN);
2196 if (x == NULL || PyDict_SetItemString(d, "NOISE_MARGIN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002197 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002198 Py_DECREF(x);
2199#endif
2200#ifdef CL_NONE
2201 x = PyInt_FromLong(CL_NONE);
2202 if (x == NULL || PyDict_SetItemString(d, "NONE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002203 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002204 Py_DECREF(x);
2205#endif
2206#ifdef CL_NUMBER_OF_FORMATS
2207 x = PyInt_FromLong(CL_NUMBER_OF_FORMATS);
2208 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002209 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002210 Py_DECREF(x);
2211#endif
2212#ifdef CL_NUMBER_OF_FRAMES
2213 x = PyInt_FromLong(CL_NUMBER_OF_FRAMES);
2214 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_FRAMES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002215 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002216 Py_DECREF(x);
2217#endif
2218#ifdef CL_NUMBER_OF_PARAMS
2219 x = PyInt_FromLong(CL_NUMBER_OF_PARAMS);
2220 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002221 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002222 Py_DECREF(x);
2223#endif
2224#ifdef CL_NUMBER_OF_PARAMS_FREEZE
2225 x = PyInt_FromLong(CL_NUMBER_OF_PARAMS_FREEZE);
2226 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_PARAMS_FREEZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002227 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002228 Py_DECREF(x);
2229#endif
2230#ifdef CL_NUMBER_OF_VIDEO_FORMATS
2231 x = PyInt_FromLong(CL_NUMBER_OF_VIDEO_FORMATS);
2232 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_VIDEO_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002233 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002234 Py_DECREF(x);
2235#endif
2236#ifdef CL_ORIENTATION
2237 x = PyInt_FromLong(CL_ORIENTATION);
2238 if (x == NULL || PyDict_SetItemString(d, "ORIENTATION", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002239 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002240 Py_DECREF(x);
2241#endif
2242#ifdef CL_ORIGINAL_FORMAT
2243 x = PyInt_FromLong(CL_ORIGINAL_FORMAT);
2244 if (x == NULL || PyDict_SetItemString(d, "ORIGINAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002245 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002246 Py_DECREF(x);
2247#endif
2248#ifdef CL_PARAM_OUT_OF_RANGE
2249 x = PyInt_FromLong(CL_PARAM_OUT_OF_RANGE);
2250 if (x == NULL || PyDict_SetItemString(d, "PARAM_OUT_OF_RANGE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002251 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002252 Py_DECREF(x);
2253#endif
2254#ifdef CL_PIXEL_ASPECT
2255 x = PyInt_FromLong(CL_PIXEL_ASPECT);
2256 if (x == NULL || PyDict_SetItemString(d, "PIXEL_ASPECT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002257 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002258 Py_DECREF(x);
2259#endif
2260#ifdef CL_PREDICTED
2261 x = PyInt_FromLong(CL_PREDICTED);
2262 if (x == NULL || PyDict_SetItemString(d, "PREDICTED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002263 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002264 Py_DECREF(x);
2265#endif
2266#ifdef CL_PREROLL
2267 x = PyInt_FromLong(CL_PREROLL);
2268 if (x == NULL || PyDict_SetItemString(d, "PREROLL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002269 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002270 Py_DECREF(x);
2271#endif
2272#ifdef CL_QUALITY_FACTOR
2273 x = PyInt_FromLong(CL_QUALITY_FACTOR);
2274 if (x == NULL || PyDict_SetItemString(d, "QUALITY_FACTOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002275 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002276 Py_DECREF(x);
2277#endif
2278#ifdef CL_QUALITY_LEVEL
2279 x = PyInt_FromLong(CL_QUALITY_LEVEL);
2280 if (x == NULL || PyDict_SetItemString(d, "QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002281 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002282 Py_DECREF(x);
2283#endif
2284#ifdef CL_QUALITY_SPATIAL
2285 x = PyInt_FromLong(CL_QUALITY_SPATIAL);
2286 if (x == NULL || PyDict_SetItemString(d, "QUALITY_SPATIAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002287 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002288 Py_DECREF(x);
2289#endif
2290#ifdef CL_QUALITY_TEMPORAL
2291 x = PyInt_FromLong(CL_QUALITY_TEMPORAL);
2292 if (x == NULL || PyDict_SetItemString(d, "QUALITY_TEMPORAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002293 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002294 Py_DECREF(x);
2295#endif
2296#ifdef CL_QUANTIZATION_TABLES
2297 x = PyInt_FromLong(CL_QUANTIZATION_TABLES);
2298 if (x == NULL || PyDict_SetItemString(d, "QUANTIZATION_TABLES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002299 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002300 Py_DECREF(x);
2301#endif
2302#ifdef CL_RANGE_VALUE
2303 x = PyInt_FromLong(CL_RANGE_VALUE);
2304 if (x == NULL || PyDict_SetItemString(d, "RANGE_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002305 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002306 Py_DECREF(x);
2307#endif
2308#ifdef CL_RGB
2309 x = PyInt_FromLong(CL_RGB);
2310 if (x == NULL || PyDict_SetItemString(d, "RGB", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002311 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002312 Py_DECREF(x);
2313#endif
2314#ifdef CL_RGB332
2315 x = PyInt_FromLong(CL_RGB332);
2316 if (x == NULL || PyDict_SetItemString(d, "RGB332", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002317 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002318 Py_DECREF(x);
2319#endif
2320#ifdef CL_RGB8
2321 x = PyInt_FromLong(CL_RGB8);
2322 if (x == NULL || PyDict_SetItemString(d, "RGB8", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002323 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002324 Py_DECREF(x);
2325#endif
2326#ifdef CL_RGBA
2327 x = PyInt_FromLong(CL_RGBA);
2328 if (x == NULL || PyDict_SetItemString(d, "RGBA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002329 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002330 Py_DECREF(x);
2331#endif
2332#ifdef CL_RGBX
2333 x = PyInt_FromLong(CL_RGBX);
2334 if (x == NULL || PyDict_SetItemString(d, "RGBX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002335 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002336 Py_DECREF(x);
2337#endif
2338#ifdef CL_RLE
2339 x = PyInt_FromLong(CL_RLE);
2340 if (x == NULL || PyDict_SetItemString(d, "RLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002341 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002342 Py_DECREF(x);
2343#endif
2344#ifdef CL_RLE24
2345 x = PyInt_FromLong(CL_RLE24);
2346 if (x == NULL || PyDict_SetItemString(d, "RLE24", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002347 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002348 Py_DECREF(x);
2349#endif
2350#ifdef CL_RLE24_SOFTWARE
2351 x = PyInt_FromLong(CL_RLE24_SOFTWARE);
2352 if (x == NULL || PyDict_SetItemString(d, "RLE24_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002353 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002354 Py_DECREF(x);
2355#endif
2356#ifdef CL_RLE_SOFTWARE
2357 x = PyInt_FromLong(CL_RLE_SOFTWARE);
2358 if (x == NULL || PyDict_SetItemString(d, "RLE_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002359 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002360 Py_DECREF(x);
2361#endif
2362#ifdef CL_RTR
2363 x = PyInt_FromLong(CL_RTR);
2364 if (x == NULL || PyDict_SetItemString(d, "RTR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002365 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002366 Py_DECREF(x);
2367#endif
2368#ifdef CL_RTR1
2369 x = PyInt_FromLong(CL_RTR1);
2370 if (x == NULL || PyDict_SetItemString(d, "RTR1", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002371 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002372 Py_DECREF(x);
2373#endif
2374#ifdef CL_RTR_QUALITY_LEVEL
2375 x = PyInt_FromLong(CL_RTR_QUALITY_LEVEL);
2376 if (x == NULL || PyDict_SetItemString(d, "RTR_QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002377 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002378 Py_DECREF(x);
2379#endif
2380#ifdef CL_SAMPLES_PER_TILE
2381 x = PyInt_FromLong(CL_SAMPLES_PER_TILE);
2382 if (x == NULL || PyDict_SetItemString(d, "SAMPLES_PER_TILE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002383 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002384 Py_DECREF(x);
2385#endif
2386#ifdef CL_SCHEME_BUSY
2387 x = PyInt_FromLong(CL_SCHEME_BUSY);
2388 if (x == NULL || PyDict_SetItemString(d, "SCHEME_BUSY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002389 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002390 Py_DECREF(x);
2391#endif
2392#ifdef CL_SCHEME_NOT_AVAILABLE
2393 x = PyInt_FromLong(CL_SCHEME_NOT_AVAILABLE);
2394 if (x == NULL || PyDict_SetItemString(d, "SCHEME_NOT_AVAILABLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002395 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002396 Py_DECREF(x);
2397#endif
2398#ifdef CL_SPEED
2399 x = PyInt_FromLong(CL_SPEED);
2400 if (x == NULL || PyDict_SetItemString(d, "SPEED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002401 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002402 Py_DECREF(x);
2403#endif
2404#ifdef CL_STEREO_INTERLEAVED
2405 x = PyInt_FromLong(CL_STEREO_INTERLEAVED);
2406 if (x == NULL || PyDict_SetItemString(d, "STEREO_INTERLEAVED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002407 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002408 Py_DECREF(x);
2409#endif
2410#ifdef CL_STREAM_HEADERS
2411 x = PyInt_FromLong(CL_STREAM_HEADERS);
2412 if (x == NULL || PyDict_SetItemString(d, "STREAM_HEADERS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002413 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002414 Py_DECREF(x);
2415#endif
2416#ifdef CL_TILE_THRESHOLD
2417 x = PyInt_FromLong(CL_TILE_THRESHOLD);
2418 if (x == NULL || PyDict_SetItemString(d, "TILE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002419 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002420 Py_DECREF(x);
2421#endif
2422#ifdef CL_TOP_DOWN
2423 x = PyInt_FromLong(CL_TOP_DOWN);
2424 if (x == NULL || PyDict_SetItemString(d, "TOP_DOWN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002425 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002426 Py_DECREF(x);
2427#endif
2428#ifdef CL_ULAW
2429 x = PyInt_FromLong(CL_ULAW);
2430 if (x == NULL || PyDict_SetItemString(d, "ULAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002431 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002432 Py_DECREF(x);
2433#endif
2434#ifdef CL_UNCOMPRESSED
2435 x = PyInt_FromLong(CL_UNCOMPRESSED);
2436 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002437 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002438 Py_DECREF(x);
2439#endif
2440#ifdef CL_UNCOMPRESSED_AUDIO
2441 x = PyInt_FromLong(CL_UNCOMPRESSED_AUDIO);
2442 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002443 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002444 Py_DECREF(x);
2445#endif
2446#ifdef CL_UNCOMPRESSED_VIDEO
2447 x = PyInt_FromLong(CL_UNCOMPRESSED_VIDEO);
2448 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002449 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002450 Py_DECREF(x);
2451#endif
2452#ifdef CL_UNKNOWN_SCHEME
2453 x = PyInt_FromLong(CL_UNKNOWN_SCHEME);
2454 if (x == NULL || PyDict_SetItemString(d, "UNKNOWN_SCHEME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002455 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002456 Py_DECREF(x);
2457#endif
2458#ifdef CL_VIDEO
2459 x = PyInt_FromLong(CL_VIDEO);
2460 if (x == NULL || PyDict_SetItemString(d, "VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002461 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002462 Py_DECREF(x);
2463#endif
2464#ifdef CL_Y
2465 x = PyInt_FromLong(CL_Y);
2466 if (x == NULL || PyDict_SetItemString(d, "Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002467 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002468 Py_DECREF(x);
2469#endif
2470#ifdef CL_YCbCr
2471 x = PyInt_FromLong(CL_YCbCr);
2472 if (x == NULL || PyDict_SetItemString(d, "YCbCr", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002473 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002474 Py_DECREF(x);
2475#endif
2476#ifdef CL_YCbCr422
2477 x = PyInt_FromLong(CL_YCbCr422);
2478 if (x == NULL || PyDict_SetItemString(d, "YCbCr422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002479 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002480 Py_DECREF(x);
2481#endif
2482#ifdef CL_YCbCr422DC
2483 x = PyInt_FromLong(CL_YCbCr422DC);
2484 if (x == NULL || PyDict_SetItemString(d, "YCbCr422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002485 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002486 Py_DECREF(x);
2487#endif
2488#ifdef CL_YCbCr422HC
2489 x = PyInt_FromLong(CL_YCbCr422HC);
2490 if (x == NULL || PyDict_SetItemString(d, "YCbCr422HC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002491 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002492 Py_DECREF(x);
2493#endif
2494#ifdef CL_YUV
2495 x = PyInt_FromLong(CL_YUV);
2496 if (x == NULL || PyDict_SetItemString(d, "YUV", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002497 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002498 Py_DECREF(x);
2499#endif
2500#ifdef CL_YUV422
2501 x = PyInt_FromLong(CL_YUV422);
2502 if (x == NULL || PyDict_SetItemString(d, "YUV422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002503 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002504 Py_DECREF(x);
2505#endif
2506#ifdef CL_YUV422DC
2507 x = PyInt_FromLong(CL_YUV422DC);
2508 if (x == NULL || PyDict_SetItemString(d, "YUV422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002509 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002510 Py_DECREF(x);
2511#endif
2512#ifdef CL_YUV422HC
2513 x = PyInt_FromLong(CL_YUV422HC);
2514 if (x == NULL || PyDict_SetItemString(d, "YUV422HC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002515 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002516 Py_DECREF(x);
2517#endif
2518#ifdef AWCMP_STEREO
2519 x = PyInt_FromLong(AWCMP_STEREO);
2520 if (x == NULL || PyDict_SetItemString(d, "AWCMP_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002521 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002522 Py_DECREF(x);
2523#endif
2524#ifdef AWCMP_JOINT_STEREO
2525 x = PyInt_FromLong(AWCMP_JOINT_STEREO);
2526 if (x == NULL || PyDict_SetItemString(d, "AWCMP_JOINT_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002527 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002528 Py_DECREF(x);
2529#endif
2530#ifdef AWCMP_INDEPENDENT
2531 x = PyInt_FromLong(AWCMP_INDEPENDENT);
2532 if (x == NULL || PyDict_SetItemString(d, "AWCMP_INDEPENDENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002533 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002534 Py_DECREF(x);
2535#endif
2536#ifdef AWCMP_FIXED_RATE
2537 x = PyInt_FromLong(AWCMP_FIXED_RATE);
2538 if (x == NULL || PyDict_SetItemString(d, "AWCMP_FIXED_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002539 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002540 Py_DECREF(x);
2541#endif
2542#ifdef AWCMP_CONST_QUAL
2543 x = PyInt_FromLong(AWCMP_CONST_QUAL);
2544 if (x == NULL || PyDict_SetItemString(d, "AWCMP_CONST_QUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002545 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002546 Py_DECREF(x);
2547#endif
2548#ifdef AWCMP_LOSSLESS
2549 x = PyInt_FromLong(AWCMP_LOSSLESS);
2550 if (x == NULL || PyDict_SetItemString(d, "AWCMP_LOSSLESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002551 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002552 Py_DECREF(x);
2553#endif
2554#ifdef AWCMP_MPEG_LAYER_I
2555 x = PyInt_FromLong(AWCMP_MPEG_LAYER_I);
2556 if (x == NULL || PyDict_SetItemString(d, "AWCMP_MPEG_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002557 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002558 Py_DECREF(x);
2559#endif
2560#ifdef AWCMP_MPEG_LAYER_II
2561 x = PyInt_FromLong(AWCMP_MPEG_LAYER_II);
2562 if (x == NULL || PyDict_SetItemString(d, "AWCMP_MPEG_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002563 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002564 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00002565#endif
2566
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +00002567 (void) clSetErrorHandler(cl_ErrorHandler);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +00002568}