blob: b6e1a0aaabc2e27df1bc69ba1dc1cf99d00d262d [file] [log] [blame]
Sjoerd Mullenderc4315491992-09-23 14:53:00 +00001/***********************************************************
Guido van Rossum524b5881995-01-04 19:10:35 +00002Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
3The Netherlands.
Sjoerd Mullenderc4315491992-09-23 14:53:00 +00004
5 All Rights Reserved
6
Guido van Rossumfd71b9e2000-06-30 23:50:40 +00007Copyright (c) 2000, BeOpen.com.
8Copyright (c) 1995-2000, Corporation for National Research Initiatives.
9Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
10All rights reserved.
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000011
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000012See the file "Misc/COPYRIGHT" for information on usage and
13redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000014
15******************************************************************/
16
17
18/* Cl objects */
19
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000020#define CLDEBUG
21
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000022#include <stdarg.h>
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000023#include <cl.h>
Guido van Rossum72429051997-08-12 14:58:54 +000024#if defined(CL_JPEG_SOFTWARE) && !defined(CL_JPEG_COSMO)
25#include <dmedia/cl_cosmo.h>
26#endif
Roger E. Massee474fb31997-01-17 16:00:02 +000027#include "Python.h"
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000028
29typedef struct {
Roger E. Massee474fb31997-01-17 16:00:02 +000030 PyObject_HEAD
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000031 int ob_isCompressor; /* Compressor or Decompressor */
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000032 CL_Handle ob_compressorHdl;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000033 int *ob_paramtypes;
34 int ob_nparams;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +000035} clobject;
36
Roger E. Massee474fb31997-01-17 16:00:02 +000037static PyObject *ClError; /* exception cl.error */
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000038
39static int error_handler_called = 0;
40
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000041/*
42 * We want to use the function prototypes that are available in the C
43 * compiler on the SGI. Because of that, we need to declare the first
44 * argument of the compressor and decompressor methods as "object *",
45 * even though they are really "clobject *". Therefore we cast the
46 * argument to the proper type using this macro.
47 */
48#define SELF ((clobject *) self)
49
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000050/********************************************************************
51 Utility routines.
52********************************************************************/
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000053static void
Sjoerd Mullender3a997271993-02-04 16:43:28 +000054cl_ErrorHandler(CL_Handle handle, int code, const char *fmt, ...)
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000055{
56 va_list ap;
57 char errbuf[BUFSIZ]; /* hopefully big enough */
Sjoerd Mullender384f2481992-09-29 16:43:43 +000058 char *p;
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000059
Roger E. Massee474fb31997-01-17 16:00:02 +000060 if (PyErr_Occurred()) /* don't change existing error */
Sjoerd Mullender384f2481992-09-29 16:43:43 +000061 return;
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000062 error_handler_called = 1;
63 va_start(ap, fmt);
64 vsprintf(errbuf, fmt, ap);
65 va_end(ap);
Sjoerd Mullender384f2481992-09-29 16:43:43 +000066 p = &errbuf[strlen(errbuf) - 1]; /* swat the line feed */
67 if (*p == '\n')
68 *p = 0;
Roger E. Massee474fb31997-01-17 16:00:02 +000069 PyErr_SetString(ClError, errbuf);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +000070}
71
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000072/*
73 * This assumes that params are always in the range 0 to some maximum.
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000074 */
75static int
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000076param_type_is_float(clobject *self, int param)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000077{
Sjoerd Mullender3a997271993-02-04 16:43:28 +000078 int bufferlength;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000079
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000080 if (self->ob_paramtypes == NULL) {
81 error_handler_called = 0;
82 bufferlength = clQueryParams(self->ob_compressorHdl, 0, 0);
83 if (error_handler_called)
84 return -1;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000085
Roger E. Massee474fb31997-01-17 16:00:02 +000086 self->ob_paramtypes = PyMem_NEW(int, bufferlength);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000087 if (self->ob_paramtypes == NULL)
88 return -1;
89 self->ob_nparams = bufferlength / 2;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000090
Roger E. Massee474fb31997-01-17 16:00:02 +000091 (void) clQueryParams(self->ob_compressorHdl,
92 self->ob_paramtypes, bufferlength);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000093 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +000094 PyMem_DEL(self->ob_paramtypes);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +000095 self->ob_paramtypes = NULL;
96 return -1;
97 }
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +000098 }
99
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000100 if (param < 0 || param >= self->ob_nparams)
101 return -1;
102
103 if (self->ob_paramtypes[param*2 + 1] == CL_FLOATING_ENUM_VALUE ||
104 self->ob_paramtypes[param*2 + 1] == CL_FLOATING_RANGE_VALUE)
105 return 1;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000106 else
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000107 return 0;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000108}
109
110/********************************************************************
111 Single image compression/decompression.
112********************************************************************/
Roger E. Massee474fb31997-01-17 16:00:02 +0000113static PyObject *
114cl_CompressImage(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000115{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000116 int compressionScheme, width, height, originalFormat;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000117 float compressionRatio;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000118 int frameBufferSize, compressedBufferSize;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000119 char *frameBuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000120 PyObject *compressedBuffer;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000121
Roger E. Massee474fb31997-01-17 16:00:02 +0000122 if (!PyArg_Parse(args, "(iiiifs#)", &compressionScheme,
123 &width, &height,
124 &originalFormat, &compressionRatio, &frameBuffer,
125 &frameBufferSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000126 return NULL;
127
Roger E. Massee474fb31997-01-17 16:00:02 +0000128 retry:
129 compressedBuffer = PyString_FromStringAndSize(NULL, frameBufferSize);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000130 if (compressedBuffer == NULL)
131 return NULL;
132
133 compressedBufferSize = frameBufferSize;
134 error_handler_called = 0;
135 if (clCompressImage(compressionScheme, width, height, originalFormat,
136 compressionRatio, (void *) frameBuffer,
137 &compressedBufferSize,
Roger E. Massee474fb31997-01-17 16:00:02 +0000138 (void *) PyString_AsString(compressedBuffer))
Guido van Rossum72429051997-08-12 14:58:54 +0000139 == FAILURE || error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000140 Py_DECREF(compressedBuffer);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000141 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000142 PyErr_SetString(ClError, "clCompressImage failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000143 return NULL;
144 }
145
146 if (compressedBufferSize > frameBufferSize) {
147 frameBufferSize = compressedBufferSize;
Roger E. Massee474fb31997-01-17 16:00:02 +0000148 Py_DECREF(compressedBuffer);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000149 goto retry;
150 }
151
152 if (compressedBufferSize < frameBufferSize)
Roger E. Massee474fb31997-01-17 16:00:02 +0000153 if (_PyString_Resize(&compressedBuffer, compressedBufferSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000154 return NULL;
155
156 return compressedBuffer;
157}
158
Roger E. Massee474fb31997-01-17 16:00:02 +0000159static PyObject *
160cl_DecompressImage(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000161{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000162 int compressionScheme, width, height, originalFormat;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000163 char *compressedBuffer;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000164 int compressedBufferSize, frameBufferSize;
Roger E. Massee474fb31997-01-17 16:00:02 +0000165 PyObject *frameBuffer;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000166
Roger E. Massee474fb31997-01-17 16:00:02 +0000167 if (!PyArg_Parse(args, "(iiiis#)", &compressionScheme, &width, &height,
168 &originalFormat, &compressedBuffer,
169 &compressedBufferSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000170 return NULL;
171
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000172 frameBufferSize = width * height * CL_BytesPerPixel(originalFormat);
173
Roger E. Massee474fb31997-01-17 16:00:02 +0000174 frameBuffer = PyString_FromStringAndSize(NULL, frameBufferSize);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000175 if (frameBuffer == NULL)
176 return NULL;
177
178 error_handler_called = 0;
179 if (clDecompressImage(compressionScheme, width, height, originalFormat,
180 compressedBufferSize, compressedBuffer,
Roger E. Massee474fb31997-01-17 16:00:02 +0000181 (void *) PyString_AsString(frameBuffer))
Guido van Rossum72429051997-08-12 14:58:54 +0000182 == FAILURE || error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000183 Py_DECREF(frameBuffer);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000184 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000185 PyErr_SetString(ClError, "clDecompressImage failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000186 return NULL;
187 }
188
189 return frameBuffer;
190}
191
192/********************************************************************
193 Sequential compression/decompression.
194********************************************************************/
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000195#define CheckCompressor(self) if ((self)->ob_compressorHdl == NULL) { \
Roger E. Massee474fb31997-01-17 16:00:02 +0000196 PyErr_SetString(PyExc_RuntimeError, "(de)compressor not active"); \
197 return NULL; \
198}
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000199
Roger E. Massee474fb31997-01-17 16:00:02 +0000200static PyObject *
201doClose(clobject *self, PyObject *args, int (*close_func)(CL_Handle))
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000202{
203 CheckCompressor(self);
204
Roger E. Massee474fb31997-01-17 16:00:02 +0000205 if (!PyArg_NoArgs(args))
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000206 return NULL;
207
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000208 error_handler_called = 0;
Guido van Rossum72429051997-08-12 14:58:54 +0000209 if ((*close_func)(self->ob_compressorHdl) == FAILURE ||
210 error_handler_called) {
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000211 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000212 PyErr_SetString(ClError, "close failed");
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000213 return NULL;
214 }
215
216 self->ob_compressorHdl = NULL;
217
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000218 if (self->ob_paramtypes)
Roger E. Massee474fb31997-01-17 16:00:02 +0000219 PyMem_DEL(self->ob_paramtypes);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000220 self->ob_paramtypes = NULL;
221
Roger E. Massee474fb31997-01-17 16:00:02 +0000222 Py_INCREF(Py_None);
223 return Py_None;
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000224}
225
Roger E. Massee474fb31997-01-17 16:00:02 +0000226static PyObject *
227clm_CloseCompressor(PyObject *self, PyObject *args)
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000228{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000229 return doClose(SELF, args, clCloseCompressor);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000230}
231
Roger E. Massee474fb31997-01-17 16:00:02 +0000232static PyObject *
233clm_CloseDecompressor(PyObject *self, PyObject *args)
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000234{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000235 return doClose(SELF, args, clCloseDecompressor);
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000236}
237
Roger E. Massee474fb31997-01-17 16:00:02 +0000238static PyObject *
239clm_Compress(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000240{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000241 int numberOfFrames;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000242 int frameBufferSize, compressedBufferSize, size;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000243 char *frameBuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000244 PyObject *data;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000245
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000246 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000247
Roger E. Massee474fb31997-01-17 16:00:02 +0000248 if (!PyArg_Parse(args, "(is#)", &numberOfFrames,
249 &frameBuffer, &frameBufferSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000250 return NULL;
251
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000252 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000253 size = clGetParam(SELF->ob_compressorHdl, CL_COMPRESSED_BUFFER_SIZE);
254 compressedBufferSize = size;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000255 if (error_handler_called)
256 return NULL;
257
Roger E. Massee474fb31997-01-17 16:00:02 +0000258 data = PyString_FromStringAndSize(NULL, size);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000259 if (data == NULL)
260 return NULL;
261
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000262 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000263 if (clCompress(SELF->ob_compressorHdl, numberOfFrames,
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000264 (void *) frameBuffer, &compressedBufferSize,
Guido van Rossum72429051997-08-12 14:58:54 +0000265 (void *) PyString_AsString(data)) == FAILURE ||
266 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000267 Py_DECREF(data);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000268 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000269 PyErr_SetString(ClError, "compress failed");
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000270 return NULL;
271 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000272
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000273 if (compressedBufferSize < size)
Roger E. Massee474fb31997-01-17 16:00:02 +0000274 if (_PyString_Resize(&data, compressedBufferSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000275 return NULL;
276
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000277 if (compressedBufferSize > size) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000278 /* we didn't get all "compressed" data */
Roger E. Massee474fb31997-01-17 16:00:02 +0000279 Py_DECREF(data);
280 PyErr_SetString(ClError,
281 "compressed data is more than fitted");
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000282 return NULL;
283 }
284
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000285 return data;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000286}
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000287
Roger E. Massee474fb31997-01-17 16:00:02 +0000288static PyObject *
289clm_Decompress(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000290{
Roger E. Massee474fb31997-01-17 16:00:02 +0000291 PyObject *data;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000292 int numberOfFrames;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000293 char *compressedData;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000294 int compressedDataSize, dataSize;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000295
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000296 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000297
Roger E. Massee474fb31997-01-17 16:00:02 +0000298 if (!PyArg_Parse(args, "(is#)", &numberOfFrames, &compressedData,
299 &compressedDataSize))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000300 return NULL;
301
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000302 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000303 dataSize = clGetParam(SELF->ob_compressorHdl, CL_FRAME_BUFFER_SIZE);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000304 if (error_handler_called)
305 return NULL;
306
Roger E. Massee474fb31997-01-17 16:00:02 +0000307 data = PyString_FromStringAndSize(NULL, dataSize);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000308 if (data == NULL)
309 return NULL;
310
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000311 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000312 if (clDecompress(SELF->ob_compressorHdl, numberOfFrames,
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000313 compressedDataSize, (void *) compressedData,
Guido van Rossum72429051997-08-12 14:58:54 +0000314 (void *) PyString_AsString(data)) == FAILURE ||
315 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000316 Py_DECREF(data);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000317 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000318 PyErr_SetString(ClError, "decompress failed");
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000319 return NULL;
320 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000321
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000322 return data;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000323}
324
Roger E. Massee474fb31997-01-17 16:00:02 +0000325static PyObject *
326doParams(clobject *self, PyObject *args, int (*func)(CL_Handle, int *, int),
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000327 int modified)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000328{
Roger E. Massee474fb31997-01-17 16:00:02 +0000329 PyObject *list, *v;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000330 int *PVbuffer;
331 int length;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000332 int i;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000333 float number;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000334
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000335 CheckCompressor(self);
336
Roger E. Massee474fb31997-01-17 16:00:02 +0000337 if (!PyArg_Parse(args, "O", &list))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000338 return NULL;
Roger E. Massee474fb31997-01-17 16:00:02 +0000339 if (!PyList_Check(list)) {
340 PyErr_BadArgument();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000341 return NULL;
342 }
Roger E. Massee474fb31997-01-17 16:00:02 +0000343 length = PyList_Size(list);
344 PVbuffer = PyMem_NEW(int, length);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000345 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000346 return PyErr_NoMemory();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000347 for (i = 0; i < length; i++) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000348 v = PyList_GetItem(list, i);
349 if (PyFloat_Check(v)) {
350 number = PyFloat_AsDouble(v);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000351 PVbuffer[i] = CL_TypeIsInt(number);
Roger E. Massee474fb31997-01-17 16:00:02 +0000352 } else if (PyInt_Check(v)) {
353 PVbuffer[i] = PyInt_AsLong(v);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000354 if ((i & 1) &&
355 param_type_is_float(self, PVbuffer[i-1]) > 0) {
356 number = PVbuffer[i];
357 PVbuffer[i] = CL_TypeIsInt(number);
358 }
359 } else {
Roger E. Massee474fb31997-01-17 16:00:02 +0000360 PyMem_DEL(PVbuffer);
361 PyErr_BadArgument();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000362 return NULL;
363 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000364 }
365
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000366 error_handler_called = 0;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000367 (*func)(self->ob_compressorHdl, PVbuffer, length);
Sjoerd Mullenderf64992e1993-08-03 15:11:36 +0000368 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000369 PyMem_DEL(PVbuffer);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000370 return NULL;
Sjoerd Mullenderf64992e1993-08-03 15:11:36 +0000371 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000372
373 if (modified) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000374 for (i = 0; i < length; i++) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000375 if ((i & 1) &&
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000376 param_type_is_float(self, PVbuffer[i-1]) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000377 number = CL_TypeIsFloat(PVbuffer[i]);
Roger E. Massee474fb31997-01-17 16:00:02 +0000378 v = PyFloat_FromDouble(number);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000379 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000380 v = PyInt_FromLong(PVbuffer[i]);
381 PyList_SetItem(list, i, v);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000382 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000383 }
384
Roger E. Massee474fb31997-01-17 16:00:02 +0000385 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000386
Roger E. Massee474fb31997-01-17 16:00:02 +0000387 Py_INCREF(Py_None);
388 return Py_None;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000389}
390
Roger E. Massee474fb31997-01-17 16:00:02 +0000391static PyObject *
392clm_GetParams(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000393{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000394 return doParams(SELF, args, clGetParams, 1);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000395}
396
Roger E. Massee474fb31997-01-17 16:00:02 +0000397static PyObject *
398clm_SetParams(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000399{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000400 return doParams(SELF, args, clSetParams, 0);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000401}
402
Roger E. Massee474fb31997-01-17 16:00:02 +0000403static PyObject *
404do_get(clobject *self, PyObject *args, int (*func)(CL_Handle, int))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000405{
406 int paramID, value;
407 float fvalue;
408
409 CheckCompressor(self);
410
Roger E. Massee474fb31997-01-17 16:00:02 +0000411 if (!PyArg_Parse(args, "i", &paramID))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000412 return NULL;
413
414 error_handler_called = 0;
415 value = (*func)(self->ob_compressorHdl, paramID);
416 if (error_handler_called)
417 return NULL;
418
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000419 if (param_type_is_float(self, paramID) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000420 fvalue = CL_TypeIsFloat(value);
Roger E. Massee474fb31997-01-17 16:00:02 +0000421 return PyFloat_FromDouble(fvalue);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000422 }
423
Roger E. Massee474fb31997-01-17 16:00:02 +0000424 return PyInt_FromLong(value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000425}
426
Roger E. Massee474fb31997-01-17 16:00:02 +0000427static PyObject *
428clm_GetParam(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000429{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000430 return do_get(SELF, args, clGetParam);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000431}
432
Roger E. Massee474fb31997-01-17 16:00:02 +0000433static PyObject *
434clm_GetDefault(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000435{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000436 return do_get(SELF, args, clGetDefault);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000437}
438
Roger E. Massee474fb31997-01-17 16:00:02 +0000439static PyObject *
440clm_SetParam(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000441{
442 int paramID, value;
443 float fvalue;
444
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000445 CheckCompressor(SELF);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000446
Roger E. Massee474fb31997-01-17 16:00:02 +0000447 if (!PyArg_Parse(args, "(ii)", &paramID, &value)) {
448 PyErr_Clear();
449 if (!PyArg_Parse(args, "(if)", &paramID, &fvalue)) {
450 PyErr_Clear();
451 PyErr_SetString(PyExc_TypeError,
452 "bad argument list (format '(ii)' or '(if)')");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000453 return NULL;
454 }
455 value = CL_TypeIsInt(fvalue);
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000456 } else {
457 if (param_type_is_float(SELF, paramID) > 0) {
458 fvalue = value;
459 value = CL_TypeIsInt(fvalue);
460 }
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000461 }
462
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000463 error_handler_called = 0;
464 value = clSetParam(SELF->ob_compressorHdl, paramID, value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000465 if (error_handler_called)
466 return NULL;
467
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000468 if (param_type_is_float(SELF, paramID) > 0)
Roger E. Massee474fb31997-01-17 16:00:02 +0000469 return PyFloat_FromDouble(CL_TypeIsFloat(value));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000470 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000471 return PyInt_FromLong(value);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000472}
473
Roger E. Massee474fb31997-01-17 16:00:02 +0000474static PyObject *
475clm_GetParamID(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000476{
477 char *name;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000478 int value;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000479
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000480 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000481
Roger E. Massee474fb31997-01-17 16:00:02 +0000482 if (!PyArg_Parse(args, "s", &name))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000483 return NULL;
484
485 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000486 value = clGetParamID(SELF->ob_compressorHdl, name);
Guido van Rossum72429051997-08-12 14:58:54 +0000487 if (value == FAILURE || error_handler_called) {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000488 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000489 PyErr_SetString(ClError, "getparamid failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000490 return NULL;
491 }
492
Roger E. Massee474fb31997-01-17 16:00:02 +0000493 return PyInt_FromLong(value);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000494}
495
Roger E. Massee474fb31997-01-17 16:00:02 +0000496static PyObject *
497clm_QueryParams(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000498{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000499 int bufferlength;
500 int *PVbuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000501 PyObject *list;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000502 int i;
503
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000504 CheckCompressor(SELF);
Sjoerd Mullender37f17b71992-09-25 10:28:20 +0000505
Roger E. Massee474fb31997-01-17 16:00:02 +0000506 if (!PyArg_NoArgs(args))
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000507 return NULL;
508
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000509 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000510 bufferlength = clQueryParams(SELF->ob_compressorHdl, 0, 0);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000511 if (error_handler_called)
512 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000513
Roger E. Massee474fb31997-01-17 16:00:02 +0000514 PVbuffer = PyMem_NEW(int, bufferlength);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000515 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000516 return PyErr_NoMemory();
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000517
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000518 bufferlength = clQueryParams(SELF->ob_compressorHdl, PVbuffer,
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000519 bufferlength);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000520 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000521 PyMem_DEL(PVbuffer);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000522 return NULL;
523 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000524
Roger E. Massee474fb31997-01-17 16:00:02 +0000525 list = PyList_New(bufferlength);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000526 if (list == NULL) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000527 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000528 return NULL;
529 }
530
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000531 for (i = 0; i < bufferlength; i++) {
532 if (i & 1)
Roger E. Massee474fb31997-01-17 16:00:02 +0000533 PyList_SetItem(list, i, PyInt_FromLong(PVbuffer[i]));
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000534 else if (PVbuffer[i] == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000535 Py_INCREF(Py_None);
536 PyList_SetItem(list, i, Py_None);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000537 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000538 PyList_SetItem(list, i,
539 PyString_FromString((char *) PVbuffer[i]));
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000540 }
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000541
Roger E. Massee474fb31997-01-17 16:00:02 +0000542 PyMem_DEL(PVbuffer);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000543
544 return list;
545}
546
Roger E. Massee474fb31997-01-17 16:00:02 +0000547static PyObject *
548clm_GetMinMax(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000549{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000550 int param, min, max;
551 float fmin, fmax;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000552
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000553 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000554
Roger E. Massee474fb31997-01-17 16:00:02 +0000555 if (!PyArg_Parse(args, "i", &param))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000556 return NULL;
557
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000558 clGetMinMax(SELF->ob_compressorHdl, param, &min, &max);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000559
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000560 if (param_type_is_float(SELF, param) > 0) {
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000561 fmin = CL_TypeIsFloat(min);
562 fmax = CL_TypeIsFloat(max);
Roger E. Massee474fb31997-01-17 16:00:02 +0000563 return Py_BuildValue("(ff)", fmin, fmax);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000564 }
565
Roger E. Massee474fb31997-01-17 16:00:02 +0000566 return Py_BuildValue("(ii)", min, max);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000567}
568
Roger E. Massee474fb31997-01-17 16:00:02 +0000569static PyObject *
570clm_GetName(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000571{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000572 int param;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000573 char *name;
574
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000575 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000576
Roger E. Massee474fb31997-01-17 16:00:02 +0000577 if (!PyArg_Parse(args, "i", &param))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000578 return NULL;
579
580 error_handler_called = 0;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000581 name = clGetName(SELF->ob_compressorHdl, param);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000582 if (name == NULL || error_handler_called) {
583 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000584 PyErr_SetString(ClError, "getname failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000585 return NULL;
586 }
587
Roger E. Massee474fb31997-01-17 16:00:02 +0000588 return PyString_FromString(name);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000589}
590
Roger E. Massee474fb31997-01-17 16:00:02 +0000591static PyObject *
592clm_QuerySchemeFromHandle(PyObject *self, PyObject *args)
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000593{
594 CheckCompressor(SELF);
595
Roger E. Massee474fb31997-01-17 16:00:02 +0000596 if (!PyArg_NoArgs(args))
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000597 return NULL;
598
Roger E. Massee474fb31997-01-17 16:00:02 +0000599 return PyInt_FromLong(clQuerySchemeFromHandle(SELF->ob_compressorHdl));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000600}
601
Roger E. Massee474fb31997-01-17 16:00:02 +0000602static PyObject *
603clm_ReadHeader(PyObject *self, PyObject *args)
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000604{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000605 char *header;
606 int headerSize;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000607
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000608 CheckCompressor(SELF);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000609
Roger E. Massee474fb31997-01-17 16:00:02 +0000610 if (!PyArg_Parse(args, "s#", &header, &headerSize))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000611 return NULL;
612
Roger E. Massee474fb31997-01-17 16:00:02 +0000613 return PyInt_FromLong(clReadHeader(SELF->ob_compressorHdl,
614 headerSize, header));
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000615}
616
Roger E. Massee474fb31997-01-17 16:00:02 +0000617static PyMethodDef compressor_methods[] = {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000618 {"close", clm_CloseCompressor}, /* alias */
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000619 {"CloseCompressor", clm_CloseCompressor},
620 {"Compress", clm_Compress},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000621 {"GetDefault", clm_GetDefault},
622 {"GetMinMax", clm_GetMinMax},
623 {"GetName", clm_GetName},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000624 {"GetParam", clm_GetParam},
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000625 {"GetParamID", clm_GetParamID},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000626 {"GetParams", clm_GetParams},
627 {"QueryParams", clm_QueryParams},
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000628 {"QuerySchemeFromHandle",clm_QuerySchemeFromHandle},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000629 {"SetParam", clm_SetParam},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000630 {"SetParams", clm_SetParams},
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000631 {NULL, NULL} /* sentinel */
632};
633
Roger E. Massee474fb31997-01-17 16:00:02 +0000634static PyMethodDef decompressor_methods[] = {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000635 {"close", clm_CloseDecompressor}, /* alias */
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000636 {"CloseDecompressor", clm_CloseDecompressor},
637 {"Decompress", clm_Decompress},
638 {"GetDefault", clm_GetDefault},
639 {"GetMinMax", clm_GetMinMax},
640 {"GetName", clm_GetName},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000641 {"GetParam", clm_GetParam},
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000642 {"GetParamID", clm_GetParamID},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000643 {"GetParams", clm_GetParams},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000644 {"ReadHeader", clm_ReadHeader},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000645 {"QueryParams", clm_QueryParams},
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000646 {"QuerySchemeFromHandle",clm_QuerySchemeFromHandle},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000647 {"SetParam", clm_SetParam},
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000648 {"SetParams", clm_SetParams},
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000649 {NULL, NULL} /* sentinel */
650};
651
652static void
Roger E. Massee474fb31997-01-17 16:00:02 +0000653cl_dealloc(PyObject *self)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000654{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000655 if (SELF->ob_compressorHdl) {
656 if (SELF->ob_isCompressor)
657 clCloseCompressor(SELF->ob_compressorHdl);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000658 else
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000659 clCloseDecompressor(SELF->ob_compressorHdl);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000660 }
Guido van Rossumb18618d2000-05-03 23:44:39 +0000661 PyObject_Del(self);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000662}
663
Roger E. Massee474fb31997-01-17 16:00:02 +0000664static PyObject *
665cl_getattr(PyObject *self, char *name)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000666{
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000667 if (SELF->ob_isCompressor)
Roger E. Massee474fb31997-01-17 16:00:02 +0000668 return Py_FindMethod(compressor_methods, self, name);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000669 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000670 return Py_FindMethod(decompressor_methods, self, name);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000671}
672
Roger E. Massee474fb31997-01-17 16:00:02 +0000673static PyTypeObject Cltype = {
674 PyObject_HEAD_INIT(&PyType_Type)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000675 0, /*ob_size*/
676 "cl", /*tp_name*/
677 sizeof(clobject), /*tp_size*/
678 0, /*tp_itemsize*/
679 /* methods */
Guido van Rossumb6775db1994-08-01 11:34:53 +0000680 (destructor)cl_dealloc, /*tp_dealloc*/
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000681 0, /*tp_print*/
Guido van Rossumb6775db1994-08-01 11:34:53 +0000682 (getattrfunc)cl_getattr, /*tp_getattr*/
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000683 0, /*tp_setattr*/
684 0, /*tp_compare*/
685 0, /*tp_repr*/
686 0, /*tp_as_number*/
687 0, /*tp_as_sequence*/
688 0, /*tp_as_mapping*/
689};
690
Roger E. Massee474fb31997-01-17 16:00:02 +0000691static PyObject *
692doOpen(PyObject *self, PyObject *args, int (*open_func)(int, CL_Handle *),
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000693 int iscompressor)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000694{
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000695 int scheme;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000696 clobject *new;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000697
Roger E. Massee474fb31997-01-17 16:00:02 +0000698 if (!PyArg_Parse(args, "i", &scheme))
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000699 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000700
Guido van Rossumb18618d2000-05-03 23:44:39 +0000701 new = PyObject_New(clobject, &Cltype);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000702 if (new == NULL)
703 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000704
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000705 new->ob_compressorHdl = NULL;
706 new->ob_isCompressor = iscompressor;
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000707 new->ob_paramtypes = NULL;
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000708
709 error_handler_called = 0;
Guido van Rossum72429051997-08-12 14:58:54 +0000710 if ((*open_func)(scheme, &new->ob_compressorHdl) == FAILURE ||
711 error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000712 Py_DECREF(new);
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000713 if (!error_handler_called)
Roger E. Massee474fb31997-01-17 16:00:02 +0000714 PyErr_SetString(ClError, "Open(De)Compressor failed");
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000715 return NULL;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000716 }
Roger E. Massee474fb31997-01-17 16:00:02 +0000717 return (PyObject *)new;
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000718}
719
Roger E. Massee474fb31997-01-17 16:00:02 +0000720static PyObject *
721cl_OpenCompressor(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000722{
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000723 return doOpen(self, args, clOpenCompressor, 1);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000724}
725
Roger E. Massee474fb31997-01-17 16:00:02 +0000726static PyObject *
727cl_OpenDecompressor(PyObject *self, PyObject *args)
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000728{
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000729 return doOpen(self, args, clOpenDecompressor, 0);
Sjoerd Mullender384f2481992-09-29 16:43:43 +0000730}
731
Roger E. Massee474fb31997-01-17 16:00:02 +0000732static PyObject *
733cl_QueryScheme(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000734{
735 char *header;
736 int headerlen;
737 int scheme;
738
Roger E. Massee474fb31997-01-17 16:00:02 +0000739 if (!PyArg_Parse(args, "s#", &header, &headerlen))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000740 return NULL;
741
742 scheme = clQueryScheme(header);
743 if (scheme < 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000744 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000745 return NULL;
746 }
747
Roger E. Massee474fb31997-01-17 16:00:02 +0000748 return PyInt_FromLong(scheme);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000749}
750
Roger E. Massee474fb31997-01-17 16:00:02 +0000751static PyObject *
752cl_QueryMaxHeaderSize(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000753{
754 int scheme;
755
Roger E. Massee474fb31997-01-17 16:00:02 +0000756 if (!PyArg_Parse(args, "i", &scheme))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000757 return NULL;
758
Roger E. Massee474fb31997-01-17 16:00:02 +0000759 return PyInt_FromLong(clQueryMaxHeaderSize(scheme));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000760}
761
Roger E. Massee474fb31997-01-17 16:00:02 +0000762static PyObject *
763cl_QueryAlgorithms(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000764{
765 int algorithmMediaType;
766 int bufferlength;
767 int *PVbuffer;
Roger E. Massee474fb31997-01-17 16:00:02 +0000768 PyObject *list;
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000769 int i;
770
Roger E. Massee474fb31997-01-17 16:00:02 +0000771 if (!PyArg_Parse(args, "i", &algorithmMediaType))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000772 return NULL;
773
774 error_handler_called = 0;
775 bufferlength = clQueryAlgorithms(algorithmMediaType, 0, 0);
776 if (error_handler_called)
777 return NULL;
778
Roger E. Massee474fb31997-01-17 16:00:02 +0000779 PVbuffer = PyMem_NEW(int, bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000780 if (PVbuffer == NULL)
Roger E. Massee474fb31997-01-17 16:00:02 +0000781 return PyErr_NoMemory();
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000782
783 bufferlength = clQueryAlgorithms(algorithmMediaType, PVbuffer,
Roger E. Massee474fb31997-01-17 16:00:02 +0000784 bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000785 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000786 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000787 return NULL;
788 }
789
Roger E. Massee474fb31997-01-17 16:00:02 +0000790 list = PyList_New(bufferlength);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000791 if (list == NULL) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000792 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000793 return NULL;
794 }
795
796 for (i = 0; i < bufferlength; i++) {
797 if (i & 1)
Roger E. Massee474fb31997-01-17 16:00:02 +0000798 PyList_SetItem(list, i, PyInt_FromLong(PVbuffer[i]));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000799 else if (PVbuffer[i] == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000800 Py_INCREF(Py_None);
801 PyList_SetItem(list, i, Py_None);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000802 } else
Roger E. Massee474fb31997-01-17 16:00:02 +0000803 PyList_SetItem(list, i,
804 PyString_FromString((char *) PVbuffer[i]));
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000805 }
806
Roger E. Massee474fb31997-01-17 16:00:02 +0000807 PyMem_DEL(PVbuffer);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000808
809 return list;
810}
811
Roger E. Massee474fb31997-01-17 16:00:02 +0000812static PyObject *
813cl_QuerySchemeFromName(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000814{
815 int algorithmMediaType;
816 char *name;
817 int scheme;
818
Roger E. Massee474fb31997-01-17 16:00:02 +0000819 if (!PyArg_Parse(args, "(is)", &algorithmMediaType, &name))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000820 return NULL;
821
822 error_handler_called = 0;
823 scheme = clQuerySchemeFromName(algorithmMediaType, name);
824 if (error_handler_called) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000825 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000826 return NULL;
827 }
828
Roger E. Massee474fb31997-01-17 16:00:02 +0000829 return PyInt_FromLong(scheme);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000830}
831
Roger E. Massee474fb31997-01-17 16:00:02 +0000832static PyObject *
833cl_GetAlgorithmName(PyObject *self, PyObject *args)
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000834{
835 int scheme;
836 char *name;
837
Roger E. Massee474fb31997-01-17 16:00:02 +0000838 if (!PyArg_Parse(args, "i", &scheme))
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000839 return NULL;
840
841 name = clGetAlgorithmName(scheme);
842 if (name == 0) {
Roger E. Massee474fb31997-01-17 16:00:02 +0000843 PyErr_SetString(ClError, "unknown compression scheme");
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000844 return NULL;
845 }
846
Roger E. Massee474fb31997-01-17 16:00:02 +0000847 return PyString_FromString(name);
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000848}
849
Roger E. Massee474fb31997-01-17 16:00:02 +0000850static PyObject *
851do_set(PyObject *self, PyObject *args, int (*func)(int, int, int))
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000852{
853 int scheme, paramID, value;
854 float fvalue;
855 int is_float = 0;
856
Roger E. Massee474fb31997-01-17 16:00:02 +0000857 if (!PyArg_Parse(args, "(iii)", &scheme, &paramID, &value)) {
858 PyErr_Clear();
859 if (!PyArg_Parse(args, "(iif)", &scheme, &paramID, &fvalue)) {
860 PyErr_Clear();
861 PyErr_SetString(PyExc_TypeError,
862 "bad argument list (format '(iii)' or '(iif)')");
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000863 return NULL;
864 }
865 value = CL_TypeIsInt(fvalue);
866 is_float = 1;
867 } else {
868 /* check some parameters which we know to be floats */
869 switch (scheme) {
870 case CL_COMPRESSION_RATIO:
871 case CL_SPEED:
872 fvalue = value;
873 value = CL_TypeIsInt(fvalue);
874 is_float = 1;
875 break;
876 }
877 }
878
879 error_handler_called = 0;
880 value = (*func)(scheme, paramID, value);
881 if (error_handler_called)
882 return NULL;
883
884 if (is_float)
Roger E. Massee474fb31997-01-17 16:00:02 +0000885 return PyFloat_FromDouble(CL_TypeIsFloat(value));
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000886 else
Roger E. Massee474fb31997-01-17 16:00:02 +0000887 return PyInt_FromLong(value);
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000888}
889
Roger E. Massee474fb31997-01-17 16:00:02 +0000890static PyObject *
891cl_SetDefault(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000892{
893 return do_set(self, args, clSetDefault);
894}
895
Roger E. Massee474fb31997-01-17 16:00:02 +0000896static PyObject *
897cl_SetMin(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000898{
899 return do_set(self, args, clSetMin);
900}
901
Roger E. Massee474fb31997-01-17 16:00:02 +0000902static PyObject *
903cl_SetMax(PyObject *self, PyObject *args)
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000904{
905 return do_set(self, args, clSetMax);
906}
907
Roger E. Massee474fb31997-01-17 16:00:02 +0000908#define func(name, handler) \
909static PyObject *cl_##name(PyObject *self, PyObject *args) \
910{ \
911 int x; \
912 if (!PyArg_Parse(args, "i", &x)) return NULL; \
913 return Py##handler(CL_##name(x)); \
914}
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000915
Roger E. Massee474fb31997-01-17 16:00:02 +0000916#define func2(name, handler) \
917static PyObject *cl_##name(PyObject *self, PyObject *args) \
918{ \
919 int a1, a2; \
920 if (!PyArg_Parse(args, "(ii)", &a1, &a2)) return NULL; \
921 return Py##handler(CL_##name(a1, a2)); \
922}
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000923
Roger E. Massee474fb31997-01-17 16:00:02 +0000924func(BytesPerSample, Int_FromLong)
925func(BytesPerPixel, Int_FromLong)
926func(AudioFormatName, String_FromString)
927func(VideoFormatName, String_FromString)
928func(AlgorithmNumber, Int_FromLong)
929func(AlgorithmType, Int_FromLong)
930func2(Algorithm, Int_FromLong)
931func(ParamNumber, Int_FromLong)
932func(ParamType, Int_FromLong)
933func2(ParamID, Int_FromLong)
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000934
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000935#ifdef CLDEBUG
Roger E. Massee474fb31997-01-17 16:00:02 +0000936 static PyObject *
937cvt_type(PyObject *self, PyObject *args)
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000938{
939 int number;
940 float fnumber;
941
Roger E. Massee474fb31997-01-17 16:00:02 +0000942 if (PyArg_Parse(args, "i", &number))
943 return PyFloat_FromDouble(CL_TypeIsFloat(number));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000944 else {
Roger E. Massee474fb31997-01-17 16:00:02 +0000945 PyErr_Clear();
946 if (PyArg_Parse(args, "f", &fnumber))
947 return PyInt_FromLong(CL_TypeIsInt(fnumber));
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000948 return NULL;
949 }
950}
951#endif
952
Roger E. Massee474fb31997-01-17 16:00:02 +0000953static PyMethodDef cl_methods[] = {
Sjoerd Mullender8dd054d1992-12-14 13:17:29 +0000954 {"CompressImage", cl_CompressImage},
955 {"DecompressImage", cl_DecompressImage},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000956 {"GetAlgorithmName", cl_GetAlgorithmName},
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000957 {"OpenCompressor", cl_OpenCompressor},
958 {"OpenDecompressor", cl_OpenDecompressor},
Sjoerd Mullender3a997271993-02-04 16:43:28 +0000959 {"QueryAlgorithms", cl_QueryAlgorithms},
960 {"QueryMaxHeaderSize", cl_QueryMaxHeaderSize},
961 {"QueryScheme", cl_QueryScheme},
962 {"QuerySchemeFromName", cl_QuerySchemeFromName},
Sjoerd Mullender22e44cd1993-02-17 09:11:14 +0000963 {"SetDefault", cl_SetDefault},
964 {"SetMax", cl_SetMax},
965 {"SetMin", cl_SetMin},
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000966 {"BytesPerSample", cl_BytesPerSample},
967 {"BytesPerPixel", cl_BytesPerPixel},
968 {"AudioFormatName", cl_AudioFormatName},
969 {"VideoFormatName", cl_VideoFormatName},
970 {"AlgorithmNumber", cl_AlgorithmNumber},
971 {"AlgorithmType", cl_AlgorithmType},
972 {"Algorithm", cl_Algorithm},
973 {"ParamNumber", cl_ParamNumber},
974 {"ParamType", cl_ParamType},
975 {"ParamID", cl_ParamID},
Sjoerd Mullender4e2a4271993-02-16 11:55:17 +0000976#ifdef CLDEBUG
977 {"cvt_type", cvt_type},
978#endif
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000979 {NULL, NULL} /* Sentinel */
980};
981
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000982#ifdef CL_JPEG_SOFTWARE
983#define IRIX_5_3_LIBRARY
984#endif
985
Sjoerd Mullenderc4315491992-09-23 14:53:00 +0000986void
987initcl()
988{
Guido van Rossum72429051997-08-12 14:58:54 +0000989 PyObject *m, *d, *x;
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000990
Roger E. Massee474fb31997-01-17 16:00:02 +0000991 m = Py_InitModule("cl", cl_methods);
992 d = PyModule_GetDict(m);
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +0000993
Guido van Rossum0cb96de1997-10-01 04:29:29 +0000994 ClError = PyErr_NewException("cl.error", NULL, NULL);
Roger E. Massee474fb31997-01-17 16:00:02 +0000995 (void) PyDict_SetItemString(d, "error", ClError);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +0000996
Guido van Rossum72429051997-08-12 14:58:54 +0000997#ifdef CL_ADDED_ALGORITHM_ERROR
998 x = PyInt_FromLong(CL_ADDED_ALGORITHM_ERROR);
999 if (x == NULL || PyDict_SetItemString(d, "ADDED_ALGORITHM_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001000 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001001 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001002#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001003#ifdef CL_ALAW
1004 x = PyInt_FromLong(CL_ALAW);
1005 if (x == NULL || PyDict_SetItemString(d, "ALAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001006 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001007 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001008#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001009#ifdef CL_ALGORITHM_ID
1010 x = PyInt_FromLong(CL_ALGORITHM_ID);
1011 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_ID", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001012 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001013 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001014#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001015#ifdef CL_ALGORITHM_TABLE_FULL
1016 x = PyInt_FromLong(CL_ALGORITHM_TABLE_FULL);
1017 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_TABLE_FULL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001018 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001019 Py_DECREF(x);
1020#endif
1021#ifdef CL_ALGORITHM_VERSION
1022 x = PyInt_FromLong(CL_ALGORITHM_VERSION);
1023 if (x == NULL || PyDict_SetItemString(d, "ALGORITHM_VERSION", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001024 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001025 Py_DECREF(x);
1026#endif
1027#ifdef CL_ALG_AUDIO
1028 x = PyInt_FromLong(CL_ALG_AUDIO);
1029 if (x == NULL || PyDict_SetItemString(d, "ALG_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001030 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001031 Py_DECREF(x);
1032#endif
1033#ifdef CL_ALG_VIDEO
1034 x = PyInt_FromLong(CL_ALG_VIDEO);
1035 if (x == NULL || PyDict_SetItemString(d, "ALG_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001036 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001037 Py_DECREF(x);
1038#endif
1039#ifdef CL_AUDIO
1040 x = PyInt_FromLong(CL_AUDIO);
1041 if (x == NULL || PyDict_SetItemString(d, "AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001042 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001043 Py_DECREF(x);
1044#endif
1045#ifdef CL_AWARE_BITRATE_POLICY
1046 x = PyInt_FromLong(CL_AWARE_BITRATE_POLICY);
1047 if (x == NULL || PyDict_SetItemString(d, "AWARE_BITRATE_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001048 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001049 Py_DECREF(x);
1050#endif
1051#ifdef CL_AWARE_BITRATE_TARGET
1052 x = PyInt_FromLong(CL_AWARE_BITRATE_TARGET);
1053 if (x == NULL || PyDict_SetItemString(d, "AWARE_BITRATE_TARGET", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001054 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001055 Py_DECREF(x);
1056#endif
1057#ifdef CL_AWARE_CHANNEL_POLICY
1058 x = PyInt_FromLong(CL_AWARE_CHANNEL_POLICY);
1059 if (x == NULL || PyDict_SetItemString(d, "AWARE_CHANNEL_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001060 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001061 Py_DECREF(x);
1062#endif
1063#ifdef CL_AWARE_CONST_QUAL
1064 x = PyInt_FromLong(CL_AWARE_CONST_QUAL);
1065 if (x == NULL || PyDict_SetItemString(d, "AWARE_CONST_QUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001066 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001067 Py_DECREF(x);
1068#endif
1069#ifdef CL_AWARE_ERROR
1070 x = PyInt_FromLong(CL_AWARE_ERROR);
1071 if (x == NULL || PyDict_SetItemString(d, "AWARE_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001072 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001073 Py_DECREF(x);
1074#endif
1075#ifdef CL_AWARE_FIXED_RATE
1076 x = PyInt_FromLong(CL_AWARE_FIXED_RATE);
1077 if (x == NULL || PyDict_SetItemString(d, "AWARE_FIXED_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001078 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001079 Py_DECREF(x);
1080#endif
1081#ifdef CL_AWARE_INDEPENDENT
1082 x = PyInt_FromLong(CL_AWARE_INDEPENDENT);
1083 if (x == NULL || PyDict_SetItemString(d, "AWARE_INDEPENDENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001084 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001085 Py_DECREF(x);
1086#endif
1087#ifdef CL_AWARE_JOINT_STEREO
1088 x = PyInt_FromLong(CL_AWARE_JOINT_STEREO);
1089 if (x == NULL || PyDict_SetItemString(d, "AWARE_JOINT_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001090 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001091 Py_DECREF(x);
1092#endif
1093#ifdef CL_AWARE_LAYER
1094 x = PyInt_FromLong(CL_AWARE_LAYER);
1095 if (x == NULL || PyDict_SetItemString(d, "AWARE_LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001096 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001097 Py_DECREF(x);
1098#endif
1099#ifdef CL_AWARE_LOSSLESS
1100 x = PyInt_FromLong(CL_AWARE_LOSSLESS);
1101 if (x == NULL || PyDict_SetItemString(d, "AWARE_LOSSLESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001102 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001103 Py_DECREF(x);
1104#endif
1105#ifdef CL_AWARE_MPEG_AUDIO
1106 x = PyInt_FromLong(CL_AWARE_MPEG_AUDIO);
1107 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001108 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001109 Py_DECREF(x);
1110#endif
1111#ifdef CL_AWARE_MPEG_LAYER_I
1112 x = PyInt_FromLong(CL_AWARE_MPEG_LAYER_I);
1113 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001114 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001115 Py_DECREF(x);
1116#endif
1117#ifdef CL_AWARE_MPEG_LAYER_II
1118 x = PyInt_FromLong(CL_AWARE_MPEG_LAYER_II);
1119 if (x == NULL || PyDict_SetItemString(d, "AWARE_MPEG_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001120 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001121 Py_DECREF(x);
1122#endif
1123#ifdef CL_AWARE_MULTIRATE
1124 x = PyInt_FromLong(CL_AWARE_MULTIRATE);
1125 if (x == NULL || PyDict_SetItemString(d, "AWARE_MULTIRATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001126 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001127 Py_DECREF(x);
1128#endif
1129#ifdef CL_AWARE_NOISE_MARGIN
1130 x = PyInt_FromLong(CL_AWARE_NOISE_MARGIN);
1131 if (x == NULL || PyDict_SetItemString(d, "AWARE_NOISE_MARGIN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001132 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001133 Py_DECREF(x);
1134#endif
1135#ifdef CL_AWARE_STEREO
1136 x = PyInt_FromLong(CL_AWARE_STEREO);
1137 if (x == NULL || PyDict_SetItemString(d, "AWARE_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001138 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001139 Py_DECREF(x);
1140#endif
1141#ifdef CL_BAD_ALGORITHM_NAME
1142 x = PyInt_FromLong(CL_BAD_ALGORITHM_NAME);
1143 if (x == NULL || PyDict_SetItemString(d, "BAD_ALGORITHM_NAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001144 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001145 Py_DECREF(x);
1146#endif
1147#ifdef CL_BAD_ALGORITHM_TYPE
1148 x = PyInt_FromLong(CL_BAD_ALGORITHM_TYPE);
1149 if (x == NULL || PyDict_SetItemString(d, "BAD_ALGORITHM_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001150 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001151 Py_DECREF(x);
1152#endif
1153#ifdef CL_BAD_BLOCK_SIZE
1154 x = PyInt_FromLong(CL_BAD_BLOCK_SIZE);
1155 if (x == NULL || PyDict_SetItemString(d, "BAD_BLOCK_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001156 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001157 Py_DECREF(x);
1158#endif
1159#ifdef CL_BAD_BOARD
1160 x = PyInt_FromLong(CL_BAD_BOARD);
1161 if (x == NULL || PyDict_SetItemString(d, "BAD_BOARD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001162 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001163 Py_DECREF(x);
1164#endif
1165#ifdef CL_BAD_BUFFERING
1166 x = PyInt_FromLong(CL_BAD_BUFFERING);
1167 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001168 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001169 Py_DECREF(x);
1170#endif
1171#ifdef CL_BAD_BUFFERLENGTH_NEG
1172 x = PyInt_FromLong(CL_BAD_BUFFERLENGTH_NEG);
1173 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERLENGTH_NEG", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001174 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001175 Py_DECREF(x);
1176#endif
1177#ifdef CL_BAD_BUFFERLENGTH_ODD
1178 x = PyInt_FromLong(CL_BAD_BUFFERLENGTH_ODD);
1179 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFERLENGTH_ODD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001180 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001181 Py_DECREF(x);
1182#endif
1183#ifdef CL_BAD_BUFFER_EXISTS
1184 x = PyInt_FromLong(CL_BAD_BUFFER_EXISTS);
1185 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_EXISTS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001186 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001187 Py_DECREF(x);
1188#endif
1189#ifdef CL_BAD_BUFFER_HANDLE
1190 x = PyInt_FromLong(CL_BAD_BUFFER_HANDLE);
1191 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_HANDLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001192 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001193 Py_DECREF(x);
1194#endif
1195#ifdef CL_BAD_BUFFER_POINTER
1196 x = PyInt_FromLong(CL_BAD_BUFFER_POINTER);
1197 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001198 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001199 Py_DECREF(x);
1200#endif
1201#ifdef CL_BAD_BUFFER_QUERY_SIZE
1202 x = PyInt_FromLong(CL_BAD_BUFFER_QUERY_SIZE);
1203 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_QUERY_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001204 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001205 Py_DECREF(x);
1206#endif
1207#ifdef CL_BAD_BUFFER_SIZE
1208 x = PyInt_FromLong(CL_BAD_BUFFER_SIZE);
1209 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001210 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001211 Py_DECREF(x);
1212#endif
1213#ifdef CL_BAD_BUFFER_SIZE_POINTER
1214 x = PyInt_FromLong(CL_BAD_BUFFER_SIZE_POINTER);
1215 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_SIZE_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001216 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001217 Py_DECREF(x);
1218#endif
1219#ifdef CL_BAD_BUFFER_TYPE
1220 x = PyInt_FromLong(CL_BAD_BUFFER_TYPE);
1221 if (x == NULL || PyDict_SetItemString(d, "BAD_BUFFER_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001222 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001223 Py_DECREF(x);
1224#endif
1225#ifdef CL_BAD_COMPRESSION_SCHEME
1226 x = PyInt_FromLong(CL_BAD_COMPRESSION_SCHEME);
1227 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSION_SCHEME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001228 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001229 Py_DECREF(x);
1230#endif
1231#ifdef CL_BAD_COMPRESSOR_HANDLE
1232 x = PyInt_FromLong(CL_BAD_COMPRESSOR_HANDLE);
1233 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSOR_HANDLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001234 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001235 Py_DECREF(x);
1236#endif
1237#ifdef CL_BAD_COMPRESSOR_HANDLE_POINTER
1238 x = PyInt_FromLong(CL_BAD_COMPRESSOR_HANDLE_POINTER);
1239 if (x == NULL || PyDict_SetItemString(d, "BAD_COMPRESSOR_HANDLE_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001240 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001241 Py_DECREF(x);
1242#endif
1243#ifdef CL_BAD_FRAME_SIZE
1244 x = PyInt_FromLong(CL_BAD_FRAME_SIZE);
1245 if (x == NULL || PyDict_SetItemString(d, "BAD_FRAME_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001246 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001247 Py_DECREF(x);
1248#endif
1249#ifdef CL_BAD_FUNCTIONALITY
1250 x = PyInt_FromLong(CL_BAD_FUNCTIONALITY);
1251 if (x == NULL || PyDict_SetItemString(d, "BAD_FUNCTIONALITY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001252 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001253 Py_DECREF(x);
1254#endif
1255#ifdef CL_BAD_FUNCTION_POINTER
1256 x = PyInt_FromLong(CL_BAD_FUNCTION_POINTER);
1257 if (x == NULL || PyDict_SetItemString(d, "BAD_FUNCTION_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001258 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001259 Py_DECREF(x);
1260#endif
1261#ifdef CL_BAD_HEADER_SIZE
1262 x = PyInt_FromLong(CL_BAD_HEADER_SIZE);
1263 if (x == NULL || PyDict_SetItemString(d, "BAD_HEADER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001264 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001265 Py_DECREF(x);
1266#endif
1267#ifdef CL_BAD_INITIAL_VALUE
1268 x = PyInt_FromLong(CL_BAD_INITIAL_VALUE);
1269 if (x == NULL || PyDict_SetItemString(d, "BAD_INITIAL_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001270 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001271 Py_DECREF(x);
1272#endif
1273#ifdef CL_BAD_INTERNAL_FORMAT
1274 x = PyInt_FromLong(CL_BAD_INTERNAL_FORMAT);
1275 if (x == NULL || PyDict_SetItemString(d, "BAD_INTERNAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001276 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001277 Py_DECREF(x);
1278#endif
1279#ifdef CL_BAD_LICENSE
1280 x = PyInt_FromLong(CL_BAD_LICENSE);
1281 if (x == NULL || PyDict_SetItemString(d, "BAD_LICENSE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001282 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001283 Py_DECREF(x);
1284#endif
1285#ifdef CL_BAD_MIN_GT_MAX
1286 x = PyInt_FromLong(CL_BAD_MIN_GT_MAX);
1287 if (x == NULL || PyDict_SetItemString(d, "BAD_MIN_GT_MAX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001288 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001289 Py_DECREF(x);
1290#endif
1291#ifdef CL_BAD_NO_BUFFERSPACE
1292 x = PyInt_FromLong(CL_BAD_NO_BUFFERSPACE);
1293 if (x == NULL || PyDict_SetItemString(d, "BAD_NO_BUFFERSPACE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001294 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001295 Py_DECREF(x);
1296#endif
1297#ifdef CL_BAD_NUMBER_OF_BLOCKS
1298 x = PyInt_FromLong(CL_BAD_NUMBER_OF_BLOCKS);
1299 if (x == NULL || PyDict_SetItemString(d, "BAD_NUMBER_OF_BLOCKS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001300 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001301 Py_DECREF(x);
1302#endif
1303#ifdef CL_BAD_PARAM
1304 x = PyInt_FromLong(CL_BAD_PARAM);
1305 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001306 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001307 Py_DECREF(x);
1308#endif
1309#ifdef CL_BAD_PARAM_ID_POINTER
1310 x = PyInt_FromLong(CL_BAD_PARAM_ID_POINTER);
1311 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM_ID_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001312 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001313 Py_DECREF(x);
1314#endif
1315#ifdef CL_BAD_PARAM_TYPE
1316 x = PyInt_FromLong(CL_BAD_PARAM_TYPE);
1317 if (x == NULL || PyDict_SetItemString(d, "BAD_PARAM_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001318 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001319 Py_DECREF(x);
1320#endif
1321#ifdef CL_BAD_POINTER
1322 x = PyInt_FromLong(CL_BAD_POINTER);
1323 if (x == NULL || PyDict_SetItemString(d, "BAD_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001324 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001325 Py_DECREF(x);
1326#endif
1327#ifdef CL_BAD_PVBUFFER
1328 x = PyInt_FromLong(CL_BAD_PVBUFFER);
1329 if (x == NULL || PyDict_SetItemString(d, "BAD_PVBUFFER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001330 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001331 Py_DECREF(x);
1332#endif
1333#ifdef CL_BAD_SCHEME_POINTER
1334 x = PyInt_FromLong(CL_BAD_SCHEME_POINTER);
1335 if (x == NULL || PyDict_SetItemString(d, "BAD_SCHEME_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001336 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001337 Py_DECREF(x);
1338#endif
1339#ifdef CL_BAD_STREAM_HEADER
1340 x = PyInt_FromLong(CL_BAD_STREAM_HEADER);
1341 if (x == NULL || PyDict_SetItemString(d, "BAD_STREAM_HEADER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001342 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001343 Py_DECREF(x);
1344#endif
1345#ifdef CL_BAD_STRING_POINTER
1346 x = PyInt_FromLong(CL_BAD_STRING_POINTER);
1347 if (x == NULL || PyDict_SetItemString(d, "BAD_STRING_POINTER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001348 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001349 Py_DECREF(x);
1350#endif
1351#ifdef CL_BAD_TEXT_STRING_PTR
1352 x = PyInt_FromLong(CL_BAD_TEXT_STRING_PTR);
1353 if (x == NULL || PyDict_SetItemString(d, "BAD_TEXT_STRING_PTR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001354 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001355 Py_DECREF(x);
1356#endif
1357#ifdef CL_BEST_FIT
1358 x = PyInt_FromLong(CL_BEST_FIT);
1359 if (x == NULL || PyDict_SetItemString(d, "BEST_FIT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001360 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001361 Py_DECREF(x);
1362#endif
1363#ifdef CL_BIDIRECTIONAL
1364 x = PyInt_FromLong(CL_BIDIRECTIONAL);
1365 if (x == NULL || PyDict_SetItemString(d, "BIDIRECTIONAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001366 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001367 Py_DECREF(x);
1368#endif
1369#ifdef CL_BITRATE
1370 x = PyInt_FromLong(CL_BITRATE);
1371 if (x == NULL || PyDict_SetItemString(d, "BITRATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001372 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001373 Py_DECREF(x);
1374#endif
1375#ifdef CL_BITRATE_POLICY
1376 x = PyInt_FromLong(CL_BITRATE_POLICY);
1377 if (x == NULL || PyDict_SetItemString(d, "BITRATE_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001378 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001379 Py_DECREF(x);
1380#endif
1381#ifdef CL_BITRATE_TARGET
1382 x = PyInt_FromLong(CL_BITRATE_TARGET);
1383 if (x == NULL || PyDict_SetItemString(d, "BITRATE_TARGET", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001384 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001385 Py_DECREF(x);
1386#endif
1387#ifdef CL_BITS_PER_COMPONENT
1388 x = PyInt_FromLong(CL_BITS_PER_COMPONENT);
1389 if (x == NULL || PyDict_SetItemString(d, "BITS_PER_COMPONENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001390 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001391 Py_DECREF(x);
1392#endif
1393#ifdef CL_BLENDING
1394 x = PyInt_FromLong(CL_BLENDING);
1395 if (x == NULL || PyDict_SetItemString(d, "BLENDING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001396 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001397 Py_DECREF(x);
1398#endif
1399#ifdef CL_BLOCK_SIZE
1400 x = PyInt_FromLong(CL_BLOCK_SIZE);
1401 if (x == NULL || PyDict_SetItemString(d, "BLOCK_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001402 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001403 Py_DECREF(x);
1404#endif
1405#ifdef CL_BOTTOM_UP
1406 x = PyInt_FromLong(CL_BOTTOM_UP);
1407 if (x == NULL || PyDict_SetItemString(d, "BOTTOM_UP", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001408 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001409 Py_DECREF(x);
1410#endif
1411#ifdef CL_BUFFER_NOT_CREATED
1412 x = PyInt_FromLong(CL_BUFFER_NOT_CREATED);
1413 if (x == NULL || PyDict_SetItemString(d, "BUFFER_NOT_CREATED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001414 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001415 Py_DECREF(x);
1416#endif
1417#ifdef CL_BUF_COMPRESSED
1418 x = PyInt_FromLong(CL_BUF_COMPRESSED);
1419 if (x == NULL || PyDict_SetItemString(d, "BUF_COMPRESSED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001420 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001421 Py_DECREF(x);
1422#endif
1423#ifdef CL_BUF_DATA
1424 x = PyInt_FromLong(CL_BUF_DATA);
1425 if (x == NULL || PyDict_SetItemString(d, "BUF_DATA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001426 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001427 Py_DECREF(x);
1428#endif
1429#ifdef CL_BUF_FRAME
1430 x = PyInt_FromLong(CL_BUF_FRAME);
1431 if (x == NULL || PyDict_SetItemString(d, "BUF_FRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001432 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001433 Py_DECREF(x);
1434#endif
1435#ifdef CL_CHANNEL_POLICY
1436 x = PyInt_FromLong(CL_CHANNEL_POLICY);
1437 if (x == NULL || PyDict_SetItemString(d, "CHANNEL_POLICY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001438 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001439 Py_DECREF(x);
1440#endif
1441#ifdef CL_CHROMA_THRESHOLD
1442 x = PyInt_FromLong(CL_CHROMA_THRESHOLD);
1443 if (x == NULL || PyDict_SetItemString(d, "CHROMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001444 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001445 Py_DECREF(x);
1446#endif
1447#ifdef CL_CODEC
1448 x = PyInt_FromLong(CL_CODEC);
1449 if (x == NULL || PyDict_SetItemString(d, "CODEC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001450 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001451 Py_DECREF(x);
1452#endif
1453#ifdef CL_COMPONENTS
1454 x = PyInt_FromLong(CL_COMPONENTS);
1455 if (x == NULL || PyDict_SetItemString(d, "COMPONENTS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001456 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001457 Py_DECREF(x);
1458#endif
1459#ifdef CL_COMPRESSED_BUFFER_SIZE
1460 x = PyInt_FromLong(CL_COMPRESSED_BUFFER_SIZE);
1461 if (x == NULL || PyDict_SetItemString(d, "COMPRESSED_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001462 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001463 Py_DECREF(x);
1464#endif
1465#ifdef CL_COMPRESSION_RATIO
1466 x = PyInt_FromLong(CL_COMPRESSION_RATIO);
1467 if (x == NULL || PyDict_SetItemString(d, "COMPRESSION_RATIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001468 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001469 Py_DECREF(x);
1470#endif
1471#ifdef CL_COMPRESSOR
1472 x = PyInt_FromLong(CL_COMPRESSOR);
1473 if (x == NULL || PyDict_SetItemString(d, "COMPRESSOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001474 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001475 Py_DECREF(x);
1476#endif
1477#ifdef CL_CONTINUOUS_BLOCK
1478 x = PyInt_FromLong(CL_CONTINUOUS_BLOCK);
1479 if (x == NULL || PyDict_SetItemString(d, "CONTINUOUS_BLOCK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001480 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001481 Py_DECREF(x);
1482#endif
1483#ifdef CL_CONTINUOUS_NONBLOCK
1484 x = PyInt_FromLong(CL_CONTINUOUS_NONBLOCK);
1485 if (x == NULL || PyDict_SetItemString(d, "CONTINUOUS_NONBLOCK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001486 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001487 Py_DECREF(x);
1488#endif
1489#ifdef CL_COSMO_CODEC_CONTROL
1490 x = PyInt_FromLong(CL_COSMO_CODEC_CONTROL);
1491 if (x == NULL || PyDict_SetItemString(d, "COSMO_CODEC_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001492 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001493 Py_DECREF(x);
1494#endif
1495#ifdef CL_COSMO_NUM_PARAMS
1496 x = PyInt_FromLong(CL_COSMO_NUM_PARAMS);
1497 if (x == NULL || PyDict_SetItemString(d, "COSMO_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001498 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001499 Py_DECREF(x);
1500#endif
1501#ifdef CL_COSMO_VALUE_BASE
1502 x = PyInt_FromLong(CL_COSMO_VALUE_BASE);
1503 if (x == NULL || PyDict_SetItemString(d, "COSMO_VALUE_BASE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001504 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001505 Py_DECREF(x);
1506#endif
1507#ifdef CL_COSMO_VIDEO_MANUAL_CONTROL
1508 x = PyInt_FromLong(CL_COSMO_VIDEO_MANUAL_CONTROL);
1509 if (x == NULL || PyDict_SetItemString(d, "COSMO_VIDEO_MANUAL_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001510 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001511 Py_DECREF(x);
1512#endif
1513#ifdef CL_COSMO_VIDEO_TRANSFER_MODE
1514 x = PyInt_FromLong(CL_COSMO_VIDEO_TRANSFER_MODE);
1515 if (x == NULL || PyDict_SetItemString(d, "COSMO_VIDEO_TRANSFER_MODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001516 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001517 Py_DECREF(x);
1518#endif
1519#ifdef CL_DATA
1520 x = PyInt_FromLong(CL_DATA);
1521 if (x == NULL || PyDict_SetItemString(d, "DATA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001522 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001523 Py_DECREF(x);
1524#endif
1525#ifdef CL_DECOMPRESSOR
1526 x = PyInt_FromLong(CL_DECOMPRESSOR);
1527 if (x == NULL || PyDict_SetItemString(d, "DECOMPRESSOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001528 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001529 Py_DECREF(x);
1530#endif
1531#ifdef CL_DSO_ERROR
1532 x = PyInt_FromLong(CL_DSO_ERROR);
1533 if (x == NULL || PyDict_SetItemString(d, "DSO_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001534 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001535 Py_DECREF(x);
1536#endif
1537#ifdef CL_EDGE_THRESHOLD
1538 x = PyInt_FromLong(CL_EDGE_THRESHOLD);
1539 if (x == NULL || PyDict_SetItemString(d, "EDGE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001540 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001541 Py_DECREF(x);
1542#endif
1543#ifdef CL_ENABLE_IMAGEINFO
1544 x = PyInt_FromLong(CL_ENABLE_IMAGEINFO);
1545 if (x == NULL || PyDict_SetItemString(d, "ENABLE_IMAGEINFO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001546 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001547 Py_DECREF(x);
1548#endif
1549#ifdef CL_END_OF_SEQUENCE
1550 x = PyInt_FromLong(CL_END_OF_SEQUENCE);
1551 if (x == NULL || PyDict_SetItemString(d, "END_OF_SEQUENCE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001552 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001553 Py_DECREF(x);
1554#endif
1555#ifdef CL_ENUM_VALUE
1556 x = PyInt_FromLong(CL_ENUM_VALUE);
1557 if (x == NULL || PyDict_SetItemString(d, "ENUM_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001558 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001559 Py_DECREF(x);
1560#endif
1561#ifdef CL_EXACT_COMPRESSION_RATIO
1562 x = PyInt_FromLong(CL_EXACT_COMPRESSION_RATIO);
1563 if (x == NULL || PyDict_SetItemString(d, "EXACT_COMPRESSION_RATIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001564 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001565 Py_DECREF(x);
1566#endif
1567#ifdef CL_EXTERNAL_DEVICE
1568 x = PyInt_FromLong((long) CL_EXTERNAL_DEVICE);
1569 if (x == NULL || PyDict_SetItemString(d, "EXTERNAL_DEVICE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001570 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001571 Py_DECREF(x);
1572#endif
1573#ifdef CL_FLOATING_ENUM_VALUE
1574 x = PyInt_FromLong(CL_FLOATING_ENUM_VALUE);
1575 if (x == NULL || PyDict_SetItemString(d, "FLOATING_ENUM_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001576 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001577 Py_DECREF(x);
1578#endif
1579#ifdef CL_FLOATING_RANGE_VALUE
1580 x = PyInt_FromLong(CL_FLOATING_RANGE_VALUE);
1581 if (x == NULL || PyDict_SetItemString(d, "FLOATING_RANGE_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001582 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001583 Py_DECREF(x);
1584#endif
1585#ifdef CL_FORMAT
1586 x = PyInt_FromLong(CL_FORMAT);
1587 if (x == NULL || PyDict_SetItemString(d, "FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001588 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001589 Py_DECREF(x);
1590#endif
1591#ifdef CL_FORMAT_ABGR
1592 x = PyInt_FromLong(CL_FORMAT_ABGR);
1593 if (x == NULL || PyDict_SetItemString(d, "FORMAT_ABGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001594 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001595 Py_DECREF(x);
1596#endif
1597#ifdef CL_FORMAT_BGR
1598 x = PyInt_FromLong(CL_FORMAT_BGR);
1599 if (x == NULL || PyDict_SetItemString(d, "FORMAT_BGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001600 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001601 Py_DECREF(x);
1602#endif
1603#ifdef CL_FORMAT_BGR233
1604 x = PyInt_FromLong(CL_FORMAT_BGR233);
1605 if (x == NULL || PyDict_SetItemString(d, "FORMAT_BGR233", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001606 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001607 Py_DECREF(x);
1608#endif
1609#ifdef CL_FORMAT_GRAYSCALE
1610 x = PyInt_FromLong(CL_FORMAT_GRAYSCALE);
1611 if (x == NULL || PyDict_SetItemString(d, "FORMAT_GRAYSCALE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001612 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001613 Py_DECREF(x);
1614#endif
1615#ifdef CL_FORMAT_MONO
1616 x = PyInt_FromLong(CL_FORMAT_MONO);
1617 if (x == NULL || PyDict_SetItemString(d, "FORMAT_MONO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001618 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001619 Py_DECREF(x);
1620#endif
1621#ifdef CL_FORMAT_RBG323
1622 x = PyInt_FromLong(CL_FORMAT_RBG323);
1623 if (x == NULL || PyDict_SetItemString(d, "FORMAT_RBG323", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001624 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001625 Py_DECREF(x);
1626#endif
1627#ifdef CL_FORMAT_STEREO_INTERLEAVED
1628 x = PyInt_FromLong(CL_FORMAT_STEREO_INTERLEAVED);
1629 if (x == NULL || PyDict_SetItemString(d, "FORMAT_STEREO_INTERLEAVED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001630 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001631 Py_DECREF(x);
1632#endif
1633#ifdef CL_FORMAT_XBGR
1634 x = PyInt_FromLong(CL_FORMAT_XBGR);
1635 if (x == NULL || PyDict_SetItemString(d, "FORMAT_XBGR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001636 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001637 Py_DECREF(x);
1638#endif
1639#ifdef CL_FORMAT_YCbCr
1640 x = PyInt_FromLong(CL_FORMAT_YCbCr);
1641 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001642 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001643 Py_DECREF(x);
1644#endif
1645#ifdef CL_FORMAT_YCbCr422
1646 x = PyInt_FromLong(CL_FORMAT_YCbCr422);
1647 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001648 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001649 Py_DECREF(x);
1650#endif
1651#ifdef CL_FORMAT_YCbCr422DC
1652 x = PyInt_FromLong(CL_FORMAT_YCbCr422DC);
1653 if (x == NULL || PyDict_SetItemString(d, "FORMAT_YCbCr422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001654 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001655 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001656#endif
1657#ifdef CL_FRAME
Guido van Rossum72429051997-08-12 14:58:54 +00001658 x = PyInt_FromLong(CL_FRAME);
1659 if (x == NULL || PyDict_SetItemString(d, "FRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001660 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001661 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001662#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001663#ifdef CL_FRAMES_PER_CHUNK
1664 x = PyInt_FromLong(CL_FRAMES_PER_CHUNK);
1665 if (x == NULL || PyDict_SetItemString(d, "FRAMES_PER_CHUNK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001666 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001667 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001668#endif
Guido van Rossum72429051997-08-12 14:58:54 +00001669#ifdef CL_FRAME_BUFFER_SIZE
1670 x = PyInt_FromLong(CL_FRAME_BUFFER_SIZE);
1671 if (x == NULL || PyDict_SetItemString(d, "FRAME_BUFFER_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001672 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001673 Py_DECREF(x);
1674#endif
1675#ifdef CL_FRAME_BUFFER_SIZE_ZERO
1676 x = PyInt_FromLong(CL_FRAME_BUFFER_SIZE_ZERO);
1677 if (x == NULL || PyDict_SetItemString(d, "FRAME_BUFFER_SIZE_ZERO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001678 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001679 Py_DECREF(x);
1680#endif
1681#ifdef CL_FRAME_INDEX
1682 x = PyInt_FromLong(CL_FRAME_INDEX);
1683 if (x == NULL || PyDict_SetItemString(d, "FRAME_INDEX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001684 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001685 Py_DECREF(x);
1686#endif
1687#ifdef CL_FRAME_RATE
1688 x = PyInt_FromLong(CL_FRAME_RATE);
1689 if (x == NULL || PyDict_SetItemString(d, "FRAME_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001690 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001691 Py_DECREF(x);
1692#endif
1693#ifdef CL_FRAME_SIZE
1694 x = PyInt_FromLong(CL_FRAME_SIZE);
1695 if (x == NULL || PyDict_SetItemString(d, "FRAME_SIZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001696 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001697 Py_DECREF(x);
1698#endif
1699#ifdef CL_FRAME_TYPE
1700 x = PyInt_FromLong(CL_FRAME_TYPE);
1701 if (x == NULL || PyDict_SetItemString(d, "FRAME_TYPE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001702 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001703 Py_DECREF(x);
1704#endif
1705#ifdef CL_G711_ALAW
1706 x = PyInt_FromLong(CL_G711_ALAW);
1707 if (x == NULL || PyDict_SetItemString(d, "G711_ALAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001708 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001709 Py_DECREF(x);
1710#endif
1711#ifdef CL_G711_ALAW_SOFTWARE
1712 x = PyInt_FromLong(CL_G711_ALAW_SOFTWARE);
1713 if (x == NULL || PyDict_SetItemString(d, "G711_ALAW_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001714 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001715 Py_DECREF(x);
1716#endif
1717#ifdef CL_G711_ULAW
1718 x = PyInt_FromLong(CL_G711_ULAW);
1719 if (x == NULL || PyDict_SetItemString(d, "G711_ULAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001720 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001721 Py_DECREF(x);
1722#endif
1723#ifdef CL_G711_ULAW_SOFTWARE
1724 x = PyInt_FromLong(CL_G711_ULAW_SOFTWARE);
1725 if (x == NULL || PyDict_SetItemString(d, "G711_ULAW_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001726 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001727 Py_DECREF(x);
1728#endif
1729#ifdef CL_GRAYSCALE
1730 x = PyInt_FromLong(CL_GRAYSCALE);
1731 if (x == NULL || PyDict_SetItemString(d, "GRAYSCALE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001732 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001733 Py_DECREF(x);
1734#endif
1735#ifdef CL_HDCC
1736 x = PyInt_FromLong(CL_HDCC);
1737 if (x == NULL || PyDict_SetItemString(d, "HDCC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001738 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001739 Py_DECREF(x);
1740#endif
1741#ifdef CL_HDCC_SAMPLES_PER_TILE
1742 x = PyInt_FromLong(CL_HDCC_SAMPLES_PER_TILE);
1743 if (x == NULL || PyDict_SetItemString(d, "HDCC_SAMPLES_PER_TILE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001744 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001745 Py_DECREF(x);
1746#endif
1747#ifdef CL_HDCC_SOFTWARE
1748 x = PyInt_FromLong(CL_HDCC_SOFTWARE);
1749 if (x == NULL || PyDict_SetItemString(d, "HDCC_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001750 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001751 Py_DECREF(x);
1752#endif
1753#ifdef CL_HDCC_TILE_THRESHOLD
1754 x = PyInt_FromLong(CL_HDCC_TILE_THRESHOLD);
1755 if (x == NULL || PyDict_SetItemString(d, "HDCC_TILE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001756 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001757 Py_DECREF(x);
1758#endif
1759#ifdef CL_HEADER_START_CODE
1760 x = PyInt_FromLong(CL_HEADER_START_CODE);
1761 if (x == NULL || PyDict_SetItemString(d, "HEADER_START_CODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001762 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001763 Py_DECREF(x);
1764#endif
1765#ifdef CL_IMAGEINFO_FIELDMASK
1766 x = PyInt_FromLong(CL_IMAGEINFO_FIELDMASK);
1767 if (x == NULL || PyDict_SetItemString(d, "IMAGEINFO_FIELDMASK", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001768 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001769 Py_DECREF(x);
1770#endif
1771#ifdef CL_IMAGE_CROP_BOTTOM
1772 x = PyInt_FromLong(CL_IMAGE_CROP_BOTTOM);
1773 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_BOTTOM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001774 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001775 Py_DECREF(x);
1776#endif
1777#ifdef CL_IMAGE_CROP_LEFT
1778 x = PyInt_FromLong(CL_IMAGE_CROP_LEFT);
1779 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_LEFT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001780 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001781 Py_DECREF(x);
1782#endif
1783#ifdef CL_IMAGE_CROP_RIGHT
1784 x = PyInt_FromLong(CL_IMAGE_CROP_RIGHT);
1785 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_RIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001786 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001787 Py_DECREF(x);
1788#endif
1789#ifdef CL_IMAGE_CROP_TOP
1790 x = PyInt_FromLong(CL_IMAGE_CROP_TOP);
1791 if (x == NULL || PyDict_SetItemString(d, "IMAGE_CROP_TOP", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001792 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001793 Py_DECREF(x);
1794#endif
1795#ifdef CL_IMAGE_HEIGHT
1796 x = PyInt_FromLong(CL_IMAGE_HEIGHT);
1797 if (x == NULL || PyDict_SetItemString(d, "IMAGE_HEIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001798 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001799 Py_DECREF(x);
1800#endif
1801#ifdef CL_IMAGE_WIDTH
1802 x = PyInt_FromLong(CL_IMAGE_WIDTH);
1803 if (x == NULL || PyDict_SetItemString(d, "IMAGE_WIDTH", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001804 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001805 Py_DECREF(x);
1806#endif
1807#ifdef CL_IMPACT_CODEC_CONTROL
1808 x = PyInt_FromLong(CL_IMPACT_CODEC_CONTROL);
1809 if (x == NULL || PyDict_SetItemString(d, "IMPACT_CODEC_CONTROL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001810 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001811 Py_DECREF(x);
1812#endif
1813#ifdef CL_IMPACT_FRAME_INTERLEAVE
1814 x = PyInt_FromLong(CL_IMPACT_FRAME_INTERLEAVE);
1815 if (x == NULL || PyDict_SetItemString(d, "IMPACT_FRAME_INTERLEAVE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001816 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001817 Py_DECREF(x);
1818#endif
1819#ifdef CL_IMPACT_NUM_PARAMS
1820 x = PyInt_FromLong(CL_IMPACT_NUM_PARAMS);
1821 if (x == NULL || PyDict_SetItemString(d, "IMPACT_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001822 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001823 Py_DECREF(x);
1824#endif
1825#ifdef CL_INTERNAL_FORMAT
1826 x = PyInt_FromLong(CL_INTERNAL_FORMAT);
1827 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001828 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001829 Py_DECREF(x);
1830#endif
1831#ifdef CL_INTERNAL_IMAGE_HEIGHT
1832 x = PyInt_FromLong(CL_INTERNAL_IMAGE_HEIGHT);
1833 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_IMAGE_HEIGHT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001834 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001835 Py_DECREF(x);
1836#endif
1837#ifdef CL_INTERNAL_IMAGE_WIDTH
1838 x = PyInt_FromLong(CL_INTERNAL_IMAGE_WIDTH);
1839 if (x == NULL || PyDict_SetItemString(d, "INTERNAL_IMAGE_WIDTH", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001840 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001841 Py_DECREF(x);
1842#endif
1843#ifdef CL_INTRA
1844 x = PyInt_FromLong(CL_INTRA);
1845 if (x == NULL || PyDict_SetItemString(d, "INTRA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001846 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001847 Py_DECREF(x);
1848#endif
1849#ifdef CL_JPEG
1850 x = PyInt_FromLong(CL_JPEG);
1851 if (x == NULL || PyDict_SetItemString(d, "JPEG", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001852 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001853 Py_DECREF(x);
1854#endif
1855#ifdef CL_JPEG_COSMO
1856 x = PyInt_FromLong(CL_JPEG_COSMO);
1857 if (x == NULL || PyDict_SetItemString(d, "JPEG_COSMO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001858 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001859 Py_DECREF(x);
1860#endif
1861#ifdef CL_JPEG_ERROR
1862 x = PyInt_FromLong(CL_JPEG_ERROR);
1863 if (x == NULL || PyDict_SetItemString(d, "JPEG_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001864 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001865 Py_DECREF(x);
1866#endif
1867#ifdef CL_JPEG_IMPACT
1868 x = PyInt_FromLong(CL_JPEG_IMPACT);
1869 if (x == NULL || PyDict_SetItemString(d, "JPEG_IMPACT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001870 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001871 Py_DECREF(x);
1872#endif
1873#ifdef CL_JPEG_NUM_PARAMS
1874 x = PyInt_FromLong(CL_JPEG_NUM_PARAMS);
1875 if (x == NULL || PyDict_SetItemString(d, "JPEG_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001876 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001877 Py_DECREF(x);
1878#endif
1879#ifdef CL_JPEG_QUALITY_FACTOR
1880 x = PyInt_FromLong(CL_JPEG_QUALITY_FACTOR);
1881 if (x == NULL || PyDict_SetItemString(d, "JPEG_QUALITY_FACTOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001882 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001883 Py_DECREF(x);
1884#endif
1885#ifdef CL_JPEG_QUANTIZATION_TABLES
1886 x = PyInt_FromLong(CL_JPEG_QUANTIZATION_TABLES);
1887 if (x == NULL || PyDict_SetItemString(d, "JPEG_QUANTIZATION_TABLES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001888 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001889 Py_DECREF(x);
1890#endif
1891#ifdef CL_JPEG_SOFTWARE
1892 x = PyInt_FromLong(CL_JPEG_SOFTWARE);
1893 if (x == NULL || PyDict_SetItemString(d, "JPEG_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001894 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001895 Py_DECREF(x);
1896#endif
1897#ifdef CL_JPEG_STREAM_HEADERS
1898 x = PyInt_FromLong(CL_JPEG_STREAM_HEADERS);
1899 if (x == NULL || PyDict_SetItemString(d, "JPEG_STREAM_HEADERS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001900 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001901 Py_DECREF(x);
1902#endif
1903#ifdef CL_KEYFRAME
1904 x = PyInt_FromLong(CL_KEYFRAME);
1905 if (x == NULL || PyDict_SetItemString(d, "KEYFRAME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001906 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001907 Py_DECREF(x);
1908#endif
1909#ifdef CL_KEYFRAME_DISTANCE
1910 x = PyInt_FromLong(CL_KEYFRAME_DISTANCE);
1911 if (x == NULL || PyDict_SetItemString(d, "KEYFRAME_DISTANCE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001912 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001913 Py_DECREF(x);
1914#endif
1915#ifdef CL_LAST_FRAME_INDEX
1916 x = PyInt_FromLong(CL_LAST_FRAME_INDEX);
1917 if (x == NULL || PyDict_SetItemString(d, "LAST_FRAME_INDEX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001918 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001919 Py_DECREF(x);
1920#endif
1921#ifdef CL_LAYER
1922 x = PyInt_FromLong(CL_LAYER);
1923 if (x == NULL || PyDict_SetItemString(d, "LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001924 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001925 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00001926#endif
1927#ifdef CL_LUMA_THRESHOLD
Guido van Rossum72429051997-08-12 14:58:54 +00001928 x = PyInt_FromLong(CL_LUMA_THRESHOLD);
1929 if (x == NULL || PyDict_SetItemString(d, "LUMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001930 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001931 Py_DECREF(x);
1932#endif
1933#ifdef CL_MAX_NUMBER_OF_AUDIO_ALGORITHMS
1934 x = PyInt_FromLong(CL_MAX_NUMBER_OF_AUDIO_ALGORITHMS);
1935 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_AUDIO_ALGORITHMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001936 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001937 Py_DECREF(x);
1938#endif
1939#ifdef CL_MAX_NUMBER_OF_FORMATS
1940 x = PyInt_FromLong(CL_MAX_NUMBER_OF_FORMATS);
1941 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001942 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001943 Py_DECREF(x);
1944#endif
1945#ifdef CL_MAX_NUMBER_OF_ORIGINAL_FORMATS
1946 x = PyInt_FromLong(CL_MAX_NUMBER_OF_ORIGINAL_FORMATS);
1947 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_ORIGINAL_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001948 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001949 Py_DECREF(x);
1950#endif
1951#ifdef CL_MAX_NUMBER_OF_PARAMS
1952 x = PyInt_FromLong(CL_MAX_NUMBER_OF_PARAMS);
1953 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001954 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001955 Py_DECREF(x);
1956#endif
1957#ifdef CL_MAX_NUMBER_OF_VIDEO_ALGORITHMS
1958 x = PyInt_FromLong(CL_MAX_NUMBER_OF_VIDEO_ALGORITHMS);
1959 if (x == NULL || PyDict_SetItemString(d, "MAX_NUMBER_OF_VIDEO_ALGORITHMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001960 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001961 Py_DECREF(x);
1962#endif
1963#ifdef CL_MONO
1964 x = PyInt_FromLong(CL_MONO);
1965 if (x == NULL || PyDict_SetItemString(d, "MONO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001966 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001967 Py_DECREF(x);
1968#endif
1969#ifdef CL_MPEG1_AUDIO_AWARE
1970 x = PyInt_FromLong(CL_MPEG1_AUDIO_AWARE);
1971 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_AWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001972 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001973 Py_DECREF(x);
1974#endif
1975#ifdef CL_MPEG1_AUDIO_LAYER
1976 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER);
1977 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001978 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001979 Py_DECREF(x);
1980#endif
1981#ifdef CL_MPEG1_AUDIO_LAYER_I
1982 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER_I);
1983 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001984 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001985 Py_DECREF(x);
1986#endif
1987#ifdef CL_MPEG1_AUDIO_LAYER_II
1988 x = PyInt_FromLong(CL_MPEG1_AUDIO_LAYER_II);
1989 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001990 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001991 Py_DECREF(x);
1992#endif
1993#ifdef CL_MPEG1_AUDIO_MODE
1994 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE);
1995 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00001996 return;
Guido van Rossum72429051997-08-12 14:58:54 +00001997 Py_DECREF(x);
1998#endif
1999#ifdef CL_MPEG1_AUDIO_MODE_DUAL
2000 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_DUAL);
2001 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_DUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002002 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002003 Py_DECREF(x);
2004#endif
2005#ifdef CL_MPEG1_AUDIO_MODE_JOINT
2006 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_JOINT);
2007 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_JOINT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002008 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002009 Py_DECREF(x);
2010#endif
2011#ifdef CL_MPEG1_AUDIO_MODE_SINGLE
2012 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_SINGLE);
2013 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_SINGLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002014 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002015 Py_DECREF(x);
2016#endif
2017#ifdef CL_MPEG1_AUDIO_MODE_STEREO
2018 x = PyInt_FromLong(CL_MPEG1_AUDIO_MODE_STEREO);
2019 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_MODE_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002020 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002021 Py_DECREF(x);
2022#endif
2023#ifdef CL_MPEG1_AUDIO_SOFTWARE
2024 x = PyInt_FromLong(CL_MPEG1_AUDIO_SOFTWARE);
2025 if (x == NULL || PyDict_SetItemString(d, "MPEG1_AUDIO_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002026 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002027 Py_DECREF(x);
2028#endif
2029#ifdef CL_MPEG1_END_OF_STREAM
2030 x = PyInt_FromLong(CL_MPEG1_END_OF_STREAM);
2031 if (x == NULL || PyDict_SetItemString(d, "MPEG1_END_OF_STREAM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002032 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002033 Py_DECREF(x);
2034#endif
2035#ifdef CL_MPEG1_ERROR
2036 x = PyInt_FromLong(CL_MPEG1_ERROR);
2037 if (x == NULL || PyDict_SetItemString(d, "MPEG1_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002038 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002039 Py_DECREF(x);
2040#endif
2041#ifdef CL_MPEG1_NUM_PARAMS
2042 x = PyInt_FromLong(CL_MPEG1_NUM_PARAMS);
2043 if (x == NULL || PyDict_SetItemString(d, "MPEG1_NUM_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002044 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002045 Py_DECREF(x);
2046#endif
2047#ifdef CL_MPEG1_VIDEO_M
2048 x = PyInt_FromLong(CL_MPEG1_VIDEO_M);
2049 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_M", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002050 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002051 Py_DECREF(x);
2052#endif
2053#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X
2054 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X);
2055 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002056 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002057 Py_DECREF(x);
2058#endif
2059#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y
2060 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y);
2061 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002062 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002063 Py_DECREF(x);
2064#endif
2065#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X
2066 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X);
2067 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002068 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002069 Py_DECREF(x);
2070#endif
2071#ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y
2072 x = PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y);
2073 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002074 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002075 Py_DECREF(x);
2076#endif
2077#ifdef CL_MPEG1_VIDEO_N
2078 x = PyInt_FromLong(CL_MPEG1_VIDEO_N);
2079 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_N", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002080 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002081 Py_DECREF(x);
2082#endif
2083#ifdef CL_MPEG1_VIDEO_SOFTNESS
2084 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS);
2085 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002086 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002087 Py_DECREF(x);
2088#endif
2089#ifdef CL_MPEG1_VIDEO_SOFTNESS_MAXIMUM
2090 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_MAXIMUM);
2091 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_MAXIMUM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002092 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002093 Py_DECREF(x);
2094#endif
2095#ifdef CL_MPEG1_VIDEO_SOFTNESS_MEDIUM
2096 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_MEDIUM);
2097 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_MEDIUM", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002098 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002099 Py_DECREF(x);
2100#endif
2101#ifdef CL_MPEG1_VIDEO_SOFTNESS_NONE
2102 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_NONE);
2103 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTNESS_NONE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002104 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002105 Py_DECREF(x);
2106#endif
2107#ifdef CL_MPEG1_VIDEO_SOFTWARE
2108 x = PyInt_FromLong(CL_MPEG1_VIDEO_SOFTWARE);
2109 if (x == NULL || PyDict_SetItemString(d, "MPEG1_VIDEO_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002110 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002111 Py_DECREF(x);
2112#endif
2113#ifdef CL_MPEG_VIDEO
2114 x = PyInt_FromLong(CL_MPEG_VIDEO);
2115 if (x == NULL || PyDict_SetItemString(d, "MPEG_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002116 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002117 Py_DECREF(x);
2118#endif
2119#ifdef CL_MULTIRATE_AWARE
2120 x = PyInt_FromLong(CL_MULTIRATE_AWARE);
2121 if (x == NULL || PyDict_SetItemString(d, "MULTIRATE_AWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002122 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002123 Py_DECREF(x);
2124#endif
2125#ifdef CL_MVC1
2126 x = PyInt_FromLong(CL_MVC1);
2127 if (x == NULL || PyDict_SetItemString(d, "MVC1", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002128 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002129 Py_DECREF(x);
2130#endif
2131#ifdef CL_MVC1_SOFTWARE
2132 x = PyInt_FromLong(CL_MVC1_SOFTWARE);
2133 if (x == NULL || PyDict_SetItemString(d, "MVC1_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002134 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002135 Py_DECREF(x);
2136#endif
2137#ifdef CL_MVC2
2138 x = PyInt_FromLong(CL_MVC2);
2139 if (x == NULL || PyDict_SetItemString(d, "MVC2", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002140 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002141 Py_DECREF(x);
2142#endif
2143#ifdef CL_MVC2_BLENDING
2144 x = PyInt_FromLong(CL_MVC2_BLENDING);
2145 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002146 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002147 Py_DECREF(x);
2148#endif
2149#ifdef CL_MVC2_BLENDING_OFF
2150 x = PyInt_FromLong(CL_MVC2_BLENDING_OFF);
2151 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING_OFF", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002152 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002153 Py_DECREF(x);
2154#endif
2155#ifdef CL_MVC2_BLENDING_ON
2156 x = PyInt_FromLong(CL_MVC2_BLENDING_ON);
2157 if (x == NULL || PyDict_SetItemString(d, "MVC2_BLENDING_ON", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002158 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002159 Py_DECREF(x);
2160#endif
2161#ifdef CL_MVC2_CHROMA_THRESHOLD
2162 x = PyInt_FromLong(CL_MVC2_CHROMA_THRESHOLD);
2163 if (x == NULL || PyDict_SetItemString(d, "MVC2_CHROMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002164 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002165 Py_DECREF(x);
2166#endif
2167#ifdef CL_MVC2_EDGE_THRESHOLD
2168 x = PyInt_FromLong(CL_MVC2_EDGE_THRESHOLD);
2169 if (x == NULL || PyDict_SetItemString(d, "MVC2_EDGE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002170 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002171 Py_DECREF(x);
2172#endif
2173#ifdef CL_MVC2_ERROR
2174 x = PyInt_FromLong(CL_MVC2_ERROR);
2175 if (x == NULL || PyDict_SetItemString(d, "MVC2_ERROR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002176 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002177 Py_DECREF(x);
2178#endif
2179#ifdef CL_MVC2_LUMA_THRESHOLD
2180 x = PyInt_FromLong(CL_MVC2_LUMA_THRESHOLD);
2181 if (x == NULL || PyDict_SetItemString(d, "MVC2_LUMA_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002182 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002183 Py_DECREF(x);
2184#endif
2185#ifdef CL_MVC2_SOFTWARE
2186 x = PyInt_FromLong(CL_MVC2_SOFTWARE);
2187 if (x == NULL || PyDict_SetItemString(d, "MVC2_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002188 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002189 Py_DECREF(x);
2190#endif
2191#ifdef CL_MVC3_QUALITY_LEVEL
2192 x = PyInt_FromLong(CL_MVC3_QUALITY_LEVEL);
2193 if (x == NULL || PyDict_SetItemString(d, "MVC3_QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002194 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002195 Py_DECREF(x);
2196#endif
2197#ifdef CL_MVC3_SOFTWARE
2198 x = PyInt_FromLong(CL_MVC3_SOFTWARE);
2199 if (x == NULL || PyDict_SetItemString(d, "MVC3_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002200 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002201 Py_DECREF(x);
2202#endif
2203#ifdef CL_NEXT_NOT_AVAILABLE
2204 x = PyInt_FromLong(CL_NEXT_NOT_AVAILABLE);
2205 if (x == NULL || PyDict_SetItemString(d, "NEXT_NOT_AVAILABLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002206 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002207 Py_DECREF(x);
2208#endif
2209#ifdef CL_NOISE_MARGIN
2210 x = PyInt_FromLong(CL_NOISE_MARGIN);
2211 if (x == NULL || PyDict_SetItemString(d, "NOISE_MARGIN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002212 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002213 Py_DECREF(x);
2214#endif
2215#ifdef CL_NONE
2216 x = PyInt_FromLong(CL_NONE);
2217 if (x == NULL || PyDict_SetItemString(d, "NONE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002218 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002219 Py_DECREF(x);
2220#endif
2221#ifdef CL_NUMBER_OF_FORMATS
2222 x = PyInt_FromLong(CL_NUMBER_OF_FORMATS);
2223 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002224 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002225 Py_DECREF(x);
2226#endif
2227#ifdef CL_NUMBER_OF_FRAMES
2228 x = PyInt_FromLong(CL_NUMBER_OF_FRAMES);
2229 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_FRAMES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002230 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002231 Py_DECREF(x);
2232#endif
2233#ifdef CL_NUMBER_OF_PARAMS
2234 x = PyInt_FromLong(CL_NUMBER_OF_PARAMS);
2235 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_PARAMS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002236 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002237 Py_DECREF(x);
2238#endif
2239#ifdef CL_NUMBER_OF_PARAMS_FREEZE
2240 x = PyInt_FromLong(CL_NUMBER_OF_PARAMS_FREEZE);
2241 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_PARAMS_FREEZE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002242 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002243 Py_DECREF(x);
2244#endif
2245#ifdef CL_NUMBER_OF_VIDEO_FORMATS
2246 x = PyInt_FromLong(CL_NUMBER_OF_VIDEO_FORMATS);
2247 if (x == NULL || PyDict_SetItemString(d, "NUMBER_OF_VIDEO_FORMATS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002248 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002249 Py_DECREF(x);
2250#endif
2251#ifdef CL_ORIENTATION
2252 x = PyInt_FromLong(CL_ORIENTATION);
2253 if (x == NULL || PyDict_SetItemString(d, "ORIENTATION", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002254 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002255 Py_DECREF(x);
2256#endif
2257#ifdef CL_ORIGINAL_FORMAT
2258 x = PyInt_FromLong(CL_ORIGINAL_FORMAT);
2259 if (x == NULL || PyDict_SetItemString(d, "ORIGINAL_FORMAT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002260 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002261 Py_DECREF(x);
2262#endif
2263#ifdef CL_PARAM_OUT_OF_RANGE
2264 x = PyInt_FromLong(CL_PARAM_OUT_OF_RANGE);
2265 if (x == NULL || PyDict_SetItemString(d, "PARAM_OUT_OF_RANGE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002266 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002267 Py_DECREF(x);
2268#endif
2269#ifdef CL_PIXEL_ASPECT
2270 x = PyInt_FromLong(CL_PIXEL_ASPECT);
2271 if (x == NULL || PyDict_SetItemString(d, "PIXEL_ASPECT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002272 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002273 Py_DECREF(x);
2274#endif
2275#ifdef CL_PREDICTED
2276 x = PyInt_FromLong(CL_PREDICTED);
2277 if (x == NULL || PyDict_SetItemString(d, "PREDICTED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002278 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002279 Py_DECREF(x);
2280#endif
2281#ifdef CL_PREROLL
2282 x = PyInt_FromLong(CL_PREROLL);
2283 if (x == NULL || PyDict_SetItemString(d, "PREROLL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002284 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002285 Py_DECREF(x);
2286#endif
2287#ifdef CL_QUALITY_FACTOR
2288 x = PyInt_FromLong(CL_QUALITY_FACTOR);
2289 if (x == NULL || PyDict_SetItemString(d, "QUALITY_FACTOR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002290 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002291 Py_DECREF(x);
2292#endif
2293#ifdef CL_QUALITY_LEVEL
2294 x = PyInt_FromLong(CL_QUALITY_LEVEL);
2295 if (x == NULL || PyDict_SetItemString(d, "QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002296 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002297 Py_DECREF(x);
2298#endif
2299#ifdef CL_QUALITY_SPATIAL
2300 x = PyInt_FromLong(CL_QUALITY_SPATIAL);
2301 if (x == NULL || PyDict_SetItemString(d, "QUALITY_SPATIAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002302 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002303 Py_DECREF(x);
2304#endif
2305#ifdef CL_QUALITY_TEMPORAL
2306 x = PyInt_FromLong(CL_QUALITY_TEMPORAL);
2307 if (x == NULL || PyDict_SetItemString(d, "QUALITY_TEMPORAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002308 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002309 Py_DECREF(x);
2310#endif
2311#ifdef CL_QUANTIZATION_TABLES
2312 x = PyInt_FromLong(CL_QUANTIZATION_TABLES);
2313 if (x == NULL || PyDict_SetItemString(d, "QUANTIZATION_TABLES", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002314 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002315 Py_DECREF(x);
2316#endif
2317#ifdef CL_RANGE_VALUE
2318 x = PyInt_FromLong(CL_RANGE_VALUE);
2319 if (x == NULL || PyDict_SetItemString(d, "RANGE_VALUE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002320 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002321 Py_DECREF(x);
2322#endif
2323#ifdef CL_RGB
2324 x = PyInt_FromLong(CL_RGB);
2325 if (x == NULL || PyDict_SetItemString(d, "RGB", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002326 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002327 Py_DECREF(x);
2328#endif
2329#ifdef CL_RGB332
2330 x = PyInt_FromLong(CL_RGB332);
2331 if (x == NULL || PyDict_SetItemString(d, "RGB332", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002332 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002333 Py_DECREF(x);
2334#endif
2335#ifdef CL_RGB8
2336 x = PyInt_FromLong(CL_RGB8);
2337 if (x == NULL || PyDict_SetItemString(d, "RGB8", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002338 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002339 Py_DECREF(x);
2340#endif
2341#ifdef CL_RGBA
2342 x = PyInt_FromLong(CL_RGBA);
2343 if (x == NULL || PyDict_SetItemString(d, "RGBA", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002344 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002345 Py_DECREF(x);
2346#endif
2347#ifdef CL_RGBX
2348 x = PyInt_FromLong(CL_RGBX);
2349 if (x == NULL || PyDict_SetItemString(d, "RGBX", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002350 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002351 Py_DECREF(x);
2352#endif
2353#ifdef CL_RLE
2354 x = PyInt_FromLong(CL_RLE);
2355 if (x == NULL || PyDict_SetItemString(d, "RLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002356 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002357 Py_DECREF(x);
2358#endif
2359#ifdef CL_RLE24
2360 x = PyInt_FromLong(CL_RLE24);
2361 if (x == NULL || PyDict_SetItemString(d, "RLE24", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002362 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002363 Py_DECREF(x);
2364#endif
2365#ifdef CL_RLE24_SOFTWARE
2366 x = PyInt_FromLong(CL_RLE24_SOFTWARE);
2367 if (x == NULL || PyDict_SetItemString(d, "RLE24_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002368 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002369 Py_DECREF(x);
2370#endif
2371#ifdef CL_RLE_SOFTWARE
2372 x = PyInt_FromLong(CL_RLE_SOFTWARE);
2373 if (x == NULL || PyDict_SetItemString(d, "RLE_SOFTWARE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002374 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002375 Py_DECREF(x);
2376#endif
2377#ifdef CL_RTR
2378 x = PyInt_FromLong(CL_RTR);
2379 if (x == NULL || PyDict_SetItemString(d, "RTR", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002380 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002381 Py_DECREF(x);
2382#endif
2383#ifdef CL_RTR1
2384 x = PyInt_FromLong(CL_RTR1);
2385 if (x == NULL || PyDict_SetItemString(d, "RTR1", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002386 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002387 Py_DECREF(x);
2388#endif
2389#ifdef CL_RTR_QUALITY_LEVEL
2390 x = PyInt_FromLong(CL_RTR_QUALITY_LEVEL);
2391 if (x == NULL || PyDict_SetItemString(d, "RTR_QUALITY_LEVEL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002392 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002393 Py_DECREF(x);
2394#endif
2395#ifdef CL_SAMPLES_PER_TILE
2396 x = PyInt_FromLong(CL_SAMPLES_PER_TILE);
2397 if (x == NULL || PyDict_SetItemString(d, "SAMPLES_PER_TILE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002398 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002399 Py_DECREF(x);
2400#endif
2401#ifdef CL_SCHEME_BUSY
2402 x = PyInt_FromLong(CL_SCHEME_BUSY);
2403 if (x == NULL || PyDict_SetItemString(d, "SCHEME_BUSY", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002404 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002405 Py_DECREF(x);
2406#endif
2407#ifdef CL_SCHEME_NOT_AVAILABLE
2408 x = PyInt_FromLong(CL_SCHEME_NOT_AVAILABLE);
2409 if (x == NULL || PyDict_SetItemString(d, "SCHEME_NOT_AVAILABLE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002410 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002411 Py_DECREF(x);
2412#endif
2413#ifdef CL_SPEED
2414 x = PyInt_FromLong(CL_SPEED);
2415 if (x == NULL || PyDict_SetItemString(d, "SPEED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002416 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002417 Py_DECREF(x);
2418#endif
2419#ifdef CL_STEREO_INTERLEAVED
2420 x = PyInt_FromLong(CL_STEREO_INTERLEAVED);
2421 if (x == NULL || PyDict_SetItemString(d, "STEREO_INTERLEAVED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002422 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002423 Py_DECREF(x);
2424#endif
2425#ifdef CL_STREAM_HEADERS
2426 x = PyInt_FromLong(CL_STREAM_HEADERS);
2427 if (x == NULL || PyDict_SetItemString(d, "STREAM_HEADERS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002428 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002429 Py_DECREF(x);
2430#endif
2431#ifdef CL_TILE_THRESHOLD
2432 x = PyInt_FromLong(CL_TILE_THRESHOLD);
2433 if (x == NULL || PyDict_SetItemString(d, "TILE_THRESHOLD", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002434 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002435 Py_DECREF(x);
2436#endif
2437#ifdef CL_TOP_DOWN
2438 x = PyInt_FromLong(CL_TOP_DOWN);
2439 if (x == NULL || PyDict_SetItemString(d, "TOP_DOWN", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002440 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002441 Py_DECREF(x);
2442#endif
2443#ifdef CL_ULAW
2444 x = PyInt_FromLong(CL_ULAW);
2445 if (x == NULL || PyDict_SetItemString(d, "ULAW", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002446 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002447 Py_DECREF(x);
2448#endif
2449#ifdef CL_UNCOMPRESSED
2450 x = PyInt_FromLong(CL_UNCOMPRESSED);
2451 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002452 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002453 Py_DECREF(x);
2454#endif
2455#ifdef CL_UNCOMPRESSED_AUDIO
2456 x = PyInt_FromLong(CL_UNCOMPRESSED_AUDIO);
2457 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED_AUDIO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002458 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002459 Py_DECREF(x);
2460#endif
2461#ifdef CL_UNCOMPRESSED_VIDEO
2462 x = PyInt_FromLong(CL_UNCOMPRESSED_VIDEO);
2463 if (x == NULL || PyDict_SetItemString(d, "UNCOMPRESSED_VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002464 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002465 Py_DECREF(x);
2466#endif
2467#ifdef CL_UNKNOWN_SCHEME
2468 x = PyInt_FromLong(CL_UNKNOWN_SCHEME);
2469 if (x == NULL || PyDict_SetItemString(d, "UNKNOWN_SCHEME", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002470 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002471 Py_DECREF(x);
2472#endif
2473#ifdef CL_VIDEO
2474 x = PyInt_FromLong(CL_VIDEO);
2475 if (x == NULL || PyDict_SetItemString(d, "VIDEO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002476 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002477 Py_DECREF(x);
2478#endif
2479#ifdef CL_Y
2480 x = PyInt_FromLong(CL_Y);
2481 if (x == NULL || PyDict_SetItemString(d, "Y", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002482 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002483 Py_DECREF(x);
2484#endif
2485#ifdef CL_YCbCr
2486 x = PyInt_FromLong(CL_YCbCr);
2487 if (x == NULL || PyDict_SetItemString(d, "YCbCr", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002488 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002489 Py_DECREF(x);
2490#endif
2491#ifdef CL_YCbCr422
2492 x = PyInt_FromLong(CL_YCbCr422);
2493 if (x == NULL || PyDict_SetItemString(d, "YCbCr422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002494 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002495 Py_DECREF(x);
2496#endif
2497#ifdef CL_YCbCr422DC
2498 x = PyInt_FromLong(CL_YCbCr422DC);
2499 if (x == NULL || PyDict_SetItemString(d, "YCbCr422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002500 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002501 Py_DECREF(x);
2502#endif
2503#ifdef CL_YCbCr422HC
2504 x = PyInt_FromLong(CL_YCbCr422HC);
2505 if (x == NULL || PyDict_SetItemString(d, "YCbCr422HC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002506 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002507 Py_DECREF(x);
2508#endif
2509#ifdef CL_YUV
2510 x = PyInt_FromLong(CL_YUV);
2511 if (x == NULL || PyDict_SetItemString(d, "YUV", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002512 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002513 Py_DECREF(x);
2514#endif
2515#ifdef CL_YUV422
2516 x = PyInt_FromLong(CL_YUV422);
2517 if (x == NULL || PyDict_SetItemString(d, "YUV422", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002518 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002519 Py_DECREF(x);
2520#endif
2521#ifdef CL_YUV422DC
2522 x = PyInt_FromLong(CL_YUV422DC);
2523 if (x == NULL || PyDict_SetItemString(d, "YUV422DC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002524 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002525 Py_DECREF(x);
2526#endif
2527#ifdef CL_YUV422HC
2528 x = PyInt_FromLong(CL_YUV422HC);
2529 if (x == NULL || PyDict_SetItemString(d, "YUV422HC", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002530 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002531 Py_DECREF(x);
2532#endif
2533#ifdef AWCMP_STEREO
2534 x = PyInt_FromLong(AWCMP_STEREO);
2535 if (x == NULL || PyDict_SetItemString(d, "AWCMP_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002536 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002537 Py_DECREF(x);
2538#endif
2539#ifdef AWCMP_JOINT_STEREO
2540 x = PyInt_FromLong(AWCMP_JOINT_STEREO);
2541 if (x == NULL || PyDict_SetItemString(d, "AWCMP_JOINT_STEREO", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002542 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002543 Py_DECREF(x);
2544#endif
2545#ifdef AWCMP_INDEPENDENT
2546 x = PyInt_FromLong(AWCMP_INDEPENDENT);
2547 if (x == NULL || PyDict_SetItemString(d, "AWCMP_INDEPENDENT", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002548 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002549 Py_DECREF(x);
2550#endif
2551#ifdef AWCMP_FIXED_RATE
2552 x = PyInt_FromLong(AWCMP_FIXED_RATE);
2553 if (x == NULL || PyDict_SetItemString(d, "AWCMP_FIXED_RATE", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002554 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002555 Py_DECREF(x);
2556#endif
2557#ifdef AWCMP_CONST_QUAL
2558 x = PyInt_FromLong(AWCMP_CONST_QUAL);
2559 if (x == NULL || PyDict_SetItemString(d, "AWCMP_CONST_QUAL", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002560 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002561 Py_DECREF(x);
2562#endif
2563#ifdef AWCMP_LOSSLESS
2564 x = PyInt_FromLong(AWCMP_LOSSLESS);
2565 if (x == NULL || PyDict_SetItemString(d, "AWCMP_LOSSLESS", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002566 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002567 Py_DECREF(x);
2568#endif
2569#ifdef AWCMP_MPEG_LAYER_I
2570 x = PyInt_FromLong(AWCMP_MPEG_LAYER_I);
2571 if (x == NULL || PyDict_SetItemString(d, "AWCMP_MPEG_LAYER_I", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002572 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002573 Py_DECREF(x);
2574#endif
2575#ifdef AWCMP_MPEG_LAYER_II
2576 x = PyInt_FromLong(AWCMP_MPEG_LAYER_II);
2577 if (x == NULL || PyDict_SetItemString(d, "AWCMP_MPEG_LAYER_II", x) < 0)
Guido van Rossumb189a2f1997-10-08 15:26:28 +00002578 return;
Guido van Rossum72429051997-08-12 14:58:54 +00002579 Py_DECREF(x);
Sjoerd Mullender3db845b1995-05-17 11:16:52 +00002580#endif
2581
Sjoerd Mullenderd53a4f31992-09-24 10:37:39 +00002582 (void) clSetErrorHandler(cl_ErrorHandler);
Sjoerd Mullenderc4315491992-09-23 14:53:00 +00002583}