1 /***********************************************************
2 Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
7 Permission to use, copy, modify, and distribute this software and its
8 documentation for any purpose and without fee is hereby granted,
9 provided that the above copyright notice appear in all copies and that
10 both that copyright notice and this permission notice appear in
11 supporting documentation, and that the names of Stichting Mathematisch
12 Centrum or CWI or Corporation for National Research Initiatives or
13 CNRI not be used in advertising or publicity pertaining to
14 distribution of the software without specific, written prior
17 While CWI is the initial source for this software, a modified version
18 is made available by the Corporation for National Research Initiatives
19 (CNRI) at the Internet address ftp://ftp.python.org.
21 STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
22 REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
23 MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
24 CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
25 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
26 PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
27 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
28 PERFORMANCE OF THIS SOFTWARE.
30 ******************************************************************/
39 #if defined(CL_JPEG_SOFTWARE) && !defined(CL_JPEG_COSMO)
40 #include <dmedia/cl_cosmo.h>
46 int ob_isCompressor
; /* Compressor or Decompressor */
47 CL_Handle ob_compressorHdl
;
52 static PyObject
*ClError
; /* exception cl.error */
54 static int error_handler_called
= 0;
57 * We want to use the function prototypes that are available in the C
58 * compiler on the SGI. Because of that, we need to declare the first
59 * argument of the compressor and decompressor methods as "object *",
60 * even though they are really "clobject *". Therefore we cast the
61 * argument to the proper type using this macro.
63 #define SELF ((clobject *) self)
65 /********************************************************************
67 ********************************************************************/
69 cl_ErrorHandler(CL_Handle handle
, int code
, const char *fmt
, ...)
72 char errbuf
[BUFSIZ
]; /* hopefully big enough */
75 if (PyErr_Occurred()) /* don't change existing error */
77 error_handler_called
= 1;
79 vsprintf(errbuf
, fmt
, ap
);
81 p
= &errbuf
[strlen(errbuf
) - 1]; /* swat the line feed */
84 PyErr_SetString(ClError
, errbuf
);
88 * This assumes that params are always in the range 0 to some maximum.
91 param_type_is_float(clobject
*self
, int param
)
95 if (self
->ob_paramtypes
== NULL
) {
96 error_handler_called
= 0;
97 bufferlength
= clQueryParams(self
->ob_compressorHdl
, 0, 0);
98 if (error_handler_called
)
101 self
->ob_paramtypes
= PyMem_NEW(int, bufferlength
);
102 if (self
->ob_paramtypes
== NULL
)
104 self
->ob_nparams
= bufferlength
/ 2;
106 (void) clQueryParams(self
->ob_compressorHdl
,
107 self
->ob_paramtypes
, bufferlength
);
108 if (error_handler_called
) {
109 PyMem_DEL(self
->ob_paramtypes
);
110 self
->ob_paramtypes
= NULL
;
115 if (param
< 0 || param
>= self
->ob_nparams
)
118 if (self
->ob_paramtypes
[param
*2 + 1] == CL_FLOATING_ENUM_VALUE
||
119 self
->ob_paramtypes
[param
*2 + 1] == CL_FLOATING_RANGE_VALUE
)
125 /********************************************************************
126 Single image compression/decompression.
127 ********************************************************************/
129 cl_CompressImage(PyObject
*self
, PyObject
*args
)
131 int compressionScheme
, width
, height
, originalFormat
;
132 float compressionRatio
;
133 int frameBufferSize
, compressedBufferSize
;
135 PyObject
*compressedBuffer
;
137 if (!PyArg_Parse(args
, "(iiiifs#)", &compressionScheme
,
139 &originalFormat
, &compressionRatio
, &frameBuffer
,
144 compressedBuffer
= PyString_FromStringAndSize(NULL
, frameBufferSize
);
145 if (compressedBuffer
== NULL
)
148 compressedBufferSize
= frameBufferSize
;
149 error_handler_called
= 0;
150 if (clCompressImage(compressionScheme
, width
, height
, originalFormat
,
151 compressionRatio
, (void *) frameBuffer
,
152 &compressedBufferSize
,
153 (void *) PyString_AsString(compressedBuffer
))
154 == FAILURE
|| error_handler_called
) {
155 Py_DECREF(compressedBuffer
);
156 if (!error_handler_called
)
157 PyErr_SetString(ClError
, "clCompressImage failed");
161 if (compressedBufferSize
> frameBufferSize
) {
162 frameBufferSize
= compressedBufferSize
;
163 Py_DECREF(compressedBuffer
);
167 if (compressedBufferSize
< frameBufferSize
)
168 if (_PyString_Resize(&compressedBuffer
, compressedBufferSize
))
171 return compressedBuffer
;
175 cl_DecompressImage(PyObject
*self
, PyObject
*args
)
177 int compressionScheme
, width
, height
, originalFormat
;
178 char *compressedBuffer
;
179 int compressedBufferSize
, frameBufferSize
;
180 PyObject
*frameBuffer
;
182 if (!PyArg_Parse(args
, "(iiiis#)", &compressionScheme
, &width
, &height
,
183 &originalFormat
, &compressedBuffer
,
184 &compressedBufferSize
))
187 frameBufferSize
= width
* height
* CL_BytesPerPixel(originalFormat
);
189 frameBuffer
= PyString_FromStringAndSize(NULL
, frameBufferSize
);
190 if (frameBuffer
== NULL
)
193 error_handler_called
= 0;
194 if (clDecompressImage(compressionScheme
, width
, height
, originalFormat
,
195 compressedBufferSize
, compressedBuffer
,
196 (void *) PyString_AsString(frameBuffer
))
197 == FAILURE
|| error_handler_called
) {
198 Py_DECREF(frameBuffer
);
199 if (!error_handler_called
)
200 PyErr_SetString(ClError
, "clDecompressImage failed");
207 /********************************************************************
208 Sequential compression/decompression.
209 ********************************************************************/
210 #define CheckCompressor(self) if ((self)->ob_compressorHdl == NULL) { \
211 PyErr_SetString(PyExc_RuntimeError, "(de)compressor not active"); \
216 doClose(clobject
*self
, PyObject
*args
, int (*close_func
)(CL_Handle
))
218 CheckCompressor(self
);
220 if (!PyArg_NoArgs(args
))
223 error_handler_called
= 0;
224 if ((*close_func
)(self
->ob_compressorHdl
) == FAILURE
||
225 error_handler_called
) {
226 if (!error_handler_called
)
227 PyErr_SetString(ClError
, "close failed");
231 self
->ob_compressorHdl
= NULL
;
233 if (self
->ob_paramtypes
)
234 PyMem_DEL(self
->ob_paramtypes
);
235 self
->ob_paramtypes
= NULL
;
242 clm_CloseCompressor(PyObject
*self
, PyObject
*args
)
244 return doClose(SELF
, args
, clCloseCompressor
);
248 clm_CloseDecompressor(PyObject
*self
, PyObject
*args
)
250 return doClose(SELF
, args
, clCloseDecompressor
);
254 clm_Compress(PyObject
*self
, PyObject
*args
)
257 int frameBufferSize
, compressedBufferSize
, size
;
261 CheckCompressor(SELF
);
263 if (!PyArg_Parse(args
, "(is#)", &numberOfFrames
,
264 &frameBuffer
, &frameBufferSize
))
267 error_handler_called
= 0;
268 size
= clGetParam(SELF
->ob_compressorHdl
, CL_COMPRESSED_BUFFER_SIZE
);
269 compressedBufferSize
= size
;
270 if (error_handler_called
)
273 data
= PyString_FromStringAndSize(NULL
, size
);
277 error_handler_called
= 0;
278 if (clCompress(SELF
->ob_compressorHdl
, numberOfFrames
,
279 (void *) frameBuffer
, &compressedBufferSize
,
280 (void *) PyString_AsString(data
)) == FAILURE
||
281 error_handler_called
) {
283 if (!error_handler_called
)
284 PyErr_SetString(ClError
, "compress failed");
288 if (compressedBufferSize
< size
)
289 if (_PyString_Resize(&data
, compressedBufferSize
))
292 if (compressedBufferSize
> size
) {
293 /* we didn't get all "compressed" data */
295 PyErr_SetString(ClError
,
296 "compressed data is more than fitted");
304 clm_Decompress(PyObject
*self
, PyObject
*args
)
308 char *compressedData
;
309 int compressedDataSize
, dataSize
;
311 CheckCompressor(SELF
);
313 if (!PyArg_Parse(args
, "(is#)", &numberOfFrames
, &compressedData
,
314 &compressedDataSize
))
317 error_handler_called
= 0;
318 dataSize
= clGetParam(SELF
->ob_compressorHdl
, CL_FRAME_BUFFER_SIZE
);
319 if (error_handler_called
)
322 data
= PyString_FromStringAndSize(NULL
, dataSize
);
326 error_handler_called
= 0;
327 if (clDecompress(SELF
->ob_compressorHdl
, numberOfFrames
,
328 compressedDataSize
, (void *) compressedData
,
329 (void *) PyString_AsString(data
)) == FAILURE
||
330 error_handler_called
) {
332 if (!error_handler_called
)
333 PyErr_SetString(ClError
, "decompress failed");
341 doParams(clobject
*self
, PyObject
*args
, int (*func
)(CL_Handle
, int *, int),
350 CheckCompressor(self
);
352 if (!PyArg_Parse(args
, "O", &list
))
354 if (!PyList_Check(list
)) {
358 length
= PyList_Size(list
);
359 PVbuffer
= PyMem_NEW(int, length
);
360 if (PVbuffer
== NULL
)
361 return PyErr_NoMemory();
362 for (i
= 0; i
< length
; i
++) {
363 v
= PyList_GetItem(list
, i
);
364 if (PyFloat_Check(v
)) {
365 number
= PyFloat_AsDouble(v
);
366 PVbuffer
[i
] = CL_TypeIsInt(number
);
367 } else if (PyInt_Check(v
)) {
368 PVbuffer
[i
] = PyInt_AsLong(v
);
370 param_type_is_float(self
, PVbuffer
[i
-1]) > 0) {
371 number
= PVbuffer
[i
];
372 PVbuffer
[i
] = CL_TypeIsInt(number
);
381 error_handler_called
= 0;
382 (*func
)(self
->ob_compressorHdl
, PVbuffer
, length
);
383 if (error_handler_called
) {
389 for (i
= 0; i
< length
; i
++) {
391 param_type_is_float(self
, PVbuffer
[i
-1]) > 0) {
392 number
= CL_TypeIsFloat(PVbuffer
[i
]);
393 v
= PyFloat_FromDouble(number
);
395 v
= PyInt_FromLong(PVbuffer
[i
]);
396 PyList_SetItem(list
, i
, v
);
407 clm_GetParams(PyObject
*self
, PyObject
*args
)
409 return doParams(SELF
, args
, clGetParams
, 1);
413 clm_SetParams(PyObject
*self
, PyObject
*args
)
415 return doParams(SELF
, args
, clSetParams
, 0);
419 do_get(clobject
*self
, PyObject
*args
, int (*func
)(CL_Handle
, int))
424 CheckCompressor(self
);
426 if (!PyArg_Parse(args
, "i", ¶mID
))
429 error_handler_called
= 0;
430 value
= (*func
)(self
->ob_compressorHdl
, paramID
);
431 if (error_handler_called
)
434 if (param_type_is_float(self
, paramID
) > 0) {
435 fvalue
= CL_TypeIsFloat(value
);
436 return PyFloat_FromDouble(fvalue
);
439 return PyInt_FromLong(value
);
443 clm_GetParam(PyObject
*self
, PyObject
*args
)
445 return do_get(SELF
, args
, clGetParam
);
449 clm_GetDefault(PyObject
*self
, PyObject
*args
)
451 return do_get(SELF
, args
, clGetDefault
);
455 clm_SetParam(PyObject
*self
, PyObject
*args
)
460 CheckCompressor(SELF
);
462 if (!PyArg_Parse(args
, "(ii)", ¶mID
, &value
)) {
464 if (!PyArg_Parse(args
, "(if)", ¶mID
, &fvalue
)) {
466 PyErr_SetString(PyExc_TypeError
,
467 "bad argument list (format '(ii)' or '(if)')");
470 value
= CL_TypeIsInt(fvalue
);
472 if (param_type_is_float(SELF
, paramID
) > 0) {
474 value
= CL_TypeIsInt(fvalue
);
478 error_handler_called
= 0;
479 value
= clSetParam(SELF
->ob_compressorHdl
, paramID
, value
);
480 if (error_handler_called
)
483 if (param_type_is_float(SELF
, paramID
) > 0)
484 return PyFloat_FromDouble(CL_TypeIsFloat(value
));
486 return PyInt_FromLong(value
);
490 clm_GetParamID(PyObject
*self
, PyObject
*args
)
495 CheckCompressor(SELF
);
497 if (!PyArg_Parse(args
, "s", &name
))
500 error_handler_called
= 0;
501 value
= clGetParamID(SELF
->ob_compressorHdl
, name
);
502 if (value
== FAILURE
|| error_handler_called
) {
503 if (!error_handler_called
)
504 PyErr_SetString(ClError
, "getparamid failed");
508 return PyInt_FromLong(value
);
512 clm_QueryParams(PyObject
*self
, PyObject
*args
)
519 CheckCompressor(SELF
);
521 if (!PyArg_NoArgs(args
))
524 error_handler_called
= 0;
525 bufferlength
= clQueryParams(SELF
->ob_compressorHdl
, 0, 0);
526 if (error_handler_called
)
529 PVbuffer
= PyMem_NEW(int, bufferlength
);
530 if (PVbuffer
== NULL
)
531 return PyErr_NoMemory();
533 bufferlength
= clQueryParams(SELF
->ob_compressorHdl
, PVbuffer
,
535 if (error_handler_called
) {
540 list
= PyList_New(bufferlength
);
546 for (i
= 0; i
< bufferlength
; i
++) {
548 PyList_SetItem(list
, i
, PyInt_FromLong(PVbuffer
[i
]));
549 else if (PVbuffer
[i
] == 0) {
551 PyList_SetItem(list
, i
, Py_None
);
553 PyList_SetItem(list
, i
,
554 PyString_FromString((char *) PVbuffer
[i
]));
563 clm_GetMinMax(PyObject
*self
, PyObject
*args
)
568 CheckCompressor(SELF
);
570 if (!PyArg_Parse(args
, "i", ¶m
))
573 clGetMinMax(SELF
->ob_compressorHdl
, param
, &min
, &max
);
575 if (param_type_is_float(SELF
, param
) > 0) {
576 fmin
= CL_TypeIsFloat(min
);
577 fmax
= CL_TypeIsFloat(max
);
578 return Py_BuildValue("(ff)", fmin
, fmax
);
581 return Py_BuildValue("(ii)", min
, max
);
585 clm_GetName(PyObject
*self
, PyObject
*args
)
590 CheckCompressor(SELF
);
592 if (!PyArg_Parse(args
, "i", ¶m
))
595 error_handler_called
= 0;
596 name
= clGetName(SELF
->ob_compressorHdl
, param
);
597 if (name
== NULL
|| error_handler_called
) {
598 if (!error_handler_called
)
599 PyErr_SetString(ClError
, "getname failed");
603 return PyString_FromString(name
);
607 clm_QuerySchemeFromHandle(PyObject
*self
, PyObject
*args
)
609 CheckCompressor(SELF
);
611 if (!PyArg_NoArgs(args
))
614 return PyInt_FromLong(clQuerySchemeFromHandle(SELF
->ob_compressorHdl
));
618 clm_ReadHeader(PyObject
*self
, PyObject
*args
)
623 CheckCompressor(SELF
);
625 if (!PyArg_Parse(args
, "s#", &header
, &headerSize
))
628 return PyInt_FromLong(clReadHeader(SELF
->ob_compressorHdl
,
629 headerSize
, header
));
632 static PyMethodDef compressor_methods
[] = {
633 {"close", clm_CloseCompressor
}, /* alias */
634 {"CloseCompressor", clm_CloseCompressor
},
635 {"Compress", clm_Compress
},
636 {"GetDefault", clm_GetDefault
},
637 {"GetMinMax", clm_GetMinMax
},
638 {"GetName", clm_GetName
},
639 {"GetParam", clm_GetParam
},
640 {"GetParamID", clm_GetParamID
},
641 {"GetParams", clm_GetParams
},
642 {"QueryParams", clm_QueryParams
},
643 {"QuerySchemeFromHandle",clm_QuerySchemeFromHandle
},
644 {"SetParam", clm_SetParam
},
645 {"SetParams", clm_SetParams
},
646 {NULL
, NULL
} /* sentinel */
649 static PyMethodDef decompressor_methods
[] = {
650 {"close", clm_CloseDecompressor
}, /* alias */
651 {"CloseDecompressor", clm_CloseDecompressor
},
652 {"Decompress", clm_Decompress
},
653 {"GetDefault", clm_GetDefault
},
654 {"GetMinMax", clm_GetMinMax
},
655 {"GetName", clm_GetName
},
656 {"GetParam", clm_GetParam
},
657 {"GetParamID", clm_GetParamID
},
658 {"GetParams", clm_GetParams
},
659 {"ReadHeader", clm_ReadHeader
},
660 {"QueryParams", clm_QueryParams
},
661 {"QuerySchemeFromHandle",clm_QuerySchemeFromHandle
},
662 {"SetParam", clm_SetParam
},
663 {"SetParams", clm_SetParams
},
664 {NULL
, NULL
} /* sentinel */
668 cl_dealloc(PyObject
*self
)
670 if (SELF
->ob_compressorHdl
) {
671 if (SELF
->ob_isCompressor
)
672 clCloseCompressor(SELF
->ob_compressorHdl
);
674 clCloseDecompressor(SELF
->ob_compressorHdl
);
680 cl_getattr(PyObject
*self
, char *name
)
682 if (SELF
->ob_isCompressor
)
683 return Py_FindMethod(compressor_methods
, self
, name
);
685 return Py_FindMethod(decompressor_methods
, self
, name
);
688 static PyTypeObject Cltype
= {
689 PyObject_HEAD_INIT(&PyType_Type
)
692 sizeof(clobject
), /*tp_size*/
695 (destructor
)cl_dealloc
, /*tp_dealloc*/
697 (getattrfunc
)cl_getattr
, /*tp_getattr*/
702 0, /*tp_as_sequence*/
707 doOpen(PyObject
*self
, PyObject
*args
, int (*open_func
)(int, CL_Handle
*),
713 if (!PyArg_Parse(args
, "i", &scheme
))
716 new = PyObject_NEW(clobject
, &Cltype
);
720 new->ob_compressorHdl
= NULL
;
721 new->ob_isCompressor
= iscompressor
;
722 new->ob_paramtypes
= NULL
;
724 error_handler_called
= 0;
725 if ((*open_func
)(scheme
, &new->ob_compressorHdl
) == FAILURE
||
726 error_handler_called
) {
728 if (!error_handler_called
)
729 PyErr_SetString(ClError
, "Open(De)Compressor failed");
732 return (PyObject
*)new;
736 cl_OpenCompressor(PyObject
*self
, PyObject
*args
)
738 return doOpen(self
, args
, clOpenCompressor
, 1);
742 cl_OpenDecompressor(PyObject
*self
, PyObject
*args
)
744 return doOpen(self
, args
, clOpenDecompressor
, 0);
748 cl_QueryScheme(PyObject
*self
, PyObject
*args
)
754 if (!PyArg_Parse(args
, "s#", &header
, &headerlen
))
757 scheme
= clQueryScheme(header
);
759 PyErr_SetString(ClError
, "unknown compression scheme");
763 return PyInt_FromLong(scheme
);
767 cl_QueryMaxHeaderSize(PyObject
*self
, PyObject
*args
)
771 if (!PyArg_Parse(args
, "i", &scheme
))
774 return PyInt_FromLong(clQueryMaxHeaderSize(scheme
));
778 cl_QueryAlgorithms(PyObject
*self
, PyObject
*args
)
780 int algorithmMediaType
;
786 if (!PyArg_Parse(args
, "i", &algorithmMediaType
))
789 error_handler_called
= 0;
790 bufferlength
= clQueryAlgorithms(algorithmMediaType
, 0, 0);
791 if (error_handler_called
)
794 PVbuffer
= PyMem_NEW(int, bufferlength
);
795 if (PVbuffer
== NULL
)
796 return PyErr_NoMemory();
798 bufferlength
= clQueryAlgorithms(algorithmMediaType
, PVbuffer
,
800 if (error_handler_called
) {
805 list
= PyList_New(bufferlength
);
811 for (i
= 0; i
< bufferlength
; i
++) {
813 PyList_SetItem(list
, i
, PyInt_FromLong(PVbuffer
[i
]));
814 else if (PVbuffer
[i
] == 0) {
816 PyList_SetItem(list
, i
, Py_None
);
818 PyList_SetItem(list
, i
,
819 PyString_FromString((char *) PVbuffer
[i
]));
828 cl_QuerySchemeFromName(PyObject
*self
, PyObject
*args
)
830 int algorithmMediaType
;
834 if (!PyArg_Parse(args
, "(is)", &algorithmMediaType
, &name
))
837 error_handler_called
= 0;
838 scheme
= clQuerySchemeFromName(algorithmMediaType
, name
);
839 if (error_handler_called
) {
840 PyErr_SetString(ClError
, "unknown compression scheme");
844 return PyInt_FromLong(scheme
);
848 cl_GetAlgorithmName(PyObject
*self
, PyObject
*args
)
853 if (!PyArg_Parse(args
, "i", &scheme
))
856 name
= clGetAlgorithmName(scheme
);
858 PyErr_SetString(ClError
, "unknown compression scheme");
862 return PyString_FromString(name
);
866 do_set(PyObject
*self
, PyObject
*args
, int (*func
)(int, int, int))
868 int scheme
, paramID
, value
;
872 if (!PyArg_Parse(args
, "(iii)", &scheme
, ¶mID
, &value
)) {
874 if (!PyArg_Parse(args
, "(iif)", &scheme
, ¶mID
, &fvalue
)) {
876 PyErr_SetString(PyExc_TypeError
,
877 "bad argument list (format '(iii)' or '(iif)')");
880 value
= CL_TypeIsInt(fvalue
);
883 /* check some parameters which we know to be floats */
885 case CL_COMPRESSION_RATIO
:
888 value
= CL_TypeIsInt(fvalue
);
894 error_handler_called
= 0;
895 value
= (*func
)(scheme
, paramID
, value
);
896 if (error_handler_called
)
900 return PyFloat_FromDouble(CL_TypeIsFloat(value
));
902 return PyInt_FromLong(value
);
906 cl_SetDefault(PyObject
*self
, PyObject
*args
)
908 return do_set(self
, args
, clSetDefault
);
912 cl_SetMin(PyObject
*self
, PyObject
*args
)
914 return do_set(self
, args
, clSetMin
);
918 cl_SetMax(PyObject
*self
, PyObject
*args
)
920 return do_set(self
, args
, clSetMax
);
923 #define func(name, handler) \
924 static PyObject *cl_##name(PyObject *self, PyObject *args) \
927 if (!PyArg_Parse(args, "i", &x)) return NULL; \
928 return Py##handler(CL_##name(x)); \
931 #define func2(name, handler) \
932 static PyObject *cl_##name(PyObject *self, PyObject *args) \
935 if (!PyArg_Parse(args, "(ii)", &a1, &a2)) return NULL; \
936 return Py##handler(CL_##name(a1, a2)); \
939 func(BytesPerSample
, Int_FromLong
)
940 func(BytesPerPixel
, Int_FromLong
)
941 func(AudioFormatName
, String_FromString
)
942 func(VideoFormatName
, String_FromString
)
943 func(AlgorithmNumber
, Int_FromLong
)
944 func(AlgorithmType
, Int_FromLong
)
945 func2(Algorithm
, Int_FromLong
)
946 func(ParamNumber
, Int_FromLong
)
947 func(ParamType
, Int_FromLong
)
948 func2(ParamID
, Int_FromLong
)
952 cvt_type(PyObject
*self
, PyObject
*args
)
957 if (PyArg_Parse(args
, "i", &number
))
958 return PyFloat_FromDouble(CL_TypeIsFloat(number
));
961 if (PyArg_Parse(args
, "f", &fnumber
))
962 return PyInt_FromLong(CL_TypeIsInt(fnumber
));
968 static PyMethodDef cl_methods
[] = {
969 {"CompressImage", cl_CompressImage
},
970 {"DecompressImage", cl_DecompressImage
},
971 {"GetAlgorithmName", cl_GetAlgorithmName
},
972 {"OpenCompressor", cl_OpenCompressor
},
973 {"OpenDecompressor", cl_OpenDecompressor
},
974 {"QueryAlgorithms", cl_QueryAlgorithms
},
975 {"QueryMaxHeaderSize", cl_QueryMaxHeaderSize
},
976 {"QueryScheme", cl_QueryScheme
},
977 {"QuerySchemeFromName", cl_QuerySchemeFromName
},
978 {"SetDefault", cl_SetDefault
},
979 {"SetMax", cl_SetMax
},
980 {"SetMin", cl_SetMin
},
981 {"BytesPerSample", cl_BytesPerSample
},
982 {"BytesPerPixel", cl_BytesPerPixel
},
983 {"AudioFormatName", cl_AudioFormatName
},
984 {"VideoFormatName", cl_VideoFormatName
},
985 {"AlgorithmNumber", cl_AlgorithmNumber
},
986 {"AlgorithmType", cl_AlgorithmType
},
987 {"Algorithm", cl_Algorithm
},
988 {"ParamNumber", cl_ParamNumber
},
989 {"ParamType", cl_ParamType
},
990 {"ParamID", cl_ParamID
},
992 {"cvt_type", cvt_type
},
994 {NULL
, NULL
} /* Sentinel */
997 #ifdef CL_JPEG_SOFTWARE
998 #define IRIX_5_3_LIBRARY
1004 PyObject
*m
, *d
, *x
;
1006 m
= Py_InitModule("cl", cl_methods
);
1007 d
= PyModule_GetDict(m
);
1009 ClError
= PyErr_NewException("cl.error", NULL
, NULL
);
1010 (void) PyDict_SetItemString(d
, "error", ClError
);
1012 #ifdef CL_ADDED_ALGORITHM_ERROR
1013 x
= PyInt_FromLong(CL_ADDED_ALGORITHM_ERROR
);
1014 if (x
== NULL
|| PyDict_SetItemString(d
, "ADDED_ALGORITHM_ERROR", x
) < 0)
1019 x
= PyInt_FromLong(CL_ALAW
);
1020 if (x
== NULL
|| PyDict_SetItemString(d
, "ALAW", x
) < 0)
1024 #ifdef CL_ALGORITHM_ID
1025 x
= PyInt_FromLong(CL_ALGORITHM_ID
);
1026 if (x
== NULL
|| PyDict_SetItemString(d
, "ALGORITHM_ID", x
) < 0)
1030 #ifdef CL_ALGORITHM_TABLE_FULL
1031 x
= PyInt_FromLong(CL_ALGORITHM_TABLE_FULL
);
1032 if (x
== NULL
|| PyDict_SetItemString(d
, "ALGORITHM_TABLE_FULL", x
) < 0)
1036 #ifdef CL_ALGORITHM_VERSION
1037 x
= PyInt_FromLong(CL_ALGORITHM_VERSION
);
1038 if (x
== NULL
|| PyDict_SetItemString(d
, "ALGORITHM_VERSION", x
) < 0)
1043 x
= PyInt_FromLong(CL_ALG_AUDIO
);
1044 if (x
== NULL
|| PyDict_SetItemString(d
, "ALG_AUDIO", x
) < 0)
1049 x
= PyInt_FromLong(CL_ALG_VIDEO
);
1050 if (x
== NULL
|| PyDict_SetItemString(d
, "ALG_VIDEO", x
) < 0)
1055 x
= PyInt_FromLong(CL_AUDIO
);
1056 if (x
== NULL
|| PyDict_SetItemString(d
, "AUDIO", x
) < 0)
1060 #ifdef CL_AWARE_BITRATE_POLICY
1061 x
= PyInt_FromLong(CL_AWARE_BITRATE_POLICY
);
1062 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_BITRATE_POLICY", x
) < 0)
1066 #ifdef CL_AWARE_BITRATE_TARGET
1067 x
= PyInt_FromLong(CL_AWARE_BITRATE_TARGET
);
1068 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_BITRATE_TARGET", x
) < 0)
1072 #ifdef CL_AWARE_CHANNEL_POLICY
1073 x
= PyInt_FromLong(CL_AWARE_CHANNEL_POLICY
);
1074 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_CHANNEL_POLICY", x
) < 0)
1078 #ifdef CL_AWARE_CONST_QUAL
1079 x
= PyInt_FromLong(CL_AWARE_CONST_QUAL
);
1080 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_CONST_QUAL", x
) < 0)
1084 #ifdef CL_AWARE_ERROR
1085 x
= PyInt_FromLong(CL_AWARE_ERROR
);
1086 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_ERROR", x
) < 0)
1090 #ifdef CL_AWARE_FIXED_RATE
1091 x
= PyInt_FromLong(CL_AWARE_FIXED_RATE
);
1092 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_FIXED_RATE", x
) < 0)
1096 #ifdef CL_AWARE_INDEPENDENT
1097 x
= PyInt_FromLong(CL_AWARE_INDEPENDENT
);
1098 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_INDEPENDENT", x
) < 0)
1102 #ifdef CL_AWARE_JOINT_STEREO
1103 x
= PyInt_FromLong(CL_AWARE_JOINT_STEREO
);
1104 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_JOINT_STEREO", x
) < 0)
1108 #ifdef CL_AWARE_LAYER
1109 x
= PyInt_FromLong(CL_AWARE_LAYER
);
1110 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_LAYER", x
) < 0)
1114 #ifdef CL_AWARE_LOSSLESS
1115 x
= PyInt_FromLong(CL_AWARE_LOSSLESS
);
1116 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_LOSSLESS", x
) < 0)
1120 #ifdef CL_AWARE_MPEG_AUDIO
1121 x
= PyInt_FromLong(CL_AWARE_MPEG_AUDIO
);
1122 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_MPEG_AUDIO", x
) < 0)
1126 #ifdef CL_AWARE_MPEG_LAYER_I
1127 x
= PyInt_FromLong(CL_AWARE_MPEG_LAYER_I
);
1128 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_MPEG_LAYER_I", x
) < 0)
1132 #ifdef CL_AWARE_MPEG_LAYER_II
1133 x
= PyInt_FromLong(CL_AWARE_MPEG_LAYER_II
);
1134 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_MPEG_LAYER_II", x
) < 0)
1138 #ifdef CL_AWARE_MULTIRATE
1139 x
= PyInt_FromLong(CL_AWARE_MULTIRATE
);
1140 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_MULTIRATE", x
) < 0)
1144 #ifdef CL_AWARE_NOISE_MARGIN
1145 x
= PyInt_FromLong(CL_AWARE_NOISE_MARGIN
);
1146 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_NOISE_MARGIN", x
) < 0)
1150 #ifdef CL_AWARE_STEREO
1151 x
= PyInt_FromLong(CL_AWARE_STEREO
);
1152 if (x
== NULL
|| PyDict_SetItemString(d
, "AWARE_STEREO", x
) < 0)
1156 #ifdef CL_BAD_ALGORITHM_NAME
1157 x
= PyInt_FromLong(CL_BAD_ALGORITHM_NAME
);
1158 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_ALGORITHM_NAME", x
) < 0)
1162 #ifdef CL_BAD_ALGORITHM_TYPE
1163 x
= PyInt_FromLong(CL_BAD_ALGORITHM_TYPE
);
1164 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_ALGORITHM_TYPE", x
) < 0)
1168 #ifdef CL_BAD_BLOCK_SIZE
1169 x
= PyInt_FromLong(CL_BAD_BLOCK_SIZE
);
1170 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BLOCK_SIZE", x
) < 0)
1175 x
= PyInt_FromLong(CL_BAD_BOARD
);
1176 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BOARD", x
) < 0)
1180 #ifdef CL_BAD_BUFFERING
1181 x
= PyInt_FromLong(CL_BAD_BUFFERING
);
1182 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFERING", x
) < 0)
1186 #ifdef CL_BAD_BUFFERLENGTH_NEG
1187 x
= PyInt_FromLong(CL_BAD_BUFFERLENGTH_NEG
);
1188 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFERLENGTH_NEG", x
) < 0)
1192 #ifdef CL_BAD_BUFFERLENGTH_ODD
1193 x
= PyInt_FromLong(CL_BAD_BUFFERLENGTH_ODD
);
1194 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFERLENGTH_ODD", x
) < 0)
1198 #ifdef CL_BAD_BUFFER_EXISTS
1199 x
= PyInt_FromLong(CL_BAD_BUFFER_EXISTS
);
1200 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFER_EXISTS", x
) < 0)
1204 #ifdef CL_BAD_BUFFER_HANDLE
1205 x
= PyInt_FromLong(CL_BAD_BUFFER_HANDLE
);
1206 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFER_HANDLE", x
) < 0)
1210 #ifdef CL_BAD_BUFFER_POINTER
1211 x
= PyInt_FromLong(CL_BAD_BUFFER_POINTER
);
1212 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFER_POINTER", x
) < 0)
1216 #ifdef CL_BAD_BUFFER_QUERY_SIZE
1217 x
= PyInt_FromLong(CL_BAD_BUFFER_QUERY_SIZE
);
1218 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFER_QUERY_SIZE", x
) < 0)
1222 #ifdef CL_BAD_BUFFER_SIZE
1223 x
= PyInt_FromLong(CL_BAD_BUFFER_SIZE
);
1224 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFER_SIZE", x
) < 0)
1228 #ifdef CL_BAD_BUFFER_SIZE_POINTER
1229 x
= PyInt_FromLong(CL_BAD_BUFFER_SIZE_POINTER
);
1230 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFER_SIZE_POINTER", x
) < 0)
1234 #ifdef CL_BAD_BUFFER_TYPE
1235 x
= PyInt_FromLong(CL_BAD_BUFFER_TYPE
);
1236 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_BUFFER_TYPE", x
) < 0)
1240 #ifdef CL_BAD_COMPRESSION_SCHEME
1241 x
= PyInt_FromLong(CL_BAD_COMPRESSION_SCHEME
);
1242 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_COMPRESSION_SCHEME", x
) < 0)
1246 #ifdef CL_BAD_COMPRESSOR_HANDLE
1247 x
= PyInt_FromLong(CL_BAD_COMPRESSOR_HANDLE
);
1248 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_COMPRESSOR_HANDLE", x
) < 0)
1252 #ifdef CL_BAD_COMPRESSOR_HANDLE_POINTER
1253 x
= PyInt_FromLong(CL_BAD_COMPRESSOR_HANDLE_POINTER
);
1254 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_COMPRESSOR_HANDLE_POINTER", x
) < 0)
1258 #ifdef CL_BAD_FRAME_SIZE
1259 x
= PyInt_FromLong(CL_BAD_FRAME_SIZE
);
1260 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_FRAME_SIZE", x
) < 0)
1264 #ifdef CL_BAD_FUNCTIONALITY
1265 x
= PyInt_FromLong(CL_BAD_FUNCTIONALITY
);
1266 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_FUNCTIONALITY", x
) < 0)
1270 #ifdef CL_BAD_FUNCTION_POINTER
1271 x
= PyInt_FromLong(CL_BAD_FUNCTION_POINTER
);
1272 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_FUNCTION_POINTER", x
) < 0)
1276 #ifdef CL_BAD_HEADER_SIZE
1277 x
= PyInt_FromLong(CL_BAD_HEADER_SIZE
);
1278 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_HEADER_SIZE", x
) < 0)
1282 #ifdef CL_BAD_INITIAL_VALUE
1283 x
= PyInt_FromLong(CL_BAD_INITIAL_VALUE
);
1284 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_INITIAL_VALUE", x
) < 0)
1288 #ifdef CL_BAD_INTERNAL_FORMAT
1289 x
= PyInt_FromLong(CL_BAD_INTERNAL_FORMAT
);
1290 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_INTERNAL_FORMAT", x
) < 0)
1294 #ifdef CL_BAD_LICENSE
1295 x
= PyInt_FromLong(CL_BAD_LICENSE
);
1296 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_LICENSE", x
) < 0)
1300 #ifdef CL_BAD_MIN_GT_MAX
1301 x
= PyInt_FromLong(CL_BAD_MIN_GT_MAX
);
1302 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_MIN_GT_MAX", x
) < 0)
1306 #ifdef CL_BAD_NO_BUFFERSPACE
1307 x
= PyInt_FromLong(CL_BAD_NO_BUFFERSPACE
);
1308 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_NO_BUFFERSPACE", x
) < 0)
1312 #ifdef CL_BAD_NUMBER_OF_BLOCKS
1313 x
= PyInt_FromLong(CL_BAD_NUMBER_OF_BLOCKS
);
1314 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_NUMBER_OF_BLOCKS", x
) < 0)
1319 x
= PyInt_FromLong(CL_BAD_PARAM
);
1320 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_PARAM", x
) < 0)
1324 #ifdef CL_BAD_PARAM_ID_POINTER
1325 x
= PyInt_FromLong(CL_BAD_PARAM_ID_POINTER
);
1326 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_PARAM_ID_POINTER", x
) < 0)
1330 #ifdef CL_BAD_PARAM_TYPE
1331 x
= PyInt_FromLong(CL_BAD_PARAM_TYPE
);
1332 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_PARAM_TYPE", x
) < 0)
1336 #ifdef CL_BAD_POINTER
1337 x
= PyInt_FromLong(CL_BAD_POINTER
);
1338 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_POINTER", x
) < 0)
1342 #ifdef CL_BAD_PVBUFFER
1343 x
= PyInt_FromLong(CL_BAD_PVBUFFER
);
1344 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_PVBUFFER", x
) < 0)
1348 #ifdef CL_BAD_SCHEME_POINTER
1349 x
= PyInt_FromLong(CL_BAD_SCHEME_POINTER
);
1350 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_SCHEME_POINTER", x
) < 0)
1354 #ifdef CL_BAD_STREAM_HEADER
1355 x
= PyInt_FromLong(CL_BAD_STREAM_HEADER
);
1356 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_STREAM_HEADER", x
) < 0)
1360 #ifdef CL_BAD_STRING_POINTER
1361 x
= PyInt_FromLong(CL_BAD_STRING_POINTER
);
1362 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_STRING_POINTER", x
) < 0)
1366 #ifdef CL_BAD_TEXT_STRING_PTR
1367 x
= PyInt_FromLong(CL_BAD_TEXT_STRING_PTR
);
1368 if (x
== NULL
|| PyDict_SetItemString(d
, "BAD_TEXT_STRING_PTR", x
) < 0)
1373 x
= PyInt_FromLong(CL_BEST_FIT
);
1374 if (x
== NULL
|| PyDict_SetItemString(d
, "BEST_FIT", x
) < 0)
1378 #ifdef CL_BIDIRECTIONAL
1379 x
= PyInt_FromLong(CL_BIDIRECTIONAL
);
1380 if (x
== NULL
|| PyDict_SetItemString(d
, "BIDIRECTIONAL", x
) < 0)
1385 x
= PyInt_FromLong(CL_BITRATE
);
1386 if (x
== NULL
|| PyDict_SetItemString(d
, "BITRATE", x
) < 0)
1390 #ifdef CL_BITRATE_POLICY
1391 x
= PyInt_FromLong(CL_BITRATE_POLICY
);
1392 if (x
== NULL
|| PyDict_SetItemString(d
, "BITRATE_POLICY", x
) < 0)
1396 #ifdef CL_BITRATE_TARGET
1397 x
= PyInt_FromLong(CL_BITRATE_TARGET
);
1398 if (x
== NULL
|| PyDict_SetItemString(d
, "BITRATE_TARGET", x
) < 0)
1402 #ifdef CL_BITS_PER_COMPONENT
1403 x
= PyInt_FromLong(CL_BITS_PER_COMPONENT
);
1404 if (x
== NULL
|| PyDict_SetItemString(d
, "BITS_PER_COMPONENT", x
) < 0)
1409 x
= PyInt_FromLong(CL_BLENDING
);
1410 if (x
== NULL
|| PyDict_SetItemString(d
, "BLENDING", x
) < 0)
1414 #ifdef CL_BLOCK_SIZE
1415 x
= PyInt_FromLong(CL_BLOCK_SIZE
);
1416 if (x
== NULL
|| PyDict_SetItemString(d
, "BLOCK_SIZE", x
) < 0)
1421 x
= PyInt_FromLong(CL_BOTTOM_UP
);
1422 if (x
== NULL
|| PyDict_SetItemString(d
, "BOTTOM_UP", x
) < 0)
1426 #ifdef CL_BUFFER_NOT_CREATED
1427 x
= PyInt_FromLong(CL_BUFFER_NOT_CREATED
);
1428 if (x
== NULL
|| PyDict_SetItemString(d
, "BUFFER_NOT_CREATED", x
) < 0)
1432 #ifdef CL_BUF_COMPRESSED
1433 x
= PyInt_FromLong(CL_BUF_COMPRESSED
);
1434 if (x
== NULL
|| PyDict_SetItemString(d
, "BUF_COMPRESSED", x
) < 0)
1439 x
= PyInt_FromLong(CL_BUF_DATA
);
1440 if (x
== NULL
|| PyDict_SetItemString(d
, "BUF_DATA", x
) < 0)
1445 x
= PyInt_FromLong(CL_BUF_FRAME
);
1446 if (x
== NULL
|| PyDict_SetItemString(d
, "BUF_FRAME", x
) < 0)
1450 #ifdef CL_CHANNEL_POLICY
1451 x
= PyInt_FromLong(CL_CHANNEL_POLICY
);
1452 if (x
== NULL
|| PyDict_SetItemString(d
, "CHANNEL_POLICY", x
) < 0)
1456 #ifdef CL_CHROMA_THRESHOLD
1457 x
= PyInt_FromLong(CL_CHROMA_THRESHOLD
);
1458 if (x
== NULL
|| PyDict_SetItemString(d
, "CHROMA_THRESHOLD", x
) < 0)
1463 x
= PyInt_FromLong(CL_CODEC
);
1464 if (x
== NULL
|| PyDict_SetItemString(d
, "CODEC", x
) < 0)
1468 #ifdef CL_COMPONENTS
1469 x
= PyInt_FromLong(CL_COMPONENTS
);
1470 if (x
== NULL
|| PyDict_SetItemString(d
, "COMPONENTS", x
) < 0)
1474 #ifdef CL_COMPRESSED_BUFFER_SIZE
1475 x
= PyInt_FromLong(CL_COMPRESSED_BUFFER_SIZE
);
1476 if (x
== NULL
|| PyDict_SetItemString(d
, "COMPRESSED_BUFFER_SIZE", x
) < 0)
1480 #ifdef CL_COMPRESSION_RATIO
1481 x
= PyInt_FromLong(CL_COMPRESSION_RATIO
);
1482 if (x
== NULL
|| PyDict_SetItemString(d
, "COMPRESSION_RATIO", x
) < 0)
1486 #ifdef CL_COMPRESSOR
1487 x
= PyInt_FromLong(CL_COMPRESSOR
);
1488 if (x
== NULL
|| PyDict_SetItemString(d
, "COMPRESSOR", x
) < 0)
1492 #ifdef CL_CONTINUOUS_BLOCK
1493 x
= PyInt_FromLong(CL_CONTINUOUS_BLOCK
);
1494 if (x
== NULL
|| PyDict_SetItemString(d
, "CONTINUOUS_BLOCK", x
) < 0)
1498 #ifdef CL_CONTINUOUS_NONBLOCK
1499 x
= PyInt_FromLong(CL_CONTINUOUS_NONBLOCK
);
1500 if (x
== NULL
|| PyDict_SetItemString(d
, "CONTINUOUS_NONBLOCK", x
) < 0)
1504 #ifdef CL_COSMO_CODEC_CONTROL
1505 x
= PyInt_FromLong(CL_COSMO_CODEC_CONTROL
);
1506 if (x
== NULL
|| PyDict_SetItemString(d
, "COSMO_CODEC_CONTROL", x
) < 0)
1510 #ifdef CL_COSMO_NUM_PARAMS
1511 x
= PyInt_FromLong(CL_COSMO_NUM_PARAMS
);
1512 if (x
== NULL
|| PyDict_SetItemString(d
, "COSMO_NUM_PARAMS", x
) < 0)
1516 #ifdef CL_COSMO_VALUE_BASE
1517 x
= PyInt_FromLong(CL_COSMO_VALUE_BASE
);
1518 if (x
== NULL
|| PyDict_SetItemString(d
, "COSMO_VALUE_BASE", x
) < 0)
1522 #ifdef CL_COSMO_VIDEO_MANUAL_CONTROL
1523 x
= PyInt_FromLong(CL_COSMO_VIDEO_MANUAL_CONTROL
);
1524 if (x
== NULL
|| PyDict_SetItemString(d
, "COSMO_VIDEO_MANUAL_CONTROL", x
) < 0)
1528 #ifdef CL_COSMO_VIDEO_TRANSFER_MODE
1529 x
= PyInt_FromLong(CL_COSMO_VIDEO_TRANSFER_MODE
);
1530 if (x
== NULL
|| PyDict_SetItemString(d
, "COSMO_VIDEO_TRANSFER_MODE", x
) < 0)
1535 x
= PyInt_FromLong(CL_DATA
);
1536 if (x
== NULL
|| PyDict_SetItemString(d
, "DATA", x
) < 0)
1540 #ifdef CL_DECOMPRESSOR
1541 x
= PyInt_FromLong(CL_DECOMPRESSOR
);
1542 if (x
== NULL
|| PyDict_SetItemString(d
, "DECOMPRESSOR", x
) < 0)
1547 x
= PyInt_FromLong(CL_DSO_ERROR
);
1548 if (x
== NULL
|| PyDict_SetItemString(d
, "DSO_ERROR", x
) < 0)
1552 #ifdef CL_EDGE_THRESHOLD
1553 x
= PyInt_FromLong(CL_EDGE_THRESHOLD
);
1554 if (x
== NULL
|| PyDict_SetItemString(d
, "EDGE_THRESHOLD", x
) < 0)
1558 #ifdef CL_ENABLE_IMAGEINFO
1559 x
= PyInt_FromLong(CL_ENABLE_IMAGEINFO
);
1560 if (x
== NULL
|| PyDict_SetItemString(d
, "ENABLE_IMAGEINFO", x
) < 0)
1564 #ifdef CL_END_OF_SEQUENCE
1565 x
= PyInt_FromLong(CL_END_OF_SEQUENCE
);
1566 if (x
== NULL
|| PyDict_SetItemString(d
, "END_OF_SEQUENCE", x
) < 0)
1570 #ifdef CL_ENUM_VALUE
1571 x
= PyInt_FromLong(CL_ENUM_VALUE
);
1572 if (x
== NULL
|| PyDict_SetItemString(d
, "ENUM_VALUE", x
) < 0)
1576 #ifdef CL_EXACT_COMPRESSION_RATIO
1577 x
= PyInt_FromLong(CL_EXACT_COMPRESSION_RATIO
);
1578 if (x
== NULL
|| PyDict_SetItemString(d
, "EXACT_COMPRESSION_RATIO", x
) < 0)
1582 #ifdef CL_EXTERNAL_DEVICE
1583 x
= PyInt_FromLong((long) CL_EXTERNAL_DEVICE
);
1584 if (x
== NULL
|| PyDict_SetItemString(d
, "EXTERNAL_DEVICE", x
) < 0)
1588 #ifdef CL_FLOATING_ENUM_VALUE
1589 x
= PyInt_FromLong(CL_FLOATING_ENUM_VALUE
);
1590 if (x
== NULL
|| PyDict_SetItemString(d
, "FLOATING_ENUM_VALUE", x
) < 0)
1594 #ifdef CL_FLOATING_RANGE_VALUE
1595 x
= PyInt_FromLong(CL_FLOATING_RANGE_VALUE
);
1596 if (x
== NULL
|| PyDict_SetItemString(d
, "FLOATING_RANGE_VALUE", x
) < 0)
1601 x
= PyInt_FromLong(CL_FORMAT
);
1602 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT", x
) < 0)
1606 #ifdef CL_FORMAT_ABGR
1607 x
= PyInt_FromLong(CL_FORMAT_ABGR
);
1608 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_ABGR", x
) < 0)
1612 #ifdef CL_FORMAT_BGR
1613 x
= PyInt_FromLong(CL_FORMAT_BGR
);
1614 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_BGR", x
) < 0)
1618 #ifdef CL_FORMAT_BGR233
1619 x
= PyInt_FromLong(CL_FORMAT_BGR233
);
1620 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_BGR233", x
) < 0)
1624 #ifdef CL_FORMAT_GRAYSCALE
1625 x
= PyInt_FromLong(CL_FORMAT_GRAYSCALE
);
1626 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_GRAYSCALE", x
) < 0)
1630 #ifdef CL_FORMAT_MONO
1631 x
= PyInt_FromLong(CL_FORMAT_MONO
);
1632 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_MONO", x
) < 0)
1636 #ifdef CL_FORMAT_RBG323
1637 x
= PyInt_FromLong(CL_FORMAT_RBG323
);
1638 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_RBG323", x
) < 0)
1642 #ifdef CL_FORMAT_STEREO_INTERLEAVED
1643 x
= PyInt_FromLong(CL_FORMAT_STEREO_INTERLEAVED
);
1644 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_STEREO_INTERLEAVED", x
) < 0)
1648 #ifdef CL_FORMAT_XBGR
1649 x
= PyInt_FromLong(CL_FORMAT_XBGR
);
1650 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_XBGR", x
) < 0)
1654 #ifdef CL_FORMAT_YCbCr
1655 x
= PyInt_FromLong(CL_FORMAT_YCbCr
);
1656 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_YCbCr", x
) < 0)
1660 #ifdef CL_FORMAT_YCbCr422
1661 x
= PyInt_FromLong(CL_FORMAT_YCbCr422
);
1662 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_YCbCr422", x
) < 0)
1666 #ifdef CL_FORMAT_YCbCr422DC
1667 x
= PyInt_FromLong(CL_FORMAT_YCbCr422DC
);
1668 if (x
== NULL
|| PyDict_SetItemString(d
, "FORMAT_YCbCr422DC", x
) < 0)
1673 x
= PyInt_FromLong(CL_FRAME
);
1674 if (x
== NULL
|| PyDict_SetItemString(d
, "FRAME", x
) < 0)
1678 #ifdef CL_FRAMES_PER_CHUNK
1679 x
= PyInt_FromLong(CL_FRAMES_PER_CHUNK
);
1680 if (x
== NULL
|| PyDict_SetItemString(d
, "FRAMES_PER_CHUNK", x
) < 0)
1684 #ifdef CL_FRAME_BUFFER_SIZE
1685 x
= PyInt_FromLong(CL_FRAME_BUFFER_SIZE
);
1686 if (x
== NULL
|| PyDict_SetItemString(d
, "FRAME_BUFFER_SIZE", x
) < 0)
1690 #ifdef CL_FRAME_BUFFER_SIZE_ZERO
1691 x
= PyInt_FromLong(CL_FRAME_BUFFER_SIZE_ZERO
);
1692 if (x
== NULL
|| PyDict_SetItemString(d
, "FRAME_BUFFER_SIZE_ZERO", x
) < 0)
1696 #ifdef CL_FRAME_INDEX
1697 x
= PyInt_FromLong(CL_FRAME_INDEX
);
1698 if (x
== NULL
|| PyDict_SetItemString(d
, "FRAME_INDEX", x
) < 0)
1702 #ifdef CL_FRAME_RATE
1703 x
= PyInt_FromLong(CL_FRAME_RATE
);
1704 if (x
== NULL
|| PyDict_SetItemString(d
, "FRAME_RATE", x
) < 0)
1708 #ifdef CL_FRAME_SIZE
1709 x
= PyInt_FromLong(CL_FRAME_SIZE
);
1710 if (x
== NULL
|| PyDict_SetItemString(d
, "FRAME_SIZE", x
) < 0)
1714 #ifdef CL_FRAME_TYPE
1715 x
= PyInt_FromLong(CL_FRAME_TYPE
);
1716 if (x
== NULL
|| PyDict_SetItemString(d
, "FRAME_TYPE", x
) < 0)
1721 x
= PyInt_FromLong(CL_G711_ALAW
);
1722 if (x
== NULL
|| PyDict_SetItemString(d
, "G711_ALAW", x
) < 0)
1726 #ifdef CL_G711_ALAW_SOFTWARE
1727 x
= PyInt_FromLong(CL_G711_ALAW_SOFTWARE
);
1728 if (x
== NULL
|| PyDict_SetItemString(d
, "G711_ALAW_SOFTWARE", x
) < 0)
1733 x
= PyInt_FromLong(CL_G711_ULAW
);
1734 if (x
== NULL
|| PyDict_SetItemString(d
, "G711_ULAW", x
) < 0)
1738 #ifdef CL_G711_ULAW_SOFTWARE
1739 x
= PyInt_FromLong(CL_G711_ULAW_SOFTWARE
);
1740 if (x
== NULL
|| PyDict_SetItemString(d
, "G711_ULAW_SOFTWARE", x
) < 0)
1745 x
= PyInt_FromLong(CL_GRAYSCALE
);
1746 if (x
== NULL
|| PyDict_SetItemString(d
, "GRAYSCALE", x
) < 0)
1751 x
= PyInt_FromLong(CL_HDCC
);
1752 if (x
== NULL
|| PyDict_SetItemString(d
, "HDCC", x
) < 0)
1756 #ifdef CL_HDCC_SAMPLES_PER_TILE
1757 x
= PyInt_FromLong(CL_HDCC_SAMPLES_PER_TILE
);
1758 if (x
== NULL
|| PyDict_SetItemString(d
, "HDCC_SAMPLES_PER_TILE", x
) < 0)
1762 #ifdef CL_HDCC_SOFTWARE
1763 x
= PyInt_FromLong(CL_HDCC_SOFTWARE
);
1764 if (x
== NULL
|| PyDict_SetItemString(d
, "HDCC_SOFTWARE", x
) < 0)
1768 #ifdef CL_HDCC_TILE_THRESHOLD
1769 x
= PyInt_FromLong(CL_HDCC_TILE_THRESHOLD
);
1770 if (x
== NULL
|| PyDict_SetItemString(d
, "HDCC_TILE_THRESHOLD", x
) < 0)
1774 #ifdef CL_HEADER_START_CODE
1775 x
= PyInt_FromLong(CL_HEADER_START_CODE
);
1776 if (x
== NULL
|| PyDict_SetItemString(d
, "HEADER_START_CODE", x
) < 0)
1780 #ifdef CL_IMAGEINFO_FIELDMASK
1781 x
= PyInt_FromLong(CL_IMAGEINFO_FIELDMASK
);
1782 if (x
== NULL
|| PyDict_SetItemString(d
, "IMAGEINFO_FIELDMASK", x
) < 0)
1786 #ifdef CL_IMAGE_CROP_BOTTOM
1787 x
= PyInt_FromLong(CL_IMAGE_CROP_BOTTOM
);
1788 if (x
== NULL
|| PyDict_SetItemString(d
, "IMAGE_CROP_BOTTOM", x
) < 0)
1792 #ifdef CL_IMAGE_CROP_LEFT
1793 x
= PyInt_FromLong(CL_IMAGE_CROP_LEFT
);
1794 if (x
== NULL
|| PyDict_SetItemString(d
, "IMAGE_CROP_LEFT", x
) < 0)
1798 #ifdef CL_IMAGE_CROP_RIGHT
1799 x
= PyInt_FromLong(CL_IMAGE_CROP_RIGHT
);
1800 if (x
== NULL
|| PyDict_SetItemString(d
, "IMAGE_CROP_RIGHT", x
) < 0)
1804 #ifdef CL_IMAGE_CROP_TOP
1805 x
= PyInt_FromLong(CL_IMAGE_CROP_TOP
);
1806 if (x
== NULL
|| PyDict_SetItemString(d
, "IMAGE_CROP_TOP", x
) < 0)
1810 #ifdef CL_IMAGE_HEIGHT
1811 x
= PyInt_FromLong(CL_IMAGE_HEIGHT
);
1812 if (x
== NULL
|| PyDict_SetItemString(d
, "IMAGE_HEIGHT", x
) < 0)
1816 #ifdef CL_IMAGE_WIDTH
1817 x
= PyInt_FromLong(CL_IMAGE_WIDTH
);
1818 if (x
== NULL
|| PyDict_SetItemString(d
, "IMAGE_WIDTH", x
) < 0)
1822 #ifdef CL_IMPACT_CODEC_CONTROL
1823 x
= PyInt_FromLong(CL_IMPACT_CODEC_CONTROL
);
1824 if (x
== NULL
|| PyDict_SetItemString(d
, "IMPACT_CODEC_CONTROL", x
) < 0)
1828 #ifdef CL_IMPACT_FRAME_INTERLEAVE
1829 x
= PyInt_FromLong(CL_IMPACT_FRAME_INTERLEAVE
);
1830 if (x
== NULL
|| PyDict_SetItemString(d
, "IMPACT_FRAME_INTERLEAVE", x
) < 0)
1834 #ifdef CL_IMPACT_NUM_PARAMS
1835 x
= PyInt_FromLong(CL_IMPACT_NUM_PARAMS
);
1836 if (x
== NULL
|| PyDict_SetItemString(d
, "IMPACT_NUM_PARAMS", x
) < 0)
1840 #ifdef CL_INTERNAL_FORMAT
1841 x
= PyInt_FromLong(CL_INTERNAL_FORMAT
);
1842 if (x
== NULL
|| PyDict_SetItemString(d
, "INTERNAL_FORMAT", x
) < 0)
1846 #ifdef CL_INTERNAL_IMAGE_HEIGHT
1847 x
= PyInt_FromLong(CL_INTERNAL_IMAGE_HEIGHT
);
1848 if (x
== NULL
|| PyDict_SetItemString(d
, "INTERNAL_IMAGE_HEIGHT", x
) < 0)
1852 #ifdef CL_INTERNAL_IMAGE_WIDTH
1853 x
= PyInt_FromLong(CL_INTERNAL_IMAGE_WIDTH
);
1854 if (x
== NULL
|| PyDict_SetItemString(d
, "INTERNAL_IMAGE_WIDTH", x
) < 0)
1859 x
= PyInt_FromLong(CL_INTRA
);
1860 if (x
== NULL
|| PyDict_SetItemString(d
, "INTRA", x
) < 0)
1865 x
= PyInt_FromLong(CL_JPEG
);
1866 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG", x
) < 0)
1870 #ifdef CL_JPEG_COSMO
1871 x
= PyInt_FromLong(CL_JPEG_COSMO
);
1872 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG_COSMO", x
) < 0)
1876 #ifdef CL_JPEG_ERROR
1877 x
= PyInt_FromLong(CL_JPEG_ERROR
);
1878 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG_ERROR", x
) < 0)
1882 #ifdef CL_JPEG_IMPACT
1883 x
= PyInt_FromLong(CL_JPEG_IMPACT
);
1884 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG_IMPACT", x
) < 0)
1888 #ifdef CL_JPEG_NUM_PARAMS
1889 x
= PyInt_FromLong(CL_JPEG_NUM_PARAMS
);
1890 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG_NUM_PARAMS", x
) < 0)
1894 #ifdef CL_JPEG_QUALITY_FACTOR
1895 x
= PyInt_FromLong(CL_JPEG_QUALITY_FACTOR
);
1896 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG_QUALITY_FACTOR", x
) < 0)
1900 #ifdef CL_JPEG_QUANTIZATION_TABLES
1901 x
= PyInt_FromLong(CL_JPEG_QUANTIZATION_TABLES
);
1902 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG_QUANTIZATION_TABLES", x
) < 0)
1906 #ifdef CL_JPEG_SOFTWARE
1907 x
= PyInt_FromLong(CL_JPEG_SOFTWARE
);
1908 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG_SOFTWARE", x
) < 0)
1912 #ifdef CL_JPEG_STREAM_HEADERS
1913 x
= PyInt_FromLong(CL_JPEG_STREAM_HEADERS
);
1914 if (x
== NULL
|| PyDict_SetItemString(d
, "JPEG_STREAM_HEADERS", x
) < 0)
1919 x
= PyInt_FromLong(CL_KEYFRAME
);
1920 if (x
== NULL
|| PyDict_SetItemString(d
, "KEYFRAME", x
) < 0)
1924 #ifdef CL_KEYFRAME_DISTANCE
1925 x
= PyInt_FromLong(CL_KEYFRAME_DISTANCE
);
1926 if (x
== NULL
|| PyDict_SetItemString(d
, "KEYFRAME_DISTANCE", x
) < 0)
1930 #ifdef CL_LAST_FRAME_INDEX
1931 x
= PyInt_FromLong(CL_LAST_FRAME_INDEX
);
1932 if (x
== NULL
|| PyDict_SetItemString(d
, "LAST_FRAME_INDEX", x
) < 0)
1937 x
= PyInt_FromLong(CL_LAYER
);
1938 if (x
== NULL
|| PyDict_SetItemString(d
, "LAYER", x
) < 0)
1942 #ifdef CL_LUMA_THRESHOLD
1943 x
= PyInt_FromLong(CL_LUMA_THRESHOLD
);
1944 if (x
== NULL
|| PyDict_SetItemString(d
, "LUMA_THRESHOLD", x
) < 0)
1948 #ifdef CL_MAX_NUMBER_OF_AUDIO_ALGORITHMS
1949 x
= PyInt_FromLong(CL_MAX_NUMBER_OF_AUDIO_ALGORITHMS
);
1950 if (x
== NULL
|| PyDict_SetItemString(d
, "MAX_NUMBER_OF_AUDIO_ALGORITHMS", x
) < 0)
1954 #ifdef CL_MAX_NUMBER_OF_FORMATS
1955 x
= PyInt_FromLong(CL_MAX_NUMBER_OF_FORMATS
);
1956 if (x
== NULL
|| PyDict_SetItemString(d
, "MAX_NUMBER_OF_FORMATS", x
) < 0)
1960 #ifdef CL_MAX_NUMBER_OF_ORIGINAL_FORMATS
1961 x
= PyInt_FromLong(CL_MAX_NUMBER_OF_ORIGINAL_FORMATS
);
1962 if (x
== NULL
|| PyDict_SetItemString(d
, "MAX_NUMBER_OF_ORIGINAL_FORMATS", x
) < 0)
1966 #ifdef CL_MAX_NUMBER_OF_PARAMS
1967 x
= PyInt_FromLong(CL_MAX_NUMBER_OF_PARAMS
);
1968 if (x
== NULL
|| PyDict_SetItemString(d
, "MAX_NUMBER_OF_PARAMS", x
) < 0)
1972 #ifdef CL_MAX_NUMBER_OF_VIDEO_ALGORITHMS
1973 x
= PyInt_FromLong(CL_MAX_NUMBER_OF_VIDEO_ALGORITHMS
);
1974 if (x
== NULL
|| PyDict_SetItemString(d
, "MAX_NUMBER_OF_VIDEO_ALGORITHMS", x
) < 0)
1979 x
= PyInt_FromLong(CL_MONO
);
1980 if (x
== NULL
|| PyDict_SetItemString(d
, "MONO", x
) < 0)
1984 #ifdef CL_MPEG1_AUDIO_AWARE
1985 x
= PyInt_FromLong(CL_MPEG1_AUDIO_AWARE
);
1986 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_AWARE", x
) < 0)
1990 #ifdef CL_MPEG1_AUDIO_LAYER
1991 x
= PyInt_FromLong(CL_MPEG1_AUDIO_LAYER
);
1992 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_LAYER", x
) < 0)
1996 #ifdef CL_MPEG1_AUDIO_LAYER_I
1997 x
= PyInt_FromLong(CL_MPEG1_AUDIO_LAYER_I
);
1998 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_LAYER_I", x
) < 0)
2002 #ifdef CL_MPEG1_AUDIO_LAYER_II
2003 x
= PyInt_FromLong(CL_MPEG1_AUDIO_LAYER_II
);
2004 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_LAYER_II", x
) < 0)
2008 #ifdef CL_MPEG1_AUDIO_MODE
2009 x
= PyInt_FromLong(CL_MPEG1_AUDIO_MODE
);
2010 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_MODE", x
) < 0)
2014 #ifdef CL_MPEG1_AUDIO_MODE_DUAL
2015 x
= PyInt_FromLong(CL_MPEG1_AUDIO_MODE_DUAL
);
2016 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_MODE_DUAL", x
) < 0)
2020 #ifdef CL_MPEG1_AUDIO_MODE_JOINT
2021 x
= PyInt_FromLong(CL_MPEG1_AUDIO_MODE_JOINT
);
2022 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_MODE_JOINT", x
) < 0)
2026 #ifdef CL_MPEG1_AUDIO_MODE_SINGLE
2027 x
= PyInt_FromLong(CL_MPEG1_AUDIO_MODE_SINGLE
);
2028 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_MODE_SINGLE", x
) < 0)
2032 #ifdef CL_MPEG1_AUDIO_MODE_STEREO
2033 x
= PyInt_FromLong(CL_MPEG1_AUDIO_MODE_STEREO
);
2034 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_MODE_STEREO", x
) < 0)
2038 #ifdef CL_MPEG1_AUDIO_SOFTWARE
2039 x
= PyInt_FromLong(CL_MPEG1_AUDIO_SOFTWARE
);
2040 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_AUDIO_SOFTWARE", x
) < 0)
2044 #ifdef CL_MPEG1_END_OF_STREAM
2045 x
= PyInt_FromLong(CL_MPEG1_END_OF_STREAM
);
2046 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_END_OF_STREAM", x
) < 0)
2050 #ifdef CL_MPEG1_ERROR
2051 x
= PyInt_FromLong(CL_MPEG1_ERROR
);
2052 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_ERROR", x
) < 0)
2056 #ifdef CL_MPEG1_NUM_PARAMS
2057 x
= PyInt_FromLong(CL_MPEG1_NUM_PARAMS
);
2058 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_NUM_PARAMS", x
) < 0)
2062 #ifdef CL_MPEG1_VIDEO_M
2063 x
= PyInt_FromLong(CL_MPEG1_VIDEO_M
);
2064 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_M", x
) < 0)
2068 #ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X
2069 x
= PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X
);
2070 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_X", x
) < 0)
2074 #ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y
2075 x
= PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y
);
2076 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_B_Y", x
) < 0)
2080 #ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X
2081 x
= PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X
);
2082 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_X", x
) < 0)
2086 #ifdef CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y
2087 x
= PyInt_FromLong(CL_MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y
);
2088 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_MAX_MOTION_VECTOR_LENGTH_P_Y", x
) < 0)
2092 #ifdef CL_MPEG1_VIDEO_N
2093 x
= PyInt_FromLong(CL_MPEG1_VIDEO_N
);
2094 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_N", x
) < 0)
2098 #ifdef CL_MPEG1_VIDEO_SOFTNESS
2099 x
= PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS
);
2100 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_SOFTNESS", x
) < 0)
2104 #ifdef CL_MPEG1_VIDEO_SOFTNESS_MAXIMUM
2105 x
= PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_MAXIMUM
);
2106 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_SOFTNESS_MAXIMUM", x
) < 0)
2110 #ifdef CL_MPEG1_VIDEO_SOFTNESS_MEDIUM
2111 x
= PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_MEDIUM
);
2112 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_SOFTNESS_MEDIUM", x
) < 0)
2116 #ifdef CL_MPEG1_VIDEO_SOFTNESS_NONE
2117 x
= PyInt_FromLong(CL_MPEG1_VIDEO_SOFTNESS_NONE
);
2118 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_SOFTNESS_NONE", x
) < 0)
2122 #ifdef CL_MPEG1_VIDEO_SOFTWARE
2123 x
= PyInt_FromLong(CL_MPEG1_VIDEO_SOFTWARE
);
2124 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG1_VIDEO_SOFTWARE", x
) < 0)
2128 #ifdef CL_MPEG_VIDEO
2129 x
= PyInt_FromLong(CL_MPEG_VIDEO
);
2130 if (x
== NULL
|| PyDict_SetItemString(d
, "MPEG_VIDEO", x
) < 0)
2134 #ifdef CL_MULTIRATE_AWARE
2135 x
= PyInt_FromLong(CL_MULTIRATE_AWARE
);
2136 if (x
== NULL
|| PyDict_SetItemString(d
, "MULTIRATE_AWARE", x
) < 0)
2141 x
= PyInt_FromLong(CL_MVC1
);
2142 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC1", x
) < 0)
2146 #ifdef CL_MVC1_SOFTWARE
2147 x
= PyInt_FromLong(CL_MVC1_SOFTWARE
);
2148 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC1_SOFTWARE", x
) < 0)
2153 x
= PyInt_FromLong(CL_MVC2
);
2154 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2", x
) < 0)
2158 #ifdef CL_MVC2_BLENDING
2159 x
= PyInt_FromLong(CL_MVC2_BLENDING
);
2160 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2_BLENDING", x
) < 0)
2164 #ifdef CL_MVC2_BLENDING_OFF
2165 x
= PyInt_FromLong(CL_MVC2_BLENDING_OFF
);
2166 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2_BLENDING_OFF", x
) < 0)
2170 #ifdef CL_MVC2_BLENDING_ON
2171 x
= PyInt_FromLong(CL_MVC2_BLENDING_ON
);
2172 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2_BLENDING_ON", x
) < 0)
2176 #ifdef CL_MVC2_CHROMA_THRESHOLD
2177 x
= PyInt_FromLong(CL_MVC2_CHROMA_THRESHOLD
);
2178 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2_CHROMA_THRESHOLD", x
) < 0)
2182 #ifdef CL_MVC2_EDGE_THRESHOLD
2183 x
= PyInt_FromLong(CL_MVC2_EDGE_THRESHOLD
);
2184 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2_EDGE_THRESHOLD", x
) < 0)
2188 #ifdef CL_MVC2_ERROR
2189 x
= PyInt_FromLong(CL_MVC2_ERROR
);
2190 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2_ERROR", x
) < 0)
2194 #ifdef CL_MVC2_LUMA_THRESHOLD
2195 x
= PyInt_FromLong(CL_MVC2_LUMA_THRESHOLD
);
2196 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2_LUMA_THRESHOLD", x
) < 0)
2200 #ifdef CL_MVC2_SOFTWARE
2201 x
= PyInt_FromLong(CL_MVC2_SOFTWARE
);
2202 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC2_SOFTWARE", x
) < 0)
2206 #ifdef CL_MVC3_QUALITY_LEVEL
2207 x
= PyInt_FromLong(CL_MVC3_QUALITY_LEVEL
);
2208 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC3_QUALITY_LEVEL", x
) < 0)
2212 #ifdef CL_MVC3_SOFTWARE
2213 x
= PyInt_FromLong(CL_MVC3_SOFTWARE
);
2214 if (x
== NULL
|| PyDict_SetItemString(d
, "MVC3_SOFTWARE", x
) < 0)
2218 #ifdef CL_NEXT_NOT_AVAILABLE
2219 x
= PyInt_FromLong(CL_NEXT_NOT_AVAILABLE
);
2220 if (x
== NULL
|| PyDict_SetItemString(d
, "NEXT_NOT_AVAILABLE", x
) < 0)
2224 #ifdef CL_NOISE_MARGIN
2225 x
= PyInt_FromLong(CL_NOISE_MARGIN
);
2226 if (x
== NULL
|| PyDict_SetItemString(d
, "NOISE_MARGIN", x
) < 0)
2231 x
= PyInt_FromLong(CL_NONE
);
2232 if (x
== NULL
|| PyDict_SetItemString(d
, "NONE", x
) < 0)
2236 #ifdef CL_NUMBER_OF_FORMATS
2237 x
= PyInt_FromLong(CL_NUMBER_OF_FORMATS
);
2238 if (x
== NULL
|| PyDict_SetItemString(d
, "NUMBER_OF_FORMATS", x
) < 0)
2242 #ifdef CL_NUMBER_OF_FRAMES
2243 x
= PyInt_FromLong(CL_NUMBER_OF_FRAMES
);
2244 if (x
== NULL
|| PyDict_SetItemString(d
, "NUMBER_OF_FRAMES", x
) < 0)
2248 #ifdef CL_NUMBER_OF_PARAMS
2249 x
= PyInt_FromLong(CL_NUMBER_OF_PARAMS
);
2250 if (x
== NULL
|| PyDict_SetItemString(d
, "NUMBER_OF_PARAMS", x
) < 0)
2254 #ifdef CL_NUMBER_OF_PARAMS_FREEZE
2255 x
= PyInt_FromLong(CL_NUMBER_OF_PARAMS_FREEZE
);
2256 if (x
== NULL
|| PyDict_SetItemString(d
, "NUMBER_OF_PARAMS_FREEZE", x
) < 0)
2260 #ifdef CL_NUMBER_OF_VIDEO_FORMATS
2261 x
= PyInt_FromLong(CL_NUMBER_OF_VIDEO_FORMATS
);
2262 if (x
== NULL
|| PyDict_SetItemString(d
, "NUMBER_OF_VIDEO_FORMATS", x
) < 0)
2266 #ifdef CL_ORIENTATION
2267 x
= PyInt_FromLong(CL_ORIENTATION
);
2268 if (x
== NULL
|| PyDict_SetItemString(d
, "ORIENTATION", x
) < 0)
2272 #ifdef CL_ORIGINAL_FORMAT
2273 x
= PyInt_FromLong(CL_ORIGINAL_FORMAT
);
2274 if (x
== NULL
|| PyDict_SetItemString(d
, "ORIGINAL_FORMAT", x
) < 0)
2278 #ifdef CL_PARAM_OUT_OF_RANGE
2279 x
= PyInt_FromLong(CL_PARAM_OUT_OF_RANGE
);
2280 if (x
== NULL
|| PyDict_SetItemString(d
, "PARAM_OUT_OF_RANGE", x
) < 0)
2284 #ifdef CL_PIXEL_ASPECT
2285 x
= PyInt_FromLong(CL_PIXEL_ASPECT
);
2286 if (x
== NULL
|| PyDict_SetItemString(d
, "PIXEL_ASPECT", x
) < 0)
2291 x
= PyInt_FromLong(CL_PREDICTED
);
2292 if (x
== NULL
|| PyDict_SetItemString(d
, "PREDICTED", x
) < 0)
2297 x
= PyInt_FromLong(CL_PREROLL
);
2298 if (x
== NULL
|| PyDict_SetItemString(d
, "PREROLL", x
) < 0)
2302 #ifdef CL_QUALITY_FACTOR
2303 x
= PyInt_FromLong(CL_QUALITY_FACTOR
);
2304 if (x
== NULL
|| PyDict_SetItemString(d
, "QUALITY_FACTOR", x
) < 0)
2308 #ifdef CL_QUALITY_LEVEL
2309 x
= PyInt_FromLong(CL_QUALITY_LEVEL
);
2310 if (x
== NULL
|| PyDict_SetItemString(d
, "QUALITY_LEVEL", x
) < 0)
2314 #ifdef CL_QUALITY_SPATIAL
2315 x
= PyInt_FromLong(CL_QUALITY_SPATIAL
);
2316 if (x
== NULL
|| PyDict_SetItemString(d
, "QUALITY_SPATIAL", x
) < 0)
2320 #ifdef CL_QUALITY_TEMPORAL
2321 x
= PyInt_FromLong(CL_QUALITY_TEMPORAL
);
2322 if (x
== NULL
|| PyDict_SetItemString(d
, "QUALITY_TEMPORAL", x
) < 0)
2326 #ifdef CL_QUANTIZATION_TABLES
2327 x
= PyInt_FromLong(CL_QUANTIZATION_TABLES
);
2328 if (x
== NULL
|| PyDict_SetItemString(d
, "QUANTIZATION_TABLES", x
) < 0)
2332 #ifdef CL_RANGE_VALUE
2333 x
= PyInt_FromLong(CL_RANGE_VALUE
);
2334 if (x
== NULL
|| PyDict_SetItemString(d
, "RANGE_VALUE", x
) < 0)
2339 x
= PyInt_FromLong(CL_RGB
);
2340 if (x
== NULL
|| PyDict_SetItemString(d
, "RGB", x
) < 0)
2345 x
= PyInt_FromLong(CL_RGB332
);
2346 if (x
== NULL
|| PyDict_SetItemString(d
, "RGB332", x
) < 0)
2351 x
= PyInt_FromLong(CL_RGB8
);
2352 if (x
== NULL
|| PyDict_SetItemString(d
, "RGB8", x
) < 0)
2357 x
= PyInt_FromLong(CL_RGBA
);
2358 if (x
== NULL
|| PyDict_SetItemString(d
, "RGBA", x
) < 0)
2363 x
= PyInt_FromLong(CL_RGBX
);
2364 if (x
== NULL
|| PyDict_SetItemString(d
, "RGBX", x
) < 0)
2369 x
= PyInt_FromLong(CL_RLE
);
2370 if (x
== NULL
|| PyDict_SetItemString(d
, "RLE", x
) < 0)
2375 x
= PyInt_FromLong(CL_RLE24
);
2376 if (x
== NULL
|| PyDict_SetItemString(d
, "RLE24", x
) < 0)
2380 #ifdef CL_RLE24_SOFTWARE
2381 x
= PyInt_FromLong(CL_RLE24_SOFTWARE
);
2382 if (x
== NULL
|| PyDict_SetItemString(d
, "RLE24_SOFTWARE", x
) < 0)
2386 #ifdef CL_RLE_SOFTWARE
2387 x
= PyInt_FromLong(CL_RLE_SOFTWARE
);
2388 if (x
== NULL
|| PyDict_SetItemString(d
, "RLE_SOFTWARE", x
) < 0)
2393 x
= PyInt_FromLong(CL_RTR
);
2394 if (x
== NULL
|| PyDict_SetItemString(d
, "RTR", x
) < 0)
2399 x
= PyInt_FromLong(CL_RTR1
);
2400 if (x
== NULL
|| PyDict_SetItemString(d
, "RTR1", x
) < 0)
2404 #ifdef CL_RTR_QUALITY_LEVEL
2405 x
= PyInt_FromLong(CL_RTR_QUALITY_LEVEL
);
2406 if (x
== NULL
|| PyDict_SetItemString(d
, "RTR_QUALITY_LEVEL", x
) < 0)
2410 #ifdef CL_SAMPLES_PER_TILE
2411 x
= PyInt_FromLong(CL_SAMPLES_PER_TILE
);
2412 if (x
== NULL
|| PyDict_SetItemString(d
, "SAMPLES_PER_TILE", x
) < 0)
2416 #ifdef CL_SCHEME_BUSY
2417 x
= PyInt_FromLong(CL_SCHEME_BUSY
);
2418 if (x
== NULL
|| PyDict_SetItemString(d
, "SCHEME_BUSY", x
) < 0)
2422 #ifdef CL_SCHEME_NOT_AVAILABLE
2423 x
= PyInt_FromLong(CL_SCHEME_NOT_AVAILABLE
);
2424 if (x
== NULL
|| PyDict_SetItemString(d
, "SCHEME_NOT_AVAILABLE", x
) < 0)
2429 x
= PyInt_FromLong(CL_SPEED
);
2430 if (x
== NULL
|| PyDict_SetItemString(d
, "SPEED", x
) < 0)
2434 #ifdef CL_STEREO_INTERLEAVED
2435 x
= PyInt_FromLong(CL_STEREO_INTERLEAVED
);
2436 if (x
== NULL
|| PyDict_SetItemString(d
, "STEREO_INTERLEAVED", x
) < 0)
2440 #ifdef CL_STREAM_HEADERS
2441 x
= PyInt_FromLong(CL_STREAM_HEADERS
);
2442 if (x
== NULL
|| PyDict_SetItemString(d
, "STREAM_HEADERS", x
) < 0)
2446 #ifdef CL_TILE_THRESHOLD
2447 x
= PyInt_FromLong(CL_TILE_THRESHOLD
);
2448 if (x
== NULL
|| PyDict_SetItemString(d
, "TILE_THRESHOLD", x
) < 0)
2453 x
= PyInt_FromLong(CL_TOP_DOWN
);
2454 if (x
== NULL
|| PyDict_SetItemString(d
, "TOP_DOWN", x
) < 0)
2459 x
= PyInt_FromLong(CL_ULAW
);
2460 if (x
== NULL
|| PyDict_SetItemString(d
, "ULAW", x
) < 0)
2464 #ifdef CL_UNCOMPRESSED
2465 x
= PyInt_FromLong(CL_UNCOMPRESSED
);
2466 if (x
== NULL
|| PyDict_SetItemString(d
, "UNCOMPRESSED", x
) < 0)
2470 #ifdef CL_UNCOMPRESSED_AUDIO
2471 x
= PyInt_FromLong(CL_UNCOMPRESSED_AUDIO
);
2472 if (x
== NULL
|| PyDict_SetItemString(d
, "UNCOMPRESSED_AUDIO", x
) < 0)
2476 #ifdef CL_UNCOMPRESSED_VIDEO
2477 x
= PyInt_FromLong(CL_UNCOMPRESSED_VIDEO
);
2478 if (x
== NULL
|| PyDict_SetItemString(d
, "UNCOMPRESSED_VIDEO", x
) < 0)
2482 #ifdef CL_UNKNOWN_SCHEME
2483 x
= PyInt_FromLong(CL_UNKNOWN_SCHEME
);
2484 if (x
== NULL
|| PyDict_SetItemString(d
, "UNKNOWN_SCHEME", x
) < 0)
2489 x
= PyInt_FromLong(CL_VIDEO
);
2490 if (x
== NULL
|| PyDict_SetItemString(d
, "VIDEO", x
) < 0)
2495 x
= PyInt_FromLong(CL_Y
);
2496 if (x
== NULL
|| PyDict_SetItemString(d
, "Y", x
) < 0)
2501 x
= PyInt_FromLong(CL_YCbCr
);
2502 if (x
== NULL
|| PyDict_SetItemString(d
, "YCbCr", x
) < 0)
2507 x
= PyInt_FromLong(CL_YCbCr422
);
2508 if (x
== NULL
|| PyDict_SetItemString(d
, "YCbCr422", x
) < 0)
2512 #ifdef CL_YCbCr422DC
2513 x
= PyInt_FromLong(CL_YCbCr422DC
);
2514 if (x
== NULL
|| PyDict_SetItemString(d
, "YCbCr422DC", x
) < 0)
2518 #ifdef CL_YCbCr422HC
2519 x
= PyInt_FromLong(CL_YCbCr422HC
);
2520 if (x
== NULL
|| PyDict_SetItemString(d
, "YCbCr422HC", x
) < 0)
2525 x
= PyInt_FromLong(CL_YUV
);
2526 if (x
== NULL
|| PyDict_SetItemString(d
, "YUV", x
) < 0)
2531 x
= PyInt_FromLong(CL_YUV422
);
2532 if (x
== NULL
|| PyDict_SetItemString(d
, "YUV422", x
) < 0)
2537 x
= PyInt_FromLong(CL_YUV422DC
);
2538 if (x
== NULL
|| PyDict_SetItemString(d
, "YUV422DC", x
) < 0)
2543 x
= PyInt_FromLong(CL_YUV422HC
);
2544 if (x
== NULL
|| PyDict_SetItemString(d
, "YUV422HC", x
) < 0)
2549 x
= PyInt_FromLong(AWCMP_STEREO
);
2550 if (x
== NULL
|| PyDict_SetItemString(d
, "AWCMP_STEREO", x
) < 0)
2554 #ifdef AWCMP_JOINT_STEREO
2555 x
= PyInt_FromLong(AWCMP_JOINT_STEREO
);
2556 if (x
== NULL
|| PyDict_SetItemString(d
, "AWCMP_JOINT_STEREO", x
) < 0)
2560 #ifdef AWCMP_INDEPENDENT
2561 x
= PyInt_FromLong(AWCMP_INDEPENDENT
);
2562 if (x
== NULL
|| PyDict_SetItemString(d
, "AWCMP_INDEPENDENT", x
) < 0)
2566 #ifdef AWCMP_FIXED_RATE
2567 x
= PyInt_FromLong(AWCMP_FIXED_RATE
);
2568 if (x
== NULL
|| PyDict_SetItemString(d
, "AWCMP_FIXED_RATE", x
) < 0)
2572 #ifdef AWCMP_CONST_QUAL
2573 x
= PyInt_FromLong(AWCMP_CONST_QUAL
);
2574 if (x
== NULL
|| PyDict_SetItemString(d
, "AWCMP_CONST_QUAL", x
) < 0)
2578 #ifdef AWCMP_LOSSLESS
2579 x
= PyInt_FromLong(AWCMP_LOSSLESS
);
2580 if (x
== NULL
|| PyDict_SetItemString(d
, "AWCMP_LOSSLESS", x
) < 0)
2584 #ifdef AWCMP_MPEG_LAYER_I
2585 x
= PyInt_FromLong(AWCMP_MPEG_LAYER_I
);
2586 if (x
== NULL
|| PyDict_SetItemString(d
, "AWCMP_MPEG_LAYER_I", x
) < 0)
2590 #ifdef AWCMP_MPEG_LAYER_II
2591 x
= PyInt_FromLong(AWCMP_MPEG_LAYER_II
);
2592 if (x
== NULL
|| PyDict_SetItemString(d
, "AWCMP_MPEG_LAYER_II", x
) < 0)
2597 (void) clSetErrorHandler(cl_ErrorHandler
);