blob: ef3d77a503033bfccdc9011c5c41998eded611a1 [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
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000107 if (!PyArg_ParseTuple(args, "iiiifs#", &compressionScheme,
Roger E. Massee474fb31997-01-17 16:00:02 +0000108 &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
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000152 if (!PyArg_ParseTuple(args, "iiiis#", &compressionScheme, &width, &height,
Roger E. Massee474fb31997-01-17 16:00:02 +0000153 &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 *
Neal Norwitz50905b52002-03-31 14:57:24 +0000186doClose(clobject *self, int (*close_func)(CL_Handle))
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000187{
188 CheckCompressor(self);
189
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000190 error_handler_called = 0;
Guido van Rossum72429051997-08-12 14:58:54 +0000191 if ((*close_func)(self->ob_compressorHdl) == FAILURE ||
192 error_handler_called) {
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000193 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000194 PyErr_SetString(ClError, "close failed");
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000195 return NULL;
196 }
197
198 self->ob_compressorHdl = NULL;
199
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000200 if (self->ob_paramtypes)
Roger E. Massee474fb31997-01-17 16:00:02 +0000201 PyMem_DEL(self->ob_paramtypes);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000202 self->ob_paramtypes = NULL;
203
Roger E. Massee474fb31997-01-17 16:00:02 +0000204 Py_INCREF(Py_None);
205 return Py_None;
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000206}
207
Roger E. Massee474fb31997-01-17 16:00:02 +0000208static PyObject *
Neal Norwitz50905b52002-03-31 14:57:24 +0000209clm_CloseCompressor(PyObject *self)
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000210{
Neal Norwitz50905b52002-03-31 14:57:24 +0000211 return doClose(SELF, clCloseCompressor);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000212}
213
Roger E. Massee474fb31997-01-17 16:00:02 +0000214static PyObject *
Neal Norwitz50905b52002-03-31 14:57:24 +0000215clm_CloseDecompressor(PyObject *self)
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000216{
Neal Norwitz50905b52002-03-31 14:57:24 +0000217 return doClose(SELF, clCloseDecompressor);
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000218}
219
Roger E. Massee474fb31997-01-17 16:00:02 +0000220static PyObject *
221clm_Compress(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000222{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000223 int numberOfFrames;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000224 int frameBufferSize, compressedBufferSize, size;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000225 char *frameBuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000226 PyObject *data;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000227
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000228 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000229
Roger E. Massee474fb31997-01-17 16:00:02 +0000230 if (!PyArg_Parse(args, "(is#)", &numberOfFrames,
231 &frameBuffer, &frameBufferSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000232 return NULL;
233
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000234 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000235 size = clGetParam(SELF->ob_compressorHdl, CL_COMPRESSED_BUFFER_SIZE);
236 compressedBufferSize = size;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000237 if (error_handler_called)
238 return NULL;
239
Roger E. Massee474fb31997-01-17 16:00:02 +0000240 data = PyString_FromStringAndSize(NULL, size);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000241 if (data == NULL)
242 return NULL;
243
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000244 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000245 if (clCompress(SELF->ob_compressorHdl, numberOfFrames,
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000246 (void *) frameBuffer, &compressedBufferSize,
Guido van Rossum72429051997-08-12 14:58:54 +0000247 (void *) PyString_AsString(data)) == FAILURE ||
248 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000249 Py_DECREF(data);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000250 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000251 PyErr_SetString(ClError, "compress failed");
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000252 return NULL;
253 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000254
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000255 if (compressedBufferSize < size)
Roger E. Massee474fb31997-01-17 16:00:02 +0000256 if (_PyString_Resize(&data, compressedBufferSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000257 return NULL;
258
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000259 if (compressedBufferSize > size) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000260 /* we didn't get all "compressed" data */
Roger E. Massee474fb31997-01-17 16:00:02 +0000261 Py_DECREF(data);
262 PyErr_SetString(ClError,
263 "compressed data is more than fitted");
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000264 return NULL;
265 }
266
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000267 return data;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000268}
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000269
Roger E. Massee474fb31997-01-17 16:00:02 +0000270static PyObject *
271clm_Decompress(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000272{
Roger E. Massee474fb31997-01-17 16:00:02 +0000273 PyObject *data;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000274 int numberOfFrames;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000275 char *compressedData;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000276 int compressedDataSize, dataSize;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000277
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000278 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000279
Roger E. Massee474fb31997-01-17 16:00:02 +0000280 if (!PyArg_Parse(args, "(is#)", &numberOfFrames, &compressedData,
281 &compressedDataSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000282 return NULL;
283
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000284 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000285 dataSize = clGetParam(SELF->ob_compressorHdl, CL_FRAME_BUFFER_SIZE);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000286 if (error_handler_called)
287 return NULL;
288
Roger E. Massee474fb31997-01-17 16:00:02 +0000289 data = PyString_FromStringAndSize(NULL, dataSize);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000290 if (data == NULL)
291 return NULL;
292
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000293 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000294 if (clDecompress(SELF->ob_compressorHdl, numberOfFrames,
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000295 compressedDataSize, (void *) compressedData,
Guido van Rossum72429051997-08-12 14:58:54 +0000296 (void *) PyString_AsString(data)) == FAILURE ||
297 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000298 Py_DECREF(data);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000299 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000300 PyErr_SetString(ClError, "decompress failed");
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000301 return NULL;
302 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000303
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000304 return data;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000305}
306
Roger E. Massee474fb31997-01-17 16:00:02 +0000307static PyObject *
308doParams(clobject *self, PyObject *args, int (*func)(CL_Handle, int *, int),
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000309 int modified)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000310{
Roger E. Massee474fb31997-01-17 16:00:02 +0000311 PyObject *list, *v;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000312 int *PVbuffer;
313 int length;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000314 int i;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000315 float number;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000316
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000317 CheckCompressor(self);
318
Roger E. Massee474fb31997-01-17 16:00:02 +0000319 if (!PyArg_Parse(args, "O", &list))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000320 return NULL;
Roger E. Massee474fb31997-01-17 16:00:02 +0000321 if (!PyList_Check(list)) {
322 PyErr_BadArgument();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000323 return NULL;
324 }
Roger E. Massee474fb31997-01-17 16:00:02 +0000325 length = PyList_Size(list);
326 PVbuffer = PyMem_NEW(int, length);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000327 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000328 return PyErr_NoMemory();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000329 for (i = 0; i < length; i++) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000330 v = PyList_GetItem(list, i);
331 if (PyFloat_Check(v)) {
332 number = PyFloat_AsDouble(v);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000333 PVbuffer[i] = CL_TypeIsInt(number);
Roger E. Massee474fb31997-01-17 16:00:02 +0000334 } else if (PyInt_Check(v)) {
335 PVbuffer[i] = PyInt_AsLong(v);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000336 if ((i & 1) &&
337 param_type_is_float(self, PVbuffer[i-1]) > 0) {
338 number = PVbuffer[i];
339 PVbuffer[i] = CL_TypeIsInt(number);
340 }
341 } else {
Roger E. Massee474fb31997-01-17 16:00:02 +0000342 PyMem_DEL(PVbuffer);
343 PyErr_BadArgument();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000344 return NULL;
345 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000346 }
347
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000348 error_handler_called = 0;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000349 (*func)(self->ob_compressorHdl, PVbuffer, length);
Sjoerd Mullenderf64992e1993-08-03 15:11:36 +0000350 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000351 PyMem_DEL(PVbuffer);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000352 return NULL;
Sjoerd Mullenderf64992e1993-08-03 15:11:36 +0000353 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000354
355 if (modified) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000356 for (i = 0; i < length; i++) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000357 if ((i & 1) &&
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000358 param_type_is_float(self, PVbuffer[i-1]) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000359 number = CL_TypeIsFloat(PVbuffer[i]);
Roger E. Massee474fb31997-01-17 16:00:02 +0000360 v = PyFloat_FromDouble(number);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000361 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000362 v = PyInt_FromLong(PVbuffer[i]);
363 PyList_SetItem(list, i, v);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000364 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000365 }
366
Roger E. Massee474fb31997-01-17 16:00:02 +0000367 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000368
Roger E. Massee474fb31997-01-17 16:00:02 +0000369 Py_INCREF(Py_None);
370 return Py_None;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000371}
372
Roger E. Massee474fb31997-01-17 16:00:02 +0000373static PyObject *
374clm_GetParams(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000375{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000376 return doParams(SELF, args, clGetParams, 1);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000377}
378
Roger E. Massee474fb31997-01-17 16:00:02 +0000379static PyObject *
380clm_SetParams(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000381{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000382 return doParams(SELF, args, clSetParams, 0);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000383}
384
Roger E. Massee474fb31997-01-17 16:00:02 +0000385static PyObject *
386do_get(clobject *self, PyObject *args, int (*func)(CL_Handle, int))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000387{
388 int paramID, value;
389 float fvalue;
390
391 CheckCompressor(self);
392
Roger E. Massee474fb31997-01-17 16:00:02 +0000393 if (!PyArg_Parse(args, "i", &paramID))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000394 return NULL;
395
396 error_handler_called = 0;
397 value = (*func)(self->ob_compressorHdl, paramID);
398 if (error_handler_called)
399 return NULL;
400
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000401 if (param_type_is_float(self, paramID) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000402 fvalue = CL_TypeIsFloat(value);
Roger E. Massee474fb31997-01-17 16:00:02 +0000403 return PyFloat_FromDouble(fvalue);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000404 }
405
Roger E. Massee474fb31997-01-17 16:00:02 +0000406 return PyInt_FromLong(value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000407}
408
Roger E. Massee474fb31997-01-17 16:00:02 +0000409static PyObject *
410clm_GetParam(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000411{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000412 return do_get(SELF, args, clGetParam);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000413}
414
Roger E. Massee474fb31997-01-17 16:00:02 +0000415static PyObject *
416clm_GetDefault(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000417{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000418 return do_get(SELF, args, clGetDefault);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000419}
420
Roger E. Massee474fb31997-01-17 16:00:02 +0000421static PyObject *
422clm_SetParam(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000423{
424 int paramID, value;
425 float fvalue;
426
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000427 CheckCompressor(SELF);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000428
Roger E. Massee474fb31997-01-17 16:00:02 +0000429 if (!PyArg_Parse(args, "(ii)", &paramID, &value)) {
430 PyErr_Clear();
431 if (!PyArg_Parse(args, "(if)", &paramID, &fvalue)) {
432 PyErr_Clear();
433 PyErr_SetString(PyExc_TypeError,
434 "bad argument list (format '(ii)' or '(if)')");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000435 return NULL;
436 }
437 value = CL_TypeIsInt(fvalue);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000438 } else {
439 if (param_type_is_float(SELF, paramID) > 0) {
440 fvalue = value;
441 value = CL_TypeIsInt(fvalue);
442 }
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000443 }
444
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000445 error_handler_called = 0;
446 value = clSetParam(SELF->ob_compressorHdl, paramID, value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000447 if (error_handler_called)
448 return NULL;
449
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000450 if (param_type_is_float(SELF, paramID) > 0)
Roger E. Massee474fb31997-01-17 16:00:02 +0000451 return PyFloat_FromDouble(CL_TypeIsFloat(value));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000452 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000453 return PyInt_FromLong(value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000454}
455
Roger E. Massee474fb31997-01-17 16:00:02 +0000456static PyObject *
457clm_GetParamID(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000458{
459 char *name;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000460 int value;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000461
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000462 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000463
Roger E. Massee474fb31997-01-17 16:00:02 +0000464 if (!PyArg_Parse(args, "s", &name))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000465 return NULL;
466
467 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000468 value = clGetParamID(SELF->ob_compressorHdl, name);
Guido van Rossum72429051997-08-12 14:58:54 +0000469 if (value == FAILURE || error_handler_called) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000470 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000471 PyErr_SetString(ClError, "getparamid failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000472 return NULL;
473 }
474
Roger E. Massee474fb31997-01-17 16:00:02 +0000475 return PyInt_FromLong(value);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000476}
477
Roger E. Massee474fb31997-01-17 16:00:02 +0000478static PyObject *
Neal Norwitz50905b52002-03-31 14:57:24 +0000479clm_QueryParams(PyObject *self)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000480{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000481 int bufferlength;
482 int *PVbuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000483 PyObject *list;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000484 int i;
485
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000486 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000487
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000488 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000489 bufferlength = clQueryParams(SELF->ob_compressorHdl, 0, 0);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000490 if (error_handler_called)
491 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000492
Roger E. Massee474fb31997-01-17 16:00:02 +0000493 PVbuffer = PyMem_NEW(int, bufferlength);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000494 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000495 return PyErr_NoMemory();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000496
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000497 bufferlength = clQueryParams(SELF->ob_compressorHdl, PVbuffer,
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000498 bufferlength);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000499 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000500 PyMem_DEL(PVbuffer);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000501 return NULL;
502 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000503
Roger E. Massee474fb31997-01-17 16:00:02 +0000504 list = PyList_New(bufferlength);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000505 if (list == NULL) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000506 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000507 return NULL;
508 }
509
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000510 for (i = 0; i < bufferlength; i++) {
511 if (i & 1)
Roger E. Massee474fb31997-01-17 16:00:02 +0000512 PyList_SetItem(list, i, PyInt_FromLong(PVbuffer[i]));
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000513 else if (PVbuffer[i] == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000514 Py_INCREF(Py_None);
515 PyList_SetItem(list, i, Py_None);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000516 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000517 PyList_SetItem(list, i,
518 PyString_FromString((char *) PVbuffer[i]));
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000519 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000520
Roger E. Massee474fb31997-01-17 16:00:02 +0000521 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000522
523 return list;
524}
525
Roger E. Massee474fb31997-01-17 16:00:02 +0000526static PyObject *
527clm_GetMinMax(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000528{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000529 int param, min, max;
530 float fmin, fmax;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000531
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000532 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000533
Roger E. Massee474fb31997-01-17 16:00:02 +0000534 if (!PyArg_Parse(args, "i", &param))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000535 return NULL;
536
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000537 clGetMinMax(SELF->ob_compressorHdl, param, &min, &max);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000538
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000539 if (param_type_is_float(SELF, param) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000540 fmin = CL_TypeIsFloat(min);
541 fmax = CL_TypeIsFloat(max);
Roger E. Massee474fb31997-01-17 16:00:02 +0000542 return Py_BuildValue("(ff)", fmin, fmax);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000543 }
544
Roger E. Massee474fb31997-01-17 16:00:02 +0000545 return Py_BuildValue("(ii)", min, max);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000546}
547
Roger E. Massee474fb31997-01-17 16:00:02 +0000548static PyObject *
549clm_GetName(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000550{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000551 int param;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000552 char *name;
553
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000554 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000555
Roger E. Massee474fb31997-01-17 16:00:02 +0000556 if (!PyArg_Parse(args, "i", &param))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000557 return NULL;
558
559 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000560 name = clGetName(SELF->ob_compressorHdl, param);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000561 if (name == NULL || error_handler_called) {
562 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000563 PyErr_SetString(ClError, "getname failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000564 return NULL;
565 }
566
Roger E. Massee474fb31997-01-17 16:00:02 +0000567 return PyString_FromString(name);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000568}
569
Roger E. Massee474fb31997-01-17 16:00:02 +0000570static PyObject *
Neal Norwitz50905b52002-03-31 14:57:24 +0000571clm_QuerySchemeFromHandle(PyObject *self)
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000572{
573 CheckCompressor(SELF);
Roger E. Massee474fb31997-01-17 16:00:02 +0000574 return PyInt_FromLong(clQuerySchemeFromHandle(SELF->ob_compressorHdl));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000575}
576
Roger E. Massee474fb31997-01-17 16:00:02 +0000577static PyObject *
578clm_ReadHeader(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000579{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000580 char *header;
581 int headerSize;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000582
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000583 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000584
Roger E. Massee474fb31997-01-17 16:00:02 +0000585 if (!PyArg_Parse(args, "s#", &header, &headerSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000586 return NULL;
587
Roger E. Massee474fb31997-01-17 16:00:02 +0000588 return PyInt_FromLong(clReadHeader(SELF->ob_compressorHdl,
589 headerSize, header));
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000590}
591
Roger E. Massee474fb31997-01-17 16:00:02 +0000592static PyMethodDef compressor_methods[] = {
Neal Norwitz50905b52002-03-31 14:57:24 +0000593 {"close", clm_CloseCompressor, METH_NOARGS}, /* alias */
594 {"CloseCompressor", clm_CloseCompressor, METH_NOARGS},
Martin v. Löwis43b936d2002-01-17 23:15:58 +0000595 {"Compress", clm_Compress, METH_OLDARGS},
596 {"GetDefault", clm_GetDefault, METH_OLDARGS},
597 {"GetMinMax", clm_GetMinMax, METH_OLDARGS},
598 {"GetName", clm_GetName, METH_OLDARGS},
599 {"GetParam", clm_GetParam, METH_OLDARGS},
600 {"GetParamID", clm_GetParamID, METH_OLDARGS},
601 {"GetParams", clm_GetParams, METH_OLDARGS},
Neal Norwitz50905b52002-03-31 14:57:24 +0000602 {"QueryParams", clm_QueryParams, METH_NOARGS},
603 {"QuerySchemeFromHandle",clm_QuerySchemeFromHandle, METH_NOARGS},
Martin v. Löwis43b936d2002-01-17 23:15:58 +0000604 {"SetParam", clm_SetParam, METH_OLDARGS},
605 {"SetParams", clm_SetParams, METH_OLDARGS},
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000606 {NULL, NULL} /* sentinel */
607};
608
Roger E. Massee474fb31997-01-17 16:00:02 +0000609static PyMethodDef decompressor_methods[] = {
Neal Norwitz50905b52002-03-31 14:57:24 +0000610 {"close", clm_CloseDecompressor, METH_NOARGS}, /* alias */
611 {"CloseDecompressor", clm_CloseDecompressor, METH_NOARGS},
Martin v. Löwis43b936d2002-01-17 23:15:58 +0000612 {"Decompress", clm_Decompress, METH_OLDARGS},
613 {"GetDefault", clm_GetDefault, METH_OLDARGS},
614 {"GetMinMax", clm_GetMinMax, METH_OLDARGS},
615 {"GetName", clm_GetName, METH_OLDARGS},
616 {"GetParam", clm_GetParam, METH_OLDARGS},
617 {"GetParamID", clm_GetParamID, METH_OLDARGS},
618 {"GetParams", clm_GetParams, METH_OLDARGS},
619 {"ReadHeader", clm_ReadHeader, METH_OLDARGS},
Neal Norwitz50905b52002-03-31 14:57:24 +0000620 {"QueryParams", clm_QueryParams, METH_NOARGS},
621 {"QuerySchemeFromHandle",clm_QuerySchemeFromHandle, METH_NOARGS},
Martin v. Löwis43b936d2002-01-17 23:15:58 +0000622 {"SetParam", clm_SetParam, METH_OLDARGS},
623 {"SetParams", clm_SetParams, METH_OLDARGS},
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000624 {NULL, NULL} /* sentinel */
625};
626
627static void
Roger E. Massee474fb31997-01-17 16:00:02 +0000628cl_dealloc(PyObject *self)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000629{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000630 if (SELF->ob_compressorHdl) {
631 if (SELF->ob_isCompressor)
632 clCloseCompressor(SELF->ob_compressorHdl);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000633 else
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000634 clCloseDecompressor(SELF->ob_compressorHdl);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000635 }
Guido van Rossumb18618d2000-05-03 23:44:39 +0000636 PyObject_Del(self);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000637}
638
Roger E. Massee474fb31997-01-17 16:00:02 +0000639static PyObject *
640cl_getattr(PyObject *self, char *name)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000641{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000642 if (SELF->ob_isCompressor)
Roger E. Massee474fb31997-01-17 16:00:02 +0000643 return Py_FindMethod(compressor_methods, self, name);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000644 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000645 return Py_FindMethod(decompressor_methods, self, name);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000646}
647
Roger E. Massee474fb31997-01-17 16:00:02 +0000648static PyTypeObject Cltype = {
649 PyObject_HEAD_INIT(&PyType_Type)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000650 0, /*ob_size*/
Guido van Rossum14648392001-12-08 18:02:58 +0000651 "cl.cl", /*tp_name*/
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000652 sizeof(clobject), /*tp_size*/
653 0, /*tp_itemsize*/
654 /* methods */
Guido van Rossumb6775db1994-08-01 11:34:53 +0000655 (destructor)cl_dealloc, /*tp_dealloc*/
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000656 0, /*tp_print*/
Guido van Rossumb6775db1994-08-01 11:34:53 +0000657 (getattrfunc)cl_getattr, /*tp_getattr*/
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000658 0, /*tp_setattr*/
659 0, /*tp_compare*/
660 0, /*tp_repr*/
661 0, /*tp_as_number*/
662 0, /*tp_as_sequence*/
663 0, /*tp_as_mapping*/
664};
665
Roger E. Massee474fb31997-01-17 16:00:02 +0000666static PyObject *
667doOpen(PyObject *self, PyObject *args, int (*open_func)(int, CL_Handle *),
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000668 int iscompressor)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000669{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000670 int scheme;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000671 clobject *new;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000672
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000673 if (!PyArg_ParseTuple(args, "i", &scheme))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000674 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000675
Guido van Rossumb18618d2000-05-03 23:44:39 +0000676 new = PyObject_New(clobject, &Cltype);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000677 if (new == NULL)
678 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000679
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000680 new->ob_compressorHdl = NULL;
681 new->ob_isCompressor = iscompressor;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000682 new->ob_paramtypes = NULL;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000683
684 error_handler_called = 0;
Guido van Rossum72429051997-08-12 14:58:54 +0000685 if ((*open_func)(scheme, &new->ob_compressorHdl) == FAILURE ||
686 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000687 Py_DECREF(new);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000688 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000689 PyErr_SetString(ClError, "Open(De)Compressor failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000690 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000691 }
Roger E. Massee474fb31997-01-17 16:00:02 +0000692 return (PyObject *)new;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000693}
694
Roger E. Massee474fb31997-01-17 16:00:02 +0000695static PyObject *
696cl_OpenCompressor(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000697{
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000698 return doOpen(self, args, clOpenCompressor, 1);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000699}
700
Roger E. Massee474fb31997-01-17 16:00:02 +0000701static PyObject *
702cl_OpenDecompressor(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000703{
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000704 return doOpen(self, args, clOpenDecompressor, 0);
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000705}
706
Roger E. Massee474fb31997-01-17 16:00:02 +0000707static PyObject *
708cl_QueryScheme(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000709{
710 char *header;
711 int headerlen;
712 int scheme;
713
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000714 if (!PyArg_ParseTuple(args, "s#", &header, &headerlen))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000715 return NULL;
716
717 scheme = clQueryScheme(header);
718 if (scheme < 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000719 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000720 return NULL;
721 }
722
Roger E. Massee474fb31997-01-17 16:00:02 +0000723 return PyInt_FromLong(scheme);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000724}
725
Roger E. Massee474fb31997-01-17 16:00:02 +0000726static PyObject *
727cl_QueryMaxHeaderSize(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000728{
729 int scheme;
730
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000731 if (!PyArg_ParseTuple(args, "i", &scheme))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000732 return NULL;
733
Roger E. Massee474fb31997-01-17 16:00:02 +0000734 return PyInt_FromLong(clQueryMaxHeaderSize(scheme));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000735}
736
Roger E. Massee474fb31997-01-17 16:00:02 +0000737static PyObject *
738cl_QueryAlgorithms(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000739{
740 int algorithmMediaType;
741 int bufferlength;
742 int *PVbuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000743 PyObject *list;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000744 int i;
745
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000746 if (!PyArg_ParseTuple(args, "i", &algorithmMediaType))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000747 return NULL;
748
749 error_handler_called = 0;
750 bufferlength = clQueryAlgorithms(algorithmMediaType, 0, 0);
751 if (error_handler_called)
752 return NULL;
753
Roger E. Massee474fb31997-01-17 16:00:02 +0000754 PVbuffer = PyMem_NEW(int, bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000755 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000756 return PyErr_NoMemory();
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000757
758 bufferlength = clQueryAlgorithms(algorithmMediaType, PVbuffer,
Roger E. Massee474fb31997-01-17 16:00:02 +0000759 bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000760 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000761 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000762 return NULL;
763 }
764
Roger E. Massee474fb31997-01-17 16:00:02 +0000765 list = PyList_New(bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000766 if (list == NULL) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000767 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000768 return NULL;
769 }
770
771 for (i = 0; i < bufferlength; i++) {
772 if (i & 1)
Roger E. Massee474fb31997-01-17 16:00:02 +0000773 PyList_SetItem(list, i, PyInt_FromLong(PVbuffer[i]));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000774 else if (PVbuffer[i] == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000775 Py_INCREF(Py_None);
776 PyList_SetItem(list, i, Py_None);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000777 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000778 PyList_SetItem(list, i,
779 PyString_FromString((char *) PVbuffer[i]));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000780 }
781
Roger E. Massee474fb31997-01-17 16:00:02 +0000782 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000783
784 return list;
785}
786
Roger E. Massee474fb31997-01-17 16:00:02 +0000787static PyObject *
788cl_QuerySchemeFromName(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000789{
790 int algorithmMediaType;
791 char *name;
792 int scheme;
793
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000794 if (!PyArg_ParseTuple(args, "is", &algorithmMediaType, &name))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000795 return NULL;
796
797 error_handler_called = 0;
798 scheme = clQuerySchemeFromName(algorithmMediaType, name);
799 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000800 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000801 return NULL;
802 }
803
Roger E. Massee474fb31997-01-17 16:00:02 +0000804 return PyInt_FromLong(scheme);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000805}
806
Roger E. Massee474fb31997-01-17 16:00:02 +0000807static PyObject *
808cl_GetAlgorithmName(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000809{
810 int scheme;
811 char *name;
812
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000813 if (!PyArg_ParseTuple(args, "i", &scheme))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000814 return NULL;
815
816 name = clGetAlgorithmName(scheme);
817 if (name == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000818 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000819 return NULL;
820 }
821
Roger E. Massee474fb31997-01-17 16:00:02 +0000822 return PyString_FromString(name);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000823}
824
Roger E. Massee474fb31997-01-17 16:00:02 +0000825static PyObject *
826do_set(PyObject *self, PyObject *args, int (*func)(int, int, int))
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000827{
828 int scheme, paramID, value;
829 float fvalue;
830 int is_float = 0;
831
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000832 if (!PyArg_ParseTuple(args, "iii", &scheme, &paramID, &value)) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000833 PyErr_Clear();
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000834 if (!PyArg_ParseTuple(args, "iif", &scheme, &paramID, &fvalue)) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000835 PyErr_Clear();
836 PyErr_SetString(PyExc_TypeError,
837 "bad argument list (format '(iii)' or '(iif)')");
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000838 return NULL;
839 }
840 value = CL_TypeIsInt(fvalue);
841 is_float = 1;
842 } else {
843 /* check some parameters which we know to be floats */
844 switch (scheme) {
845 case CL_COMPRESSION_RATIO:
846 case CL_SPEED:
847 fvalue = value;
848 value = CL_TypeIsInt(fvalue);
849 is_float = 1;
850 break;
851 }
852 }
853
854 error_handler_called = 0;
855 value = (*func)(scheme, paramID, value);
856 if (error_handler_called)
857 return NULL;
858
859 if (is_float)
Roger E. Massee474fb31997-01-17 16:00:02 +0000860 return PyFloat_FromDouble(CL_TypeIsFloat(value));
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000861 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000862 return PyInt_FromLong(value);
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000863}
864
Roger E. Massee474fb31997-01-17 16:00:02 +0000865static PyObject *
866cl_SetDefault(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000867{
868 return do_set(self, args, clSetDefault);
869}
870
Roger E. Massee474fb31997-01-17 16:00:02 +0000871static PyObject *
872cl_SetMin(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000873{
874 return do_set(self, args, clSetMin);
875}
876
Roger E. Massee474fb31997-01-17 16:00:02 +0000877static PyObject *
878cl_SetMax(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000879{
880 return do_set(self, args, clSetMax);
881}
882
Roger E. Massee474fb31997-01-17 16:00:02 +0000883#define func(name, handler) \
884static PyObject *cl_##name(PyObject *self, PyObject *args) \
885{ \
886 int x; \
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000887 if (!PyArg_ParseTuple(args, "i", &x)) return NULL; \
Roger E. Massee474fb31997-01-17 16:00:02 +0000888 return Py##handler(CL_##name(x)); \
889}
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000890
Roger E. Massee474fb31997-01-17 16:00:02 +0000891#define func2(name, handler) \
892static PyObject *cl_##name(PyObject *self, PyObject *args) \
893{ \
894 int a1, a2; \
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000895 if (!PyArg_ParseTuple(args, "ii", &a1, &a2)) return NULL; \
Roger E. Massee474fb31997-01-17 16:00:02 +0000896 return Py##handler(CL_##name(a1, a2)); \
897}
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000898
Roger E. Massee474fb31997-01-17 16:00:02 +0000899func(BytesPerSample, Int_FromLong)
900func(BytesPerPixel, Int_FromLong)
901func(AudioFormatName, String_FromString)
902func(VideoFormatName, String_FromString)
903func(AlgorithmNumber, Int_FromLong)
904func(AlgorithmType, Int_FromLong)
905func2(Algorithm, Int_FromLong)
906func(ParamNumber, Int_FromLong)
907func(ParamType, Int_FromLong)
908func2(ParamID, Int_FromLong)
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000909
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000910#ifdef CLDEBUG
Roger E. Massee474fb31997-01-17 16:00:02 +0000911 static PyObject *
912cvt_type(PyObject *self, PyObject *args)
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000913{
914 int number;
915 float fnumber;
916
Roger E. Massee474fb31997-01-17 16:00:02 +0000917 if (PyArg_Parse(args, "i", &number))
918 return PyFloat_FromDouble(CL_TypeIsFloat(number));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000919 else {
Roger E. Massee474fb31997-01-17 16:00:02 +0000920 PyErr_Clear();
921 if (PyArg_Parse(args, "f", &fnumber))
922 return PyInt_FromLong(CL_TypeIsInt(fnumber));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000923 return NULL;
924 }
925}
926#endif
927
Roger E. Massee474fb31997-01-17 16:00:02 +0000928static PyMethodDef cl_methods[] = {
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000929 {"CompressImage", cl_CompressImage, METH_VARARGS},
930 {"DecompressImage", cl_DecompressImage, METH_VARARGS},
931 {"GetAlgorithmName", cl_GetAlgorithmName, METH_VARARGS},
932 {"OpenCompressor", cl_OpenCompressor, METH_VARARGS},
933 {"OpenDecompressor", cl_OpenDecompressor, METH_VARARGS},
934 {"QueryAlgorithms", cl_QueryAlgorithms, METH_VARARGS},
935 {"QueryMaxHeaderSize", cl_QueryMaxHeaderSize, METH_VARARGS},
936 {"QueryScheme", cl_QueryScheme, METH_VARARGS},
937 {"QuerySchemeFromName", cl_QuerySchemeFromName, METH_VARARGS},
938 {"SetDefault", cl_SetDefault, METH_VARARGS},
939 {"SetMax", cl_SetMax, METH_VARARGS},
940 {"SetMin", cl_SetMin, METH_VARARGS},
941 {"BytesPerSample", cl_BytesPerSample, METH_VARARGS},
942 {"BytesPerPixel", cl_BytesPerPixel, METH_VARARGS},
943 {"AudioFormatName", cl_AudioFormatName, METH_VARARGS},
944 {"VideoFormatName", cl_VideoFormatName, METH_VARARGS},
945 {"AlgorithmNumber", cl_AlgorithmNumber, METH_VARARGS},
946 {"AlgorithmType", cl_AlgorithmType, METH_VARARGS},
947 {"Algorithm", cl_Algorithm, METH_VARARGS},
948 {"ParamNumber", cl_ParamNumber, METH_VARARGS},
949 {"ParamType", cl_ParamType, METH_VARARGS},
950 {"ParamID", cl_ParamID, METH_VARARGS},
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000951#ifdef CLDEBUG
Neal Norwitzb0aaec52002-04-02 18:26:33 +0000952 {"cvt_type", cvt_type, METH_VARARGS},
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000953#endif
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000954 {NULL, NULL} /* Sentinel */
955};
956
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000957#ifdef CL_JPEG_SOFTWARE
958#define IRIX_5_3_LIBRARY
959#endif
960
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000961void
Thomas Woutersf3f33dc2000-07-21 06:00:07 +0000962initcl(void)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000963{
Guido van Rossum72429051997-08-12 14:58:54 +0000964 PyObject *m, *d, *x;
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000965
Roger E. Massee474fb31997-01-17 16:00:02 +0000966 m = Py_InitModule("cl", cl_methods);
967 d = PyModule_GetDict(m);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000968
Guido van Rossum0cb96de1997-10-01 04:29:29 +0000969 ClError = PyErr_NewException("cl.error", NULL, NULL);
Roger E. Massee474fb31997-01-17 16:00:02 +0000970 (void) PyDict_SetItemString(d, "error", ClError);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000971
Guido van Rossum72429051997-08-12 14:58:54 +0000972#ifdef CL_ADDED_ALGORITHM_ERROR
973 x = PyInt_FromLong(CL_ADDED_ALGORITHM_ERROR);
974 if (x == NULL || PyDict_SetItemString(d, "ADDED_ALGORITHM_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +0000975 return;
Guido van Rossum72429051997-08-12 14:58:54 +0000976 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000977#endif
Guido van Rossum72429051997-08-12 14:58:54 +0000978#ifdef CL_ALAW
979 x = PyInt_FromLong(CL_ALAW);
980 if (x == NULL || PyDict_SetItemString(d, "ALAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +0000981 return;
Guido van Rossum72429051997-08-12 14:58:54 +0000982 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000983#endif
Guido van Rossum72429051997-08-12 14:58:54 +0000984#ifdef CL_ALGORITHM_ID
985 x = PyInt_FromLong(CL_ALGORITHM_ID);
986 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_ID", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +0000987 return;
Guido van Rossum72429051997-08-12 14:58:54 +0000988 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000989#endif
Guido van Rossum72429051997-08-12 14:58:54 +0000990#ifdef CL_ALGORITHM_TABLE_FULL
991 x = PyInt_FromLong(CL_ALGORITHM_TABLE_FULL);
992 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_TABLE_FULL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +0000993 return;
Guido van Rossum72429051997-08-12 14:58:54 +0000994 Py_DECREF(x);
995#endif
996#ifdef CL_ALGORITHM_VERSION
997 x = PyInt_FromLong(CL_ALGORITHM_VERSION);
998 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_VERSION", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +0000999 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001000 Py_DECREF(x);
1001#endif
1002#ifdef CL_ALG_AUDIO
1003 x = PyInt_FromLong(CL_ALG_AUDIO);
1004 if (x == NULL || PyDict_SetItemString(d, "ALG_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001005 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001006 Py_DECREF(x);
1007#endif
1008#ifdef CL_ALG_VIDEO
1009 x = PyInt_FromLong(CL_ALG_VIDEO);
1010 if (x == NULL || PyDict_SetItemString(d, "ALG_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001011 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001012 Py_DECREF(x);
1013#endif
1014#ifdef CL_AUDIO
1015 x = PyInt_FromLong(CL_AUDIO);
1016 if (x == NULL || PyDict_SetItemString(d, "AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001017 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001018 Py_DECREF(x);
1019#endif
1020#ifdef CL_AWARE_BITRATE_POLICY
1021 x = PyInt_FromLong(CL_AWARE_BITRATE_POLICY);
1022 if (x == NULL || PyDict_SetItemString(d, "AWARE_BITRATE_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001023 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001024 Py_DECREF(x);
1025#endif
1026#ifdef CL_AWARE_BITRATE_TARGET
1027 x = PyInt_FromLong(CL_AWARE_BITRATE_TARGET);
1028 if (x == NULL || PyDict_SetItemString(d, "AWARE_BITRATE_TARGET", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001029 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001030 Py_DECREF(x);
1031#endif
1032#ifdef CL_AWARE_CHANNEL_POLICY
1033 x = PyInt_FromLong(CL_AWARE_CHANNEL_POLICY);
1034 if (x == NULL || PyDict_SetItemString(d, "AWARE_CHANNEL_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001035 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001036 Py_DECREF(x);
1037#endif
1038#ifdef CL_AWARE_CONST_QUAL
1039 x = PyInt_FromLong(CL_AWARE_CONST_QUAL);
1040 if (x == NULL || PyDict_SetItemString(d, "AWARE_CONST_QUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001041 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001042 Py_DECREF(x);
1043#endif
1044#ifdef CL_AWARE_ERROR
1045 x = PyInt_FromLong(CL_AWARE_ERROR);
1046 if (x == NULL || PyDict_SetItemString(d, "AWARE_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001047 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001048 Py_DECREF(x);
1049#endif
1050#ifdef CL_AWARE_FIXED_RATE
1051 x = PyInt_FromLong(CL_AWARE_FIXED_RATE);
1052 if (x == NULL || PyDict_SetItemString(d, "AWARE_FIXED_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001053 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001054 Py_DECREF(x);
1055#endif
1056#ifdef CL_AWARE_INDEPENDENT
1057 x = PyInt_FromLong(CL_AWARE_INDEPENDENT);
1058 if (x == NULL || PyDict_SetItemString(d, "AWARE_INDEPENDENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001059 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001060 Py_DECREF(x);
1061#endif
1062#ifdef CL_AWARE_JOINT_STEREO
1063 x = PyInt_FromLong(CL_AWARE_JOINT_STEREO);
1064 if (x == NULL || PyDict_SetItemString(d, "AWARE_JOINT_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001065 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001066 Py_DECREF(x);
1067#endif
1068#ifdef CL_AWARE_LAYER
1069 x = PyInt_FromLong(CL_AWARE_LAYER);
1070 if (x == NULL || PyDict_SetItemString(d, "AWARE_LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001071 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001072 Py_DECREF(x);
1073#endif
1074#ifdef CL_AWARE_LOSSLESS
1075 x = PyInt_FromLong(CL_AWARE_LOSSLESS);
1076 if (x == NULL || PyDict_SetItemString(d, "AWARE_LOSSLESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001077 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001078 Py_DECREF(x);
1079#endif
1080#ifdef CL_AWARE_MPEG_AUDIO
1081 x = PyInt_FromLong(CL_AWARE_MPEG_AUDIO);
1082 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001083 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001084 Py_DECREF(x);
1085#endif
1086#ifdef CL_AWARE_MPEG_LAYER_I
1087 x = PyInt_FromLong(CL_AWARE_MPEG_LAYER_I);
1088 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001089 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001090 Py_DECREF(x);
1091#endif
1092#ifdef CL_AWARE_MPEG_LAYER_II
1093 x = PyInt_FromLong(CL_AWARE_MPEG_LAYER_II);
1094 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001095 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001096 Py_DECREF(x);
1097#endif
1098#ifdef CL_AWARE_MULTIRATE
1099 x = PyInt_FromLong(CL_AWARE_MULTIRATE);
1100 if (x == NULL || PyDict_SetItemString(d, "AWARE_MULTIRATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001101 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001102 Py_DECREF(x);
1103#endif
1104#ifdef CL_AWARE_NOISE_MARGIN
1105 x = PyInt_FromLong(CL_AWARE_NOISE_MARGIN);
1106 if (x == NULL || PyDict_SetItemString(d, "AWARE_NOISE_MARGIN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001107 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001108 Py_DECREF(x);
1109#endif
1110#ifdef CL_AWARE_STEREO
1111 x = PyInt_FromLong(CL_AWARE_STEREO);
1112 if (x == NULL || PyDict_SetItemString(d, "AWARE_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001113 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001114 Py_DECREF(x);
1115#endif
1116#ifdef CL_BAD_ALGORITHM_NAME
1117 x = PyInt_FromLong(CL_BAD_ALGORITHM_NAME);
1118 if (x == NULL || PyDict_SetItemString(d, "BAD_ALGORITHM_NAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001119 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001120 Py_DECREF(x);
1121#endif
1122#ifdef CL_BAD_ALGORITHM_TYPE
1123 x = PyInt_FromLong(CL_BAD_ALGORITHM_TYPE);
1124 if (x == NULL || PyDict_SetItemString(d, "BAD_ALGORITHM_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001125 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001126 Py_DECREF(x);
1127#endif
1128#ifdef CL_BAD_BLOCK_SIZE
1129 x = PyInt_FromLong(CL_BAD_BLOCK_SIZE);
1130 if (x == NULL || PyDict_SetItemString(d, "BAD_BLOCK_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001131 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001132 Py_DECREF(x);
1133#endif
1134#ifdef CL_BAD_BOARD
1135 x = PyInt_FromLong(CL_BAD_BOARD);
1136 if (x == NULL || PyDict_SetItemString(d, "BAD_BOARD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001137 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001138 Py_DECREF(x);
1139#endif
1140#ifdef CL_BAD_BUFFERING
1141 x = PyInt_FromLong(CL_BAD_BUFFERING);
1142 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001143 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001144 Py_DECREF(x);
1145#endif
1146#ifdef CL_BAD_BUFFERLENGTH_NEG
1147 x = PyInt_FromLong(CL_BAD_BUFFERLENGTH_NEG);
1148 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERLENGTH_NEG", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001149 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001150 Py_DECREF(x);
1151#endif
1152#ifdef CL_BAD_BUFFERLENGTH_ODD
1153 x = PyInt_FromLong(CL_BAD_BUFFERLENGTH_ODD);
1154 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERLENGTH_ODD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001155 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001156 Py_DECREF(x);
1157#endif
1158#ifdef CL_BAD_BUFFER_EXISTS
1159 x = PyInt_FromLong(CL_BAD_BUFFER_EXISTS);
1160 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_EXISTS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001161 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001162 Py_DECREF(x);
1163#endif
1164#ifdef CL_BAD_BUFFER_HANDLE
1165 x = PyInt_FromLong(CL_BAD_BUFFER_HANDLE);
1166 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_HANDLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001167 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001168 Py_DECREF(x);
1169#endif
1170#ifdef CL_BAD_BUFFER_POINTER
1171 x = PyInt_FromLong(CL_BAD_BUFFER_POINTER);
1172 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001173 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001174 Py_DECREF(x);
1175#endif
1176#ifdef CL_BAD_BUFFER_QUERY_SIZE
1177 x = PyInt_FromLong(CL_BAD_BUFFER_QUERY_SIZE);
1178 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_QUERY_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001179 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001180 Py_DECREF(x);
1181#endif
1182#ifdef CL_BAD_BUFFER_SIZE
1183 x = PyInt_FromLong(CL_BAD_BUFFER_SIZE);
1184 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001185 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001186 Py_DECREF(x);
1187#endif
1188#ifdef CL_BAD_BUFFER_SIZE_POINTER
1189 x = PyInt_FromLong(CL_BAD_BUFFER_SIZE_POINTER);
1190 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_SIZE_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001191 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001192 Py_DECREF(x);
1193#endif
1194#ifdef CL_BAD_BUFFER_TYPE
1195 x = PyInt_FromLong(CL_BAD_BUFFER_TYPE);
1196 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001197 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001198 Py_DECREF(x);
1199#endif
1200#ifdef CL_BAD_COMPRESSION_SCHEME
1201 x = PyInt_FromLong(CL_BAD_COMPRESSION_SCHEME);
1202 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSION_SCHEME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001203 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001204 Py_DECREF(x);
1205#endif
1206#ifdef CL_BAD_COMPRESSOR_HANDLE
1207 x = PyInt_FromLong(CL_BAD_COMPRESSOR_HANDLE);
1208 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSOR_HANDLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001209 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001210 Py_DECREF(x);
1211#endif
1212#ifdef CL_BAD_COMPRESSOR_HANDLE_POINTER
1213 x = PyInt_FromLong(CL_BAD_COMPRESSOR_HANDLE_POINTER);
1214 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSOR_HANDLE_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001215 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001216 Py_DECREF(x);
1217#endif
1218#ifdef CL_BAD_FRAME_SIZE
1219 x = PyInt_FromLong(CL_BAD_FRAME_SIZE);
1220 if (x == NULL || PyDict_SetItemString(d, "BAD_FRAME_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001221 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001222 Py_DECREF(x);
1223#endif
1224#ifdef CL_BAD_FUNCTIONALITY
1225 x = PyInt_FromLong(CL_BAD_FUNCTIONALITY);
1226 if (x == NULL || PyDict_SetItemString(d, "BAD_FUNCTIONALITY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001227 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001228 Py_DECREF(x);
1229#endif
1230#ifdef CL_BAD_FUNCTION_POINTER
1231 x = PyInt_FromLong(CL_BAD_FUNCTION_POINTER);
1232 if (x == NULL || PyDict_SetItemString(d, "BAD_FUNCTION_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001233 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001234 Py_DECREF(x);
1235#endif
1236#ifdef CL_BAD_HEADER_SIZE
1237 x = PyInt_FromLong(CL_BAD_HEADER_SIZE);
1238 if (x == NULL || PyDict_SetItemString(d, "BAD_HEADER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001239 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001240 Py_DECREF(x);
1241#endif
1242#ifdef CL_BAD_INITIAL_VALUE
1243 x = PyInt_FromLong(CL_BAD_INITIAL_VALUE);
1244 if (x == NULL || PyDict_SetItemString(d, "BAD_INITIAL_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001245 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001246 Py_DECREF(x);
1247#endif
1248#ifdef CL_BAD_INTERNAL_FORMAT
1249 x = PyInt_FromLong(CL_BAD_INTERNAL_FORMAT);
1250 if (x == NULL || PyDict_SetItemString(d, "BAD_INTERNAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001251 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001252 Py_DECREF(x);
1253#endif
1254#ifdef CL_BAD_LICENSE
1255 x = PyInt_FromLong(CL_BAD_LICENSE);
1256 if (x == NULL || PyDict_SetItemString(d, "BAD_LICENSE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001257 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001258 Py_DECREF(x);
1259#endif
1260#ifdef CL_BAD_MIN_GT_MAX
1261 x = PyInt_FromLong(CL_BAD_MIN_GT_MAX);
1262 if (x == NULL || PyDict_SetItemString(d, "BAD_MIN_GT_MAX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001263 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001264 Py_DECREF(x);
1265#endif
1266#ifdef CL_BAD_NO_BUFFERSPACE
1267 x = PyInt_FromLong(CL_BAD_NO_BUFFERSPACE);
1268 if (x == NULL || PyDict_SetItemString(d, "BAD_NO_BUFFERSPACE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001269 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001270 Py_DECREF(x);
1271#endif
1272#ifdef CL_BAD_NUMBER_OF_BLOCKS
1273 x = PyInt_FromLong(CL_BAD_NUMBER_OF_BLOCKS);
1274 if (x == NULL || PyDict_SetItemString(d, "BAD_NUMBER_OF_BLOCKS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001275 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001276 Py_DECREF(x);
1277#endif
1278#ifdef CL_BAD_PARAM
1279 x = PyInt_FromLong(CL_BAD_PARAM);
1280 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001281 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001282 Py_DECREF(x);
1283#endif
1284#ifdef CL_BAD_PARAM_ID_POINTER
1285 x = PyInt_FromLong(CL_BAD_PARAM_ID_POINTER);
1286 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM_ID_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001287 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001288 Py_DECREF(x);
1289#endif
1290#ifdef CL_BAD_PARAM_TYPE
1291 x = PyInt_FromLong(CL_BAD_PARAM_TYPE);
1292 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001293 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001294 Py_DECREF(x);
1295#endif
1296#ifdef CL_BAD_POINTER
1297 x = PyInt_FromLong(CL_BAD_POINTER);
1298 if (x == NULL || PyDict_SetItemString(d, "BAD_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001299 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001300 Py_DECREF(x);
1301#endif
1302#ifdef CL_BAD_PVBUFFER
1303 x = PyInt_FromLong(CL_BAD_PVBUFFER);
1304 if (x == NULL || PyDict_SetItemString(d, "BAD_PVBUFFER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001305 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001306 Py_DECREF(x);
1307#endif
1308#ifdef CL_BAD_SCHEME_POINTER
1309 x = PyInt_FromLong(CL_BAD_SCHEME_POINTER);
1310 if (x == NULL || PyDict_SetItemString(d, "BAD_SCHEME_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001311 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001312 Py_DECREF(x);
1313#endif
1314#ifdef CL_BAD_STREAM_HEADER
1315 x = PyInt_FromLong(CL_BAD_STREAM_HEADER);
1316 if (x == NULL || PyDict_SetItemString(d, "BAD_STREAM_HEADER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001317 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001318 Py_DECREF(x);
1319#endif
1320#ifdef CL_BAD_STRING_POINTER
1321 x = PyInt_FromLong(CL_BAD_STRING_POINTER);
1322 if (x == NULL || PyDict_SetItemString(d, "BAD_STRING_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001323 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001324 Py_DECREF(x);
1325#endif
1326#ifdef CL_BAD_TEXT_STRING_PTR
1327 x = PyInt_FromLong(CL_BAD_TEXT_STRING_PTR);
1328 if (x == NULL || PyDict_SetItemString(d, "BAD_TEXT_STRING_PTR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001329 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001330 Py_DECREF(x);
1331#endif
1332#ifdef CL_BEST_FIT
1333 x = PyInt_FromLong(CL_BEST_FIT);
1334 if (x == NULL || PyDict_SetItemString(d, "BEST_FIT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001335 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001336 Py_DECREF(x);
1337#endif
1338#ifdef CL_BIDIRECTIONAL
1339 x = PyInt_FromLong(CL_BIDIRECTIONAL);
1340 if (x == NULL || PyDict_SetItemString(d, "BIDIRECTIONAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001341 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001342 Py_DECREF(x);
1343#endif
1344#ifdef CL_BITRATE
1345 x = PyInt_FromLong(CL_BITRATE);
1346 if (x == NULL || PyDict_SetItemString(d, "BITRATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001347 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001348 Py_DECREF(x);
1349#endif
1350#ifdef CL_BITRATE_POLICY
1351 x = PyInt_FromLong(CL_BITRATE_POLICY);
1352 if (x == NULL || PyDict_SetItemString(d, "BITRATE_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001353 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001354 Py_DECREF(x);
1355#endif
1356#ifdef CL_BITRATE_TARGET
1357 x = PyInt_FromLong(CL_BITRATE_TARGET);
1358 if (x == NULL || PyDict_SetItemString(d, "BITRATE_TARGET", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001359 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001360 Py_DECREF(x);
1361#endif
1362#ifdef CL_BITS_PER_COMPONENT
1363 x = PyInt_FromLong(CL_BITS_PER_COMPONENT);
1364 if (x == NULL || PyDict_SetItemString(d, "BITS_PER_COMPONENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001365 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001366 Py_DECREF(x);
1367#endif
1368#ifdef CL_BLENDING
1369 x = PyInt_FromLong(CL_BLENDING);
1370 if (x == NULL || PyDict_SetItemString(d, "BLENDING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001371 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001372 Py_DECREF(x);
1373#endif
1374#ifdef CL_BLOCK_SIZE
1375 x = PyInt_FromLong(CL_BLOCK_SIZE);
1376 if (x == NULL || PyDict_SetItemString(d, "BLOCK_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001377 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001378 Py_DECREF(x);
1379#endif
1380#ifdef CL_BOTTOM_UP
1381 x = PyInt_FromLong(CL_BOTTOM_UP);
1382 if (x == NULL || PyDict_SetItemString(d, "BOTTOM_UP", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001383 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001384 Py_DECREF(x);
1385#endif
1386#ifdef CL_BUFFER_NOT_CREATED
1387 x = PyInt_FromLong(CL_BUFFER_NOT_CREATED);
1388 if (x == NULL || PyDict_SetItemString(d, "BUFFER_NOT_CREATED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001389 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001390 Py_DECREF(x);
1391#endif
1392#ifdef CL_BUF_COMPRESSED
1393 x = PyInt_FromLong(CL_BUF_COMPRESSED);
1394 if (x == NULL || PyDict_SetItemString(d, "BUF_COMPRESSED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001395 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001396 Py_DECREF(x);
1397#endif
1398#ifdef CL_BUF_DATA
1399 x = PyInt_FromLong(CL_BUF_DATA);
1400 if (x == NULL || PyDict_SetItemString(d, "BUF_DATA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001401 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001402 Py_DECREF(x);
1403#endif
1404#ifdef CL_BUF_FRAME
1405 x = PyInt_FromLong(CL_BUF_FRAME);
1406 if (x == NULL || PyDict_SetItemString(d, "BUF_FRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001407 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001408 Py_DECREF(x);
1409#endif
1410#ifdef CL_CHANNEL_POLICY
1411 x = PyInt_FromLong(CL_CHANNEL_POLICY);
1412 if (x == NULL || PyDict_SetItemString(d, "CHANNEL_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001413 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001414 Py_DECREF(x);
1415#endif
1416#ifdef CL_CHROMA_THRESHOLD
1417 x = PyInt_FromLong(CL_CHROMA_THRESHOLD);
1418 if (x == NULL || PyDict_SetItemString(d, "CHROMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001419 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001420 Py_DECREF(x);
1421#endif
1422#ifdef CL_CODEC
1423 x = PyInt_FromLong(CL_CODEC);
1424 if (x == NULL || PyDict_SetItemString(d, "CODEC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001425 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001426 Py_DECREF(x);
1427#endif
1428#ifdef CL_COMPONENTS
1429 x = PyInt_FromLong(CL_COMPONENTS);
1430 if (x == NULL || PyDict_SetItemString(d, "COMPONENTS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001431 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001432 Py_DECREF(x);
1433#endif
1434#ifdef CL_COMPRESSED_BUFFER_SIZE
1435 x = PyInt_FromLong(CL_COMPRESSED_BUFFER_SIZE);
1436 if (x == NULL || PyDict_SetItemString(d, "COMPRESSED_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001437 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001438 Py_DECREF(x);
1439#endif
1440#ifdef CL_COMPRESSION_RATIO
1441 x = PyInt_FromLong(CL_COMPRESSION_RATIO);
1442 if (x == NULL || PyDict_SetItemString(d, "COMPRESSION_RATIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001443 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001444 Py_DECREF(x);
1445#endif
1446#ifdef CL_COMPRESSOR
1447 x = PyInt_FromLong(CL_COMPRESSOR);
1448 if (x == NULL || PyDict_SetItemString(d, "COMPRESSOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001449 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001450 Py_DECREF(x);
1451#endif
1452#ifdef CL_CONTINUOUS_BLOCK
1453 x = PyInt_FromLong(CL_CONTINUOUS_BLOCK);
1454 if (x == NULL || PyDict_SetItemString(d, "CONTINUOUS_BLOCK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001455 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001456 Py_DECREF(x);
1457#endif
1458#ifdef CL_CONTINUOUS_NONBLOCK
1459 x = PyInt_FromLong(CL_CONTINUOUS_NONBLOCK);
1460 if (x == NULL || PyDict_SetItemString(d, "CONTINUOUS_NONBLOCK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001461 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001462 Py_DECREF(x);
1463#endif
1464#ifdef CL_COSMO_CODEC_CONTROL
1465 x = PyInt_FromLong(CL_COSMO_CODEC_CONTROL);
1466 if (x == NULL || PyDict_SetItemString(d, "COSMO_CODEC_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001467 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001468 Py_DECREF(x);
1469#endif
1470#ifdef CL_COSMO_NUM_PARAMS
1471 x = PyInt_FromLong(CL_COSMO_NUM_PARAMS);
1472 if (x == NULL || PyDict_SetItemString(d, "COSMO_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001473 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001474 Py_DECREF(x);
1475#endif
1476#ifdef CL_COSMO_VALUE_BASE
1477 x = PyInt_FromLong(CL_COSMO_VALUE_BASE);
1478 if (x == NULL || PyDict_SetItemString(d, "COSMO_VALUE_BASE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001479 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001480 Py_DECREF(x);
1481#endif
1482#ifdef CL_COSMO_VIDEO_MANUAL_CONTROL
1483 x = PyInt_FromLong(CL_COSMO_VIDEO_MANUAL_CONTROL);
1484 if (x == NULL || PyDict_SetItemString(d, "COSMO_VIDEO_MANUAL_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001485 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001486 Py_DECREF(x);
1487#endif
1488#ifdef CL_COSMO_VIDEO_TRANSFER_MODE
1489 x = PyInt_FromLong(CL_COSMO_VIDEO_TRANSFER_MODE);
1490 if (x == NULL || PyDict_SetItemString(d, "COSMO_VIDEO_TRANSFER_MODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001491 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001492 Py_DECREF(x);
1493#endif
1494#ifdef CL_DATA
1495 x = PyInt_FromLong(CL_DATA);
1496 if (x == NULL || PyDict_SetItemString(d, "DATA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001497 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001498 Py_DECREF(x);
1499#endif
1500#ifdef CL_DECOMPRESSOR
1501 x = PyInt_FromLong(CL_DECOMPRESSOR);
1502 if (x == NULL || PyDict_SetItemString(d, "DECOMPRESSOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001503 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001504 Py_DECREF(x);
1505#endif
1506#ifdef CL_DSO_ERROR
1507 x = PyInt_FromLong(CL_DSO_ERROR);
1508 if (x == NULL || PyDict_SetItemString(d, "DSO_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001509 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001510 Py_DECREF(x);
1511#endif
1512#ifdef CL_EDGE_THRESHOLD
1513 x = PyInt_FromLong(CL_EDGE_THRESHOLD);
1514 if (x == NULL || PyDict_SetItemString(d, "EDGE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001515 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001516 Py_DECREF(x);
1517#endif
1518#ifdef CL_ENABLE_IMAGEINFO
1519 x = PyInt_FromLong(CL_ENABLE_IMAGEINFO);
1520 if (x == NULL || PyDict_SetItemString(d, "ENABLE_IMAGEINFO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001521 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001522 Py_DECREF(x);
1523#endif
1524#ifdef CL_END_OF_SEQUENCE
1525 x = PyInt_FromLong(CL_END_OF_SEQUENCE);
1526 if (x == NULL || PyDict_SetItemString(d, "END_OF_SEQUENCE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001527 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001528 Py_DECREF(x);
1529#endif
1530#ifdef CL_ENUM_VALUE
1531 x = PyInt_FromLong(CL_ENUM_VALUE);
1532 if (x == NULL || PyDict_SetItemString(d, "ENUM_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001533 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001534 Py_DECREF(x);
1535#endif
1536#ifdef CL_EXACT_COMPRESSION_RATIO
1537 x = PyInt_FromLong(CL_EXACT_COMPRESSION_RATIO);
1538 if (x == NULL || PyDict_SetItemString(d, "EXACT_COMPRESSION_RATIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001539 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001540 Py_DECREF(x);
1541#endif
1542#ifdef CL_EXTERNAL_DEVICE
1543 x = PyInt_FromLong((long) CL_EXTERNAL_DEVICE);
1544 if (x == NULL || PyDict_SetItemString(d, "EXTERNAL_DEVICE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001545 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001546 Py_DECREF(x);
1547#endif
1548#ifdef CL_FLOATING_ENUM_VALUE
1549 x = PyInt_FromLong(CL_FLOATING_ENUM_VALUE);
1550 if (x == NULL || PyDict_SetItemString(d, "FLOATING_ENUM_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001551 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001552 Py_DECREF(x);
1553#endif
1554#ifdef CL_FLOATING_RANGE_VALUE
1555 x = PyInt_FromLong(CL_FLOATING_RANGE_VALUE);
1556 if (x == NULL || PyDict_SetItemString(d, "FLOATING_RANGE_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001557 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001558 Py_DECREF(x);
1559#endif
1560#ifdef CL_FORMAT
1561 x = PyInt_FromLong(CL_FORMAT);
1562 if (x == NULL || PyDict_SetItemString(d, "FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001563 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001564 Py_DECREF(x);
1565#endif
1566#ifdef CL_FORMAT_ABGR
1567 x = PyInt_FromLong(CL_FORMAT_ABGR);
1568 if (x == NULL || PyDict_SetItemString(d, "FORMAT_ABGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001569 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001570 Py_DECREF(x);
1571#endif
1572#ifdef CL_FORMAT_BGR
1573 x = PyInt_FromLong(CL_FORMAT_BGR);
1574 if (x == NULL || PyDict_SetItemString(d, "FORMAT_BGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001575 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001576 Py_DECREF(x);
1577#endif
1578#ifdef CL_FORMAT_BGR233
1579 x = PyInt_FromLong(CL_FORMAT_BGR233);
1580 if (x == NULL || PyDict_SetItemString(d, "FORMAT_BGR233", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001581 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001582 Py_DECREF(x);
1583#endif
1584#ifdef CL_FORMAT_GRAYSCALE
1585 x = PyInt_FromLong(CL_FORMAT_GRAYSCALE);
1586 if (x == NULL || PyDict_SetItemString(d, "FORMAT_GRAYSCALE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001587 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001588 Py_DECREF(x);
1589#endif
1590#ifdef CL_FORMAT_MONO
1591 x = PyInt_FromLong(CL_FORMAT_MONO);
1592 if (x == NULL || PyDict_SetItemString(d, "FORMAT_MONO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001593 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001594 Py_DECREF(x);
1595#endif
1596#ifdef CL_FORMAT_RBG323
1597 x = PyInt_FromLong(CL_FORMAT_RBG323);
1598 if (x == NULL || PyDict_SetItemString(d, "FORMAT_RBG323", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001599 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001600 Py_DECREF(x);
1601#endif
1602#ifdef CL_FORMAT_STEREO_INTERLEAVED
1603 x = PyInt_FromLong(CL_FORMAT_STEREO_INTERLEAVED);
1604 if (x == NULL || PyDict_SetItemString(d, "FORMAT_STEREO_INTERLEAVED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001605 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001606 Py_DECREF(x);
1607#endif
1608#ifdef CL_FORMAT_XBGR
1609 x = PyInt_FromLong(CL_FORMAT_XBGR);
1610 if (x == NULL || PyDict_SetItemString(d, "FORMAT_XBGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001611 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001612 Py_DECREF(x);
1613#endif
1614#ifdef CL_FORMAT_YCbCr
1615 x = PyInt_FromLong(CL_FORMAT_YCbCr);
1616 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001617 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001618 Py_DECREF(x);
1619#endif
1620#ifdef CL_FORMAT_YCbCr422
1621 x = PyInt_FromLong(CL_FORMAT_YCbCr422);
1622 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001623 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001624 Py_DECREF(x);
1625#endif
1626#ifdef CL_FORMAT_YCbCr422DC
1627 x = PyInt_FromLong(CL_FORMAT_YCbCr422DC);
1628 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001629 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001630 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001631#endif
1632#ifdef CL_FRAME
Guido van Rossum72429051997-08-12 14:58:54 +00001633 x = PyInt_FromLong(CL_FRAME);
1634 if (x == NULL || PyDict_SetItemString(d, "FRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001635 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001636 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001637#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001638#ifdef CL_FRAMES_PER_CHUNK
1639 x = PyInt_FromLong(CL_FRAMES_PER_CHUNK);
1640 if (x == NULL || PyDict_SetItemString(d, "FRAMES_PER_CHUNK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001641 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001642 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001643#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001644#ifdef CL_FRAME_BUFFER_SIZE
1645 x = PyInt_FromLong(CL_FRAME_BUFFER_SIZE);
1646 if (x == NULL || PyDict_SetItemString(d, "FRAME_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001647 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001648 Py_DECREF(x);
1649#endif
1650#ifdef CL_FRAME_BUFFER_SIZE_ZERO
1651 x = PyInt_FromLong(CL_FRAME_BUFFER_SIZE_ZERO);
1652 if (x == NULL || PyDict_SetItemString(d, "FRAME_BUFFER_SIZE_ZERO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001653 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001654 Py_DECREF(x);
1655#endif
1656#ifdef CL_FRAME_INDEX
1657 x = PyInt_FromLong(CL_FRAME_INDEX);
1658 if (x == NULL || PyDict_SetItemString(d, "FRAME_INDEX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001659 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001660 Py_DECREF(x);
1661#endif
1662#ifdef CL_FRAME_RATE
1663 x = PyInt_FromLong(CL_FRAME_RATE);
1664 if (x == NULL || PyDict_SetItemString(d, "FRAME_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001665 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001666 Py_DECREF(x);
1667#endif
1668#ifdef CL_FRAME_SIZE
1669 x = PyInt_FromLong(CL_FRAME_SIZE);
1670 if (x == NULL || PyDict_SetItemString(d, "FRAME_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001671 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001672 Py_DECREF(x);
1673#endif
1674#ifdef CL_FRAME_TYPE
1675 x = PyInt_FromLong(CL_FRAME_TYPE);
1676 if (x == NULL || PyDict_SetItemString(d, "FRAME_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001677 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001678 Py_DECREF(x);
1679#endif
1680#ifdef CL_G711_ALAW
1681 x = PyInt_FromLong(CL_G711_ALAW);
1682 if (x == NULL || PyDict_SetItemString(d, "G711_ALAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001683 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001684 Py_DECREF(x);
1685#endif
1686#ifdef CL_G711_ALAW_SOFTWARE
1687 x = PyInt_FromLong(CL_G711_ALAW_SOFTWARE);
1688 if (x == NULL || PyDict_SetItemString(d, "G711_ALAW_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001689 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001690 Py_DECREF(x);
1691#endif
1692#ifdef CL_G711_ULAW
1693 x = PyInt_FromLong(CL_G711_ULAW);
1694 if (x == NULL || PyDict_SetItemString(d, "G711_ULAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001695 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001696 Py_DECREF(x);
1697#endif
1698#ifdef CL_G711_ULAW_SOFTWARE
1699 x = PyInt_FromLong(CL_G711_ULAW_SOFTWARE);
1700 if (x == NULL || PyDict_SetItemString(d, "G711_ULAW_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001701 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001702 Py_DECREF(x);
1703#endif
1704#ifdef CL_GRAYSCALE
1705 x = PyInt_FromLong(CL_GRAYSCALE);
1706 if (x == NULL || PyDict_SetItemString(d, "GRAYSCALE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001707 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001708 Py_DECREF(x);
1709#endif
1710#ifdef CL_HDCC
1711 x = PyInt_FromLong(CL_HDCC);
1712 if (x == NULL || PyDict_SetItemString(d, "HDCC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001713 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001714 Py_DECREF(x);
1715#endif
1716#ifdef CL_HDCC_SAMPLES_PER_TILE
1717 x = PyInt_FromLong(CL_HDCC_SAMPLES_PER_TILE);
1718 if (x == NULL || PyDict_SetItemString(d, "HDCC_SAMPLES_PER_TILE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001719 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001720 Py_DECREF(x);
1721#endif
1722#ifdef CL_HDCC_SOFTWARE
1723 x = PyInt_FromLong(CL_HDCC_SOFTWARE);
1724 if (x == NULL || PyDict_SetItemString(d, "HDCC_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001725 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001726 Py_DECREF(x);
1727#endif
1728#ifdef CL_HDCC_TILE_THRESHOLD
1729 x = PyInt_FromLong(CL_HDCC_TILE_THRESHOLD);
1730 if (x == NULL || PyDict_SetItemString(d, "HDCC_TILE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001731 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001732 Py_DECREF(x);
1733#endif
1734#ifdef CL_HEADER_START_CODE
1735 x = PyInt_FromLong(CL_HEADER_START_CODE);
1736 if (x == NULL || PyDict_SetItemString(d, "HEADER_START_CODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001737 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001738 Py_DECREF(x);
1739#endif
1740#ifdef CL_IMAGEINFO_FIELDMASK
1741 x = PyInt_FromLong(CL_IMAGEINFO_FIELDMASK);
1742 if (x == NULL || PyDict_SetItemString(d, "IMAGEINFO_FIELDMASK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001743 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001744 Py_DECREF(x);
1745#endif
1746#ifdef CL_IMAGE_CROP_BOTTOM
1747 x = PyInt_FromLong(CL_IMAGE_CROP_BOTTOM);
1748 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_BOTTOM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001749 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001750 Py_DECREF(x);
1751#endif
1752#ifdef CL_IMAGE_CROP_LEFT
1753 x = PyInt_FromLong(CL_IMAGE_CROP_LEFT);
1754 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_LEFT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001755 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001756 Py_DECREF(x);
1757#endif
1758#ifdef CL_IMAGE_CROP_RIGHT
1759 x = PyInt_FromLong(CL_IMAGE_CROP_RIGHT);
1760 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_RIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001761 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001762 Py_DECREF(x);
1763#endif
1764#ifdef CL_IMAGE_CROP_TOP
1765 x = PyInt_FromLong(CL_IMAGE_CROP_TOP);
1766 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_TOP", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001767 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001768 Py_DECREF(x);
1769#endif
1770#ifdef CL_IMAGE_HEIGHT
1771 x = PyInt_FromLong(CL_IMAGE_HEIGHT);
1772 if (x == NULL || PyDict_SetItemString(d, "IMAGE_HEIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001773 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001774 Py_DECREF(x);
1775#endif
1776#ifdef CL_IMAGE_WIDTH
1777 x = PyInt_FromLong(CL_IMAGE_WIDTH);
1778 if (x == NULL || PyDict_SetItemString(d, "IMAGE_WIDTH", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001779 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001780 Py_DECREF(x);
1781#endif
1782#ifdef CL_IMPACT_CODEC_CONTROL
1783 x = PyInt_FromLong(CL_IMPACT_CODEC_CONTROL);
1784 if (x == NULL || PyDict_SetItemString(d, "IMPACT_CODEC_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001785 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001786 Py_DECREF(x);
1787#endif
1788#ifdef CL_IMPACT_FRAME_INTERLEAVE
1789 x = PyInt_FromLong(CL_IMPACT_FRAME_INTERLEAVE);
1790 if (x == NULL || PyDict_SetItemString(d, "IMPACT_FRAME_INTERLEAVE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001791 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001792 Py_DECREF(x);
1793#endif
1794#ifdef CL_IMPACT_NUM_PARAMS
1795 x = PyInt_FromLong(CL_IMPACT_NUM_PARAMS);
1796 if (x == NULL || PyDict_SetItemString(d, "IMPACT_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001797 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001798 Py_DECREF(x);
1799#endif
1800#ifdef CL_INTERNAL_FORMAT
1801 x = PyInt_FromLong(CL_INTERNAL_FORMAT);
1802 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001803 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001804 Py_DECREF(x);
1805#endif
1806#ifdef CL_INTERNAL_IMAGE_HEIGHT
1807 x = PyInt_FromLong(CL_INTERNAL_IMAGE_HEIGHT);
1808 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_IMAGE_HEIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001809 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001810 Py_DECREF(x);
1811#endif
1812#ifdef CL_INTERNAL_IMAGE_WIDTH
1813 x = PyInt_FromLong(CL_INTERNAL_IMAGE_WIDTH);
1814 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_IMAGE_WIDTH", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001815 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001816 Py_DECREF(x);
1817#endif
1818#ifdef CL_INTRA
1819 x = PyInt_FromLong(CL_INTRA);
1820 if (x == NULL || PyDict_SetItemString(d, "INTRA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001821 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001822 Py_DECREF(x);
1823#endif
1824#ifdef CL_JPEG
1825 x = PyInt_FromLong(CL_JPEG);
1826 if (x == NULL || PyDict_SetItemString(d, "JPEG", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001827 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001828 Py_DECREF(x);
1829#endif
1830#ifdef CL_JPEG_COSMO
1831 x = PyInt_FromLong(CL_JPEG_COSMO);
1832 if (x == NULL || PyDict_SetItemString(d, "JPEG_COSMO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001833 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001834 Py_DECREF(x);
1835#endif
1836#ifdef CL_JPEG_ERROR
1837 x = PyInt_FromLong(CL_JPEG_ERROR);
1838 if (x == NULL || PyDict_SetItemString(d, "JPEG_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001839 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001840 Py_DECREF(x);
1841#endif
1842#ifdef CL_JPEG_IMPACT
1843 x = PyInt_FromLong(CL_JPEG_IMPACT);
1844 if (x == NULL || PyDict_SetItemString(d, "JPEG_IMPACT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001845 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001846 Py_DECREF(x);
1847#endif
1848#ifdef CL_JPEG_NUM_PARAMS
1849 x = PyInt_FromLong(CL_JPEG_NUM_PARAMS);
1850 if (x == NULL || PyDict_SetItemString(d, "JPEG_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001851 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001852 Py_DECREF(x);
1853#endif
1854#ifdef CL_JPEG_QUALITY_FACTOR
1855 x = PyInt_FromLong(CL_JPEG_QUALITY_FACTOR);
1856 if (x == NULL || PyDict_SetItemString(d, "JPEG_QUALITY_FACTOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001857 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001858 Py_DECREF(x);
1859#endif
1860#ifdef CL_JPEG_QUANTIZATION_TABLES
1861 x = PyInt_FromLong(CL_JPEG_QUANTIZATION_TABLES);
1862 if (x == NULL || PyDict_SetItemString(d, "JPEG_QUANTIZATION_TABLES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001863 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001864 Py_DECREF(x);
1865#endif
1866#ifdef CL_JPEG_SOFTWARE
1867 x = PyInt_FromLong(CL_JPEG_SOFTWARE);
1868 if (x == NULL || PyDict_SetItemString(d, "JPEG_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001869 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001870 Py_DECREF(x);
1871#endif
1872#ifdef CL_JPEG_STREAM_HEADERS
1873 x = PyInt_FromLong(CL_JPEG_STREAM_HEADERS);
1874 if (x == NULL || PyDict_SetItemString(d, "JPEG_STREAM_HEADERS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001875 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001876 Py_DECREF(x);
1877#endif
1878#ifdef CL_KEYFRAME
1879 x = PyInt_FromLong(CL_KEYFRAME);
1880 if (x == NULL || PyDict_SetItemString(d, "KEYFRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001881 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001882 Py_DECREF(x);
1883#endif
1884#ifdef CL_KEYFRAME_DISTANCE
1885 x = PyInt_FromLong(CL_KEYFRAME_DISTANCE);
1886 if (x == NULL || PyDict_SetItemString(d, "KEYFRAME_DISTANCE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001887 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001888 Py_DECREF(x);
1889#endif
1890#ifdef CL_LAST_FRAME_INDEX
1891 x = PyInt_FromLong(CL_LAST_FRAME_INDEX);
1892 if (x == NULL || PyDict_SetItemString(d, "LAST_FRAME_INDEX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001893 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001894 Py_DECREF(x);
1895#endif
1896#ifdef CL_LAYER
1897 x = PyInt_FromLong(CL_LAYER);
1898 if (x == NULL || PyDict_SetItemString(d, "LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001899 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001900 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001901#endif
1902#ifdef CL_LUMA_THRESHOLD
Guido van Rossum72429051997-08-12 14:58:54 +00001903 x = PyInt_FromLong(CL_LUMA_THRESHOLD);
1904 if (x == NULL || PyDict_SetItemString(d, "LUMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001905 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001906 Py_DECREF(x);
1907#endif
1908#ifdef CL_MAX_NUMBER_OF_AUDIO_ALGORITHMS
1909 x = PyInt_FromLong(CL_MAX_NUMBER_OF_AUDIO_ALGORITHMS);
1910 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_AUDIO_ALGORITHMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001911 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001912 Py_DECREF(x);
1913#endif
1914#ifdef CL_MAX_NUMBER_OF_FORMATS
1915 x = PyInt_FromLong(CL_MAX_NUMBER_OF_FORMATS);
1916 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001917 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001918 Py_DECREF(x);
1919#endif
1920#ifdef CL_MAX_NUMBER_OF_ORIGINAL_FORMATS
1921 x = PyInt_FromLong(CL_MAX_NUMBER_OF_ORIGINAL_FORMATS);
1922 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_ORIGINAL_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001923 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001924 Py_DECREF(x);
1925#endif
1926#ifdef CL_MAX_NUMBER_OF_PARAMS
1927 x = PyInt_FromLong(CL_MAX_NUMBER_OF_PARAMS);
1928 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001929 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001930 Py_DECREF(x);
1931#endif
1932#ifdef CL_MAX_NUMBER_OF_VIDEO_ALGORITHMS
1933 x = PyInt_FromLong(CL_MAX_NUMBER_OF_VIDEO_ALGORITHMS);
1934 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_VIDEO_ALGORITHMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001935 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001936 Py_DECREF(x);
1937#endif
1938#ifdef CL_MONO
1939 x = PyInt_FromLong(CL_MONO);
1940 if (x == NULL || PyDict_SetItemString(d, "MONO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001941 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001942 Py_DECREF(x);
1943#endif
1944#ifdef CL_MPEG1_AUDIO_AWARE
1945 x = PyInt_FromLong(CL_MPEG1_AUDIO_AWARE);
1946 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_AWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001947 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001948 Py_DECREF(x);
1949#endif
1950#ifdef CL_MPEG1_AUDIO_LAYER
1951 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER);
1952 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001953 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001954 Py_DECREF(x);
1955#endif
1956#ifdef CL_MPEG1_AUDIO_LAYER_I
1957 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER_I);
1958 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001959 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001960 Py_DECREF(x);
1961#endif
1962#ifdef CL_MPEG1_AUDIO_LAYER_II
1963 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER_II);
1964 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001965 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001966 Py_DECREF(x);
1967#endif
1968#ifdef CL_MPEG1_AUDIO_MODE
1969 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE);
1970 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001971 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001972 Py_DECREF(x);
1973#endif
1974#ifdef CL_MPEG1_AUDIO_MODE_DUAL
1975 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_DUAL);
1976 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_DUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001977 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001978 Py_DECREF(x);
1979#endif
1980#ifdef CL_MPEG1_AUDIO_MODE_JOINT
1981 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_JOINT);
1982 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_JOINT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001983 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001984 Py_DECREF(x);
1985#endif
1986#ifdef CL_MPEG1_AUDIO_MODE_SINGLE
1987 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_SINGLE);
1988 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_SINGLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001989 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001990 Py_DECREF(x);
1991#endif
1992#ifdef CL_MPEG1_AUDIO_MODE_STEREO
1993 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_STEREO);
1994 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001995 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001996 Py_DECREF(x);
1997#endif
1998#ifdef CL_MPEG1_AUDIO_SOFTWARE
1999 x = PyInt_FromLong(CL_MPEG1_AUDIO_SOFTWARE);
2000 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002001 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002002 Py_DECREF(x);
2003#endif
2004#ifdef CL_MPEG1_END_OF_STREAM
2005 x = PyInt_FromLong(CL_MPEG1_END_OF_STREAM);
2006 if (x == NULL || PyDict_SetItemString(d, "MPEG1_END_OF_STREAM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002007 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002008 Py_DECREF(x);
2009#endif
2010#ifdef CL_MPEG1_ERROR
2011 x = PyInt_FromLong(CL_MPEG1_ERROR);
2012 if (x == NULL || PyDict_SetItemString(d, "MPEG1_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002013 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002014 Py_DECREF(x);
2015#endif
2016#ifdef CL_MPEG1_NUM_PARAMS
2017 x = PyInt_FromLong(CL_MPEG1_NUM_PARAMS);
2018 if (x == NULL || PyDict_SetItemString(d, "MPEG1_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002019 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002020 Py_DECREF(x);
2021#endif
2022#ifdef CL_MPEG1_VIDEO_M
2023 x = PyInt_FromLong(CL_MPEG1_VIDEO_M);
2024 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_M", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002025 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002026 Py_DECREF(x);
2027#endif
2028#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X
2029 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X);
2030 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002031 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002032 Py_DECREF(x);
2033#endif
2034#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y
2035 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y);
2036 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002037 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002038 Py_DECREF(x);
2039#endif
2040#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X
2041 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X);
2042 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002043 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002044 Py_DECREF(x);
2045#endif
2046#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y
2047 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y);
2048 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002049 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002050 Py_DECREF(x);
2051#endif
2052#ifdef CL_MPEG1_VIDEO_N
2053 x = PyInt_FromLong(CL_MPEG1_VIDEO_N);
2054 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_N", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002055 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002056 Py_DECREF(x);
2057#endif
2058#ifdef CL_MPEG1_VIDEO_SOFTNESS
2059 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS);
2060 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002061 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002062 Py_DECREF(x);
2063#endif
2064#ifdef CL_MPEG1_VIDEO_SOFTNESS_MAXIMUM
2065 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_MAXIMUM);
2066 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_MAXIMUM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002067 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002068 Py_DECREF(x);
2069#endif
2070#ifdef CL_MPEG1_VIDEO_SOFTNESS_MEDIUM
2071 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_MEDIUM);
2072 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_MEDIUM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002073 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002074 Py_DECREF(x);
2075#endif
2076#ifdef CL_MPEG1_VIDEO_SOFTNESS_NONE
2077 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_NONE);
2078 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_NONE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002079 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002080 Py_DECREF(x);
2081#endif
2082#ifdef CL_MPEG1_VIDEO_SOFTWARE
2083 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTWARE);
2084 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002085 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002086 Py_DECREF(x);
2087#endif
2088#ifdef CL_MPEG_VIDEO
2089 x = PyInt_FromLong(CL_MPEG_VIDEO);
2090 if (x == NULL || PyDict_SetItemString(d, "MPEG_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002091 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002092 Py_DECREF(x);
2093#endif
2094#ifdef CL_MULTIRATE_AWARE
2095 x = PyInt_FromLong(CL_MULTIRATE_AWARE);
2096 if (x == NULL || PyDict_SetItemString(d, "MULTIRATE_AWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002097 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002098 Py_DECREF(x);
2099#endif
2100#ifdef CL_MVC1
2101 x = PyInt_FromLong(CL_MVC1);
2102 if (x == NULL || PyDict_SetItemString(d, "MVC1", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002103 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002104 Py_DECREF(x);
2105#endif
2106#ifdef CL_MVC1_SOFTWARE
2107 x = PyInt_FromLong(CL_MVC1_SOFTWARE);
2108 if (x == NULL || PyDict_SetItemString(d, "MVC1_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002109 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002110 Py_DECREF(x);
2111#endif
2112#ifdef CL_MVC2
2113 x = PyInt_FromLong(CL_MVC2);
2114 if (x == NULL || PyDict_SetItemString(d, "MVC2", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002115 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002116 Py_DECREF(x);
2117#endif
2118#ifdef CL_MVC2_BLENDING
2119 x = PyInt_FromLong(CL_MVC2_BLENDING);
2120 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002121 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002122 Py_DECREF(x);
2123#endif
2124#ifdef CL_MVC2_BLENDING_OFF
2125 x = PyInt_FromLong(CL_MVC2_BLENDING_OFF);
2126 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING_OFF", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002127 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002128 Py_DECREF(x);
2129#endif
2130#ifdef CL_MVC2_BLENDING_ON
2131 x = PyInt_FromLong(CL_MVC2_BLENDING_ON);
2132 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING_ON", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002133 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002134 Py_DECREF(x);
2135#endif
2136#ifdef CL_MVC2_CHROMA_THRESHOLD
2137 x = PyInt_FromLong(CL_MVC2_CHROMA_THRESHOLD);
2138 if (x == NULL || PyDict_SetItemString(d, "MVC2_CHROMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002139 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002140 Py_DECREF(x);
2141#endif
2142#ifdef CL_MVC2_EDGE_THRESHOLD
2143 x = PyInt_FromLong(CL_MVC2_EDGE_THRESHOLD);
2144 if (x == NULL || PyDict_SetItemString(d, "MVC2_EDGE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002145 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002146 Py_DECREF(x);
2147#endif
2148#ifdef CL_MVC2_ERROR
2149 x = PyInt_FromLong(CL_MVC2_ERROR);
2150 if (x == NULL || PyDict_SetItemString(d, "MVC2_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002151 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002152 Py_DECREF(x);
2153#endif
2154#ifdef CL_MVC2_LUMA_THRESHOLD
2155 x = PyInt_FromLong(CL_MVC2_LUMA_THRESHOLD);
2156 if (x == NULL || PyDict_SetItemString(d, "MVC2_LUMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002157 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002158 Py_DECREF(x);
2159#endif
2160#ifdef CL_MVC2_SOFTWARE
2161 x = PyInt_FromLong(CL_MVC2_SOFTWARE);
2162 if (x == NULL || PyDict_SetItemString(d, "MVC2_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002163 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002164 Py_DECREF(x);
2165#endif
2166#ifdef CL_MVC3_QUALITY_LEVEL
2167 x = PyInt_FromLong(CL_MVC3_QUALITY_LEVEL);
2168 if (x == NULL || PyDict_SetItemString(d, "MVC3_QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002169 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002170 Py_DECREF(x);
2171#endif
2172#ifdef CL_MVC3_SOFTWARE
2173 x = PyInt_FromLong(CL_MVC3_SOFTWARE);
2174 if (x == NULL || PyDict_SetItemString(d, "MVC3_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002175 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002176 Py_DECREF(x);
2177#endif
2178#ifdef CL_NEXT_NOT_AVAILABLE
2179 x = PyInt_FromLong(CL_NEXT_NOT_AVAILABLE);
2180 if (x == NULL || PyDict_SetItemString(d, "NEXT_NOT_AVAILABLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002181 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002182 Py_DECREF(x);
2183#endif
2184#ifdef CL_NOISE_MARGIN
2185 x = PyInt_FromLong(CL_NOISE_MARGIN);
2186 if (x == NULL || PyDict_SetItemString(d, "NOISE_MARGIN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002187 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002188 Py_DECREF(x);
2189#endif
2190#ifdef CL_NONE
2191 x = PyInt_FromLong(CL_NONE);
2192 if (x == NULL || PyDict_SetItemString(d, "NONE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002193 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002194 Py_DECREF(x);
2195#endif
2196#ifdef CL_NUMBER_OF_FORMATS
2197 x = PyInt_FromLong(CL_NUMBER_OF_FORMATS);
2198 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002199 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002200 Py_DECREF(x);
2201#endif
2202#ifdef CL_NUMBER_OF_FRAMES
2203 x = PyInt_FromLong(CL_NUMBER_OF_FRAMES);
2204 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_FRAMES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002205 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002206 Py_DECREF(x);
2207#endif
2208#ifdef CL_NUMBER_OF_PARAMS
2209 x = PyInt_FromLong(CL_NUMBER_OF_PARAMS);
2210 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002211 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002212 Py_DECREF(x);
2213#endif
2214#ifdef CL_NUMBER_OF_PARAMS_FREEZE
2215 x = PyInt_FromLong(CL_NUMBER_OF_PARAMS_FREEZE);
2216 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_PARAMS_FREEZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002217 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002218 Py_DECREF(x);
2219#endif
2220#ifdef CL_NUMBER_OF_VIDEO_FORMATS
2221 x = PyInt_FromLong(CL_NUMBER_OF_VIDEO_FORMATS);
2222 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_VIDEO_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002223 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002224 Py_DECREF(x);
2225#endif
2226#ifdef CL_ORIENTATION
2227 x = PyInt_FromLong(CL_ORIENTATION);
2228 if (x == NULL || PyDict_SetItemString(d, "ORIENTATION", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002229 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002230 Py_DECREF(x);
2231#endif
2232#ifdef CL_ORIGINAL_FORMAT
2233 x = PyInt_FromLong(CL_ORIGINAL_FORMAT);
2234 if (x == NULL || PyDict_SetItemString(d, "ORIGINAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002235 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002236 Py_DECREF(x);
2237#endif
2238#ifdef CL_PARAM_OUT_OF_RANGE
2239 x = PyInt_FromLong(CL_PARAM_OUT_OF_RANGE);
2240 if (x == NULL || PyDict_SetItemString(d, "PARAM_OUT_OF_RANGE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002241 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002242 Py_DECREF(x);
2243#endif
2244#ifdef CL_PIXEL_ASPECT
2245 x = PyInt_FromLong(CL_PIXEL_ASPECT);
2246 if (x == NULL || PyDict_SetItemString(d, "PIXEL_ASPECT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002247 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002248 Py_DECREF(x);
2249#endif
2250#ifdef CL_PREDICTED
2251 x = PyInt_FromLong(CL_PREDICTED);
2252 if (x == NULL || PyDict_SetItemString(d, "PREDICTED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002253 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002254 Py_DECREF(x);
2255#endif
2256#ifdef CL_PREROLL
2257 x = PyInt_FromLong(CL_PREROLL);
2258 if (x == NULL || PyDict_SetItemString(d, "PREROLL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002259 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002260 Py_DECREF(x);
2261#endif
2262#ifdef CL_QUALITY_FACTOR
2263 x = PyInt_FromLong(CL_QUALITY_FACTOR);
2264 if (x == NULL || PyDict_SetItemString(d, "QUALITY_FACTOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002265 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002266 Py_DECREF(x);
2267#endif
2268#ifdef CL_QUALITY_LEVEL
2269 x = PyInt_FromLong(CL_QUALITY_LEVEL);
2270 if (x == NULL || PyDict_SetItemString(d, "QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002271 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002272 Py_DECREF(x);
2273#endif
2274#ifdef CL_QUALITY_SPATIAL
2275 x = PyInt_FromLong(CL_QUALITY_SPATIAL);
2276 if (x == NULL || PyDict_SetItemString(d, "QUALITY_SPATIAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002277 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002278 Py_DECREF(x);
2279#endif
2280#ifdef CL_QUALITY_TEMPORAL
2281 x = PyInt_FromLong(CL_QUALITY_TEMPORAL);
2282 if (x == NULL || PyDict_SetItemString(d, "QUALITY_TEMPORAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002283 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002284 Py_DECREF(x);
2285#endif
2286#ifdef CL_QUANTIZATION_TABLES
2287 x = PyInt_FromLong(CL_QUANTIZATION_TABLES);
2288 if (x == NULL || PyDict_SetItemString(d, "QUANTIZATION_TABLES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002289 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002290 Py_DECREF(x);
2291#endif
2292#ifdef CL_RANGE_VALUE
2293 x = PyInt_FromLong(CL_RANGE_VALUE);
2294 if (x == NULL || PyDict_SetItemString(d, "RANGE_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002295 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002296 Py_DECREF(x);
2297#endif
2298#ifdef CL_RGB
2299 x = PyInt_FromLong(CL_RGB);
2300 if (x == NULL || PyDict_SetItemString(d, "RGB", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002301 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002302 Py_DECREF(x);
2303#endif
2304#ifdef CL_RGB332
2305 x = PyInt_FromLong(CL_RGB332);
2306 if (x == NULL || PyDict_SetItemString(d, "RGB332", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002307 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002308 Py_DECREF(x);
2309#endif
2310#ifdef CL_RGB8
2311 x = PyInt_FromLong(CL_RGB8);
2312 if (x == NULL || PyDict_SetItemString(d, "RGB8", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002313 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002314 Py_DECREF(x);
2315#endif
2316#ifdef CL_RGBA
2317 x = PyInt_FromLong(CL_RGBA);
2318 if (x == NULL || PyDict_SetItemString(d, "RGBA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002319 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002320 Py_DECREF(x);
2321#endif
2322#ifdef CL_RGBX
2323 x = PyInt_FromLong(CL_RGBX);
2324 if (x == NULL || PyDict_SetItemString(d, "RGBX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002325 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002326 Py_DECREF(x);
2327#endif
2328#ifdef CL_RLE
2329 x = PyInt_FromLong(CL_RLE);
2330 if (x == NULL || PyDict_SetItemString(d, "RLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002331 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002332 Py_DECREF(x);
2333#endif
2334#ifdef CL_RLE24
2335 x = PyInt_FromLong(CL_RLE24);
2336 if (x == NULL || PyDict_SetItemString(d, "RLE24", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002337 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002338 Py_DECREF(x);
2339#endif
2340#ifdef CL_RLE24_SOFTWARE
2341 x = PyInt_FromLong(CL_RLE24_SOFTWARE);
2342 if (x == NULL || PyDict_SetItemString(d, "RLE24_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002343 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002344 Py_DECREF(x);
2345#endif
2346#ifdef CL_RLE_SOFTWARE
2347 x = PyInt_FromLong(CL_RLE_SOFTWARE);
2348 if (x == NULL || PyDict_SetItemString(d, "RLE_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002349 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002350 Py_DECREF(x);
2351#endif
2352#ifdef CL_RTR
2353 x = PyInt_FromLong(CL_RTR);
2354 if (x == NULL || PyDict_SetItemString(d, "RTR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002355 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002356 Py_DECREF(x);
2357#endif
2358#ifdef CL_RTR1
2359 x = PyInt_FromLong(CL_RTR1);
2360 if (x == NULL || PyDict_SetItemString(d, "RTR1", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002361 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002362 Py_DECREF(x);
2363#endif
2364#ifdef CL_RTR_QUALITY_LEVEL
2365 x = PyInt_FromLong(CL_RTR_QUALITY_LEVEL);
2366 if (x == NULL || PyDict_SetItemString(d, "RTR_QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002367 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002368 Py_DECREF(x);
2369#endif
2370#ifdef CL_SAMPLES_PER_TILE
2371 x = PyInt_FromLong(CL_SAMPLES_PER_TILE);
2372 if (x == NULL || PyDict_SetItemString(d, "SAMPLES_PER_TILE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002373 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002374 Py_DECREF(x);
2375#endif
2376#ifdef CL_SCHEME_BUSY
2377 x = PyInt_FromLong(CL_SCHEME_BUSY);
2378 if (x == NULL || PyDict_SetItemString(d, "SCHEME_BUSY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002379 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002380 Py_DECREF(x);
2381#endif
2382#ifdef CL_SCHEME_NOT_AVAILABLE
2383 x = PyInt_FromLong(CL_SCHEME_NOT_AVAILABLE);
2384 if (x == NULL || PyDict_SetItemString(d, "SCHEME_NOT_AVAILABLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002385 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002386 Py_DECREF(x);
2387#endif
2388#ifdef CL_SPEED
2389 x = PyInt_FromLong(CL_SPEED);
2390 if (x == NULL || PyDict_SetItemString(d, "SPEED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002391 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002392 Py_DECREF(x);
2393#endif
2394#ifdef CL_STEREO_INTERLEAVED
2395 x = PyInt_FromLong(CL_STEREO_INTERLEAVED);
2396 if (x == NULL || PyDict_SetItemString(d, "STEREO_INTERLEAVED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002397 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002398 Py_DECREF(x);
2399#endif
2400#ifdef CL_STREAM_HEADERS
2401 x = PyInt_FromLong(CL_STREAM_HEADERS);
2402 if (x == NULL || PyDict_SetItemString(d, "STREAM_HEADERS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002403 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002404 Py_DECREF(x);
2405#endif
2406#ifdef CL_TILE_THRESHOLD
2407 x = PyInt_FromLong(CL_TILE_THRESHOLD);
2408 if (x == NULL || PyDict_SetItemString(d, "TILE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002409 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002410 Py_DECREF(x);
2411#endif
2412#ifdef CL_TOP_DOWN
2413 x = PyInt_FromLong(CL_TOP_DOWN);
2414 if (x == NULL || PyDict_SetItemString(d, "TOP_DOWN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002415 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002416 Py_DECREF(x);
2417#endif
2418#ifdef CL_ULAW
2419 x = PyInt_FromLong(CL_ULAW);
2420 if (x == NULL || PyDict_SetItemString(d, "ULAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002421 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002422 Py_DECREF(x);
2423#endif
2424#ifdef CL_UNCOMPRESSED
2425 x = PyInt_FromLong(CL_UNCOMPRESSED);
2426 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002427 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002428 Py_DECREF(x);
2429#endif
2430#ifdef CL_UNCOMPRESSED_AUDIO
2431 x = PyInt_FromLong(CL_UNCOMPRESSED_AUDIO);
2432 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002433 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002434 Py_DECREF(x);
2435#endif
2436#ifdef CL_UNCOMPRESSED_VIDEO
2437 x = PyInt_FromLong(CL_UNCOMPRESSED_VIDEO);
2438 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002439 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002440 Py_DECREF(x);
2441#endif
2442#ifdef CL_UNKNOWN_SCHEME
2443 x = PyInt_FromLong(CL_UNKNOWN_SCHEME);
2444 if (x == NULL || PyDict_SetItemString(d, "UNKNOWN_SCHEME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002445 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002446 Py_DECREF(x);
2447#endif
2448#ifdef CL_VIDEO
2449 x = PyInt_FromLong(CL_VIDEO);
2450 if (x == NULL || PyDict_SetItemString(d, "VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002451 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002452 Py_DECREF(x);
2453#endif
2454#ifdef CL_Y
2455 x = PyInt_FromLong(CL_Y);
2456 if (x == NULL || PyDict_SetItemString(d, "Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002457 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002458 Py_DECREF(x);
2459#endif
2460#ifdef CL_YCbCr
2461 x = PyInt_FromLong(CL_YCbCr);
2462 if (x == NULL || PyDict_SetItemString(d, "YCbCr", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002463 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002464 Py_DECREF(x);
2465#endif
2466#ifdef CL_YCbCr422
2467 x = PyInt_FromLong(CL_YCbCr422);
2468 if (x == NULL || PyDict_SetItemString(d, "YCbCr422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002469 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002470 Py_DECREF(x);
2471#endif
2472#ifdef CL_YCbCr422DC
2473 x = PyInt_FromLong(CL_YCbCr422DC);
2474 if (x == NULL || PyDict_SetItemString(d, "YCbCr422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002475 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002476 Py_DECREF(x);
2477#endif
2478#ifdef CL_YCbCr422HC
2479 x = PyInt_FromLong(CL_YCbCr422HC);
2480 if (x == NULL || PyDict_SetItemString(d, "YCbCr422HC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002481 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002482 Py_DECREF(x);
2483#endif
2484#ifdef CL_YUV
2485 x = PyInt_FromLong(CL_YUV);
2486 if (x == NULL || PyDict_SetItemString(d, "YUV", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002487 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002488 Py_DECREF(x);
2489#endif
2490#ifdef CL_YUV422
2491 x = PyInt_FromLong(CL_YUV422);
2492 if (x == NULL || PyDict_SetItemString(d, "YUV422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002493 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002494 Py_DECREF(x);
2495#endif
2496#ifdef CL_YUV422DC
2497 x = PyInt_FromLong(CL_YUV422DC);
2498 if (x == NULL || PyDict_SetItemString(d, "YUV422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002499 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002500 Py_DECREF(x);
2501#endif
2502#ifdef CL_YUV422HC
2503 x = PyInt_FromLong(CL_YUV422HC);
2504 if (x == NULL || PyDict_SetItemString(d, "YUV422HC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002505 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002506 Py_DECREF(x);
2507#endif
2508#ifdef AWCMP_STEREO
2509 x = PyInt_FromLong(AWCMP_STEREO);
2510 if (x == NULL || PyDict_SetItemString(d, "AWCMP_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002511 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002512 Py_DECREF(x);
2513#endif
2514#ifdef AWCMP_JOINT_STEREO
2515 x = PyInt_FromLong(AWCMP_JOINT_STEREO);
2516 if (x == NULL || PyDict_SetItemString(d, "AWCMP_JOINT_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002517 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002518 Py_DECREF(x);
2519#endif
2520#ifdef AWCMP_INDEPENDENT
2521 x = PyInt_FromLong(AWCMP_INDEPENDENT);
2522 if (x == NULL || PyDict_SetItemString(d, "AWCMP_INDEPENDENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002523 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002524 Py_DECREF(x);
2525#endif
2526#ifdef AWCMP_FIXED_RATE
2527 x = PyInt_FromLong(AWCMP_FIXED_RATE);
2528 if (x == NULL || PyDict_SetItemString(d, "AWCMP_FIXED_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002529 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002530 Py_DECREF(x);
2531#endif
2532#ifdef AWCMP_CONST_QUAL
2533 x = PyInt_FromLong(AWCMP_CONST_QUAL);
2534 if (x == NULL || PyDict_SetItemString(d, "AWCMP_CONST_QUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002535 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002536 Py_DECREF(x);
2537#endif
2538#ifdef AWCMP_LOSSLESS
2539 x = PyInt_FromLong(AWCMP_LOSSLESS);
2540 if (x == NULL || PyDict_SetItemString(d, "AWCMP_LOSSLESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002541 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002542 Py_DECREF(x);
2543#endif
2544#ifdef AWCMP_MPEG_LAYER_I
2545 x = PyInt_FromLong(AWCMP_MPEG_LAYER_I);
2546 if (x == NULL || PyDict_SetItemString(d, "AWCMP_MPEG_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002547 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002548 Py_DECREF(x);
2549#endif
2550#ifdef AWCMP_MPEG_LAYER_II
2551 x = PyInt_FromLong(AWCMP_MPEG_LAYER_II);
2552 if (x == NULL || PyDict_SetItemString(d, "AWCMP_MPEG_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002553 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002554 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00002555#endif
2556
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +00002557 (void) clSetErrorHandler(cl_ErrorHandler);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +00002558}