| # | |
| # cl.h - Compression Library typedefs and prototypes | |
| # | |
| # 01/07/92 Cleanup by Brian Knittel | |
| # 02/18/92 Original Version by Brian Knittel | |
| # | |
| # | |
| # originalFormat parameter values | |
| # | |
| from warnings import warnpy3k | |
| warnpy3k("the CL_old module has been removed in Python 3.0", stacklevel=2) | |
| del warnpy3k | |
| MAX_NUMBER_OF_ORIGINAL_FORMATS = 32 | |
| # Audio | |
| MONO = 0 | |
| STEREO_INTERLEAVED = 1 | |
| # Video | |
| # YUV is defined to be the same thing as YCrCb (luma and two chroma components). | |
| # 422 is appended to YUV (or YCrCb) if the chroma is sub-sampled by 2 | |
| # horizontally, packed as U Y1 V Y2 (byte order). | |
| # 422HC is appended to YUV (or YCrCb) if the chroma is sub-sampled by 2 | |
| # vertically in addition to horizontally, and is packed the same as | |
| # 422 except that U & V are not valid on the second line. | |
| # | |
| RGB = 0 | |
| RGBX = 1 | |
| RGBA = 2 | |
| RGB332 = 3 | |
| GRAYSCALE = 4 | |
| Y = 4 | |
| YUV = 5 | |
| YCbCr = 5 | |
| YUV422 = 6 # 4:2:2 sampling | |
| YCbCr422 = 6 # 4:2:2 sampling | |
| YUV422HC = 7 # 4:1:1 sampling | |
| YCbCr422HC = 7 # 4:1:1 sampling | |
| YUV422DC = 7 # 4:1:1 sampling | |
| YCbCr422DC = 7 # 4:1:1 sampling | |
| BEST_FIT = -1 | |
| def BytesPerSample(s): | |
| if s in (MONO, YUV): | |
| return 2 | |
| elif s == STEREO_INTERLEAVED: | |
| return 4 | |
| else: | |
| return 0 | |
| def BytesPerPixel(f): | |
| if f in (RGB, YUV): | |
| return 3 | |
| elif f in (RGBX, RGBA): | |
| return 4 | |
| elif f in (RGB332, GRAYSCALE): | |
| return 1 | |
| else: | |
| return 2 | |
| def AudioFormatName(f): | |
| if f == MONO: | |
| return 'MONO' | |
| elif f == STEREO_INTERLEAVED: | |
| return 'STEREO_INTERLEAVED' | |
| else: | |
| return 'Not a valid format' | |
| def VideoFormatName(f): | |
| if f == RGB: | |
| return 'RGB' | |
| elif f == RGBX: | |
| return 'RGBX' | |
| elif f == RGBA: | |
| return 'RGBA' | |
| elif f == RGB332: | |
| return 'RGB332' | |
| elif f == GRAYSCALE: | |
| return 'GRAYSCALE' | |
| elif f == YUV: | |
| return 'YUV' | |
| elif f == YUV422: | |
| return 'YUV422' | |
| elif f == YUV422DC: | |
| return 'YUV422DC' | |
| else: | |
| return 'Not a valid format' | |
| MAX_NUMBER_OF_AUDIO_ALGORITHMS = 32 | |
| MAX_NUMBER_OF_VIDEO_ALGORITHMS = 32 | |
| # | |
| # Algorithm types | |
| # | |
| AUDIO = 0 | |
| VIDEO = 1 | |
| def AlgorithmNumber(scheme): | |
| return scheme & 0x7fff | |
| def AlgorithmType(scheme): | |
| return (scheme >> 15) & 1 | |
| def Algorithm(type, n): | |
| return n | ((type & 1) << 15) | |
| # | |
| # "compressionScheme" argument values | |
| # | |
| UNKNOWN_SCHEME = -1 | |
| UNCOMPRESSED_AUDIO = Algorithm(AUDIO, 0) | |
| G711_ULAW = Algorithm(AUDIO, 1) | |
| ULAW = Algorithm(AUDIO, 1) | |
| G711_ALAW = Algorithm(AUDIO, 2) | |
| ALAW = Algorithm(AUDIO, 2) | |
| AWARE_MPEG_AUDIO = Algorithm(AUDIO, 3) | |
| AWARE_MULTIRATE = Algorithm(AUDIO, 4) | |
| UNCOMPRESSED = Algorithm(VIDEO, 0) | |
| UNCOMPRESSED_VIDEO = Algorithm(VIDEO, 0) | |
| RLE = Algorithm(VIDEO, 1) | |
| JPEG = Algorithm(VIDEO, 2) | |
| MPEG_VIDEO = Algorithm(VIDEO, 3) | |
| MVC1 = Algorithm(VIDEO, 4) | |
| RTR = Algorithm(VIDEO, 5) | |
| RTR1 = Algorithm(VIDEO, 5) | |
| # | |
| # Parameters | |
| # | |
| MAX_NUMBER_OF_PARAMS = 256 | |
| # Default Parameters | |
| IMAGE_WIDTH = 0 | |
| IMAGE_HEIGHT = 1 | |
| ORIGINAL_FORMAT = 2 | |
| INTERNAL_FORMAT = 3 | |
| COMPONENTS = 4 | |
| BITS_PER_COMPONENT = 5 | |
| FRAME_RATE = 6 | |
| COMPRESSION_RATIO = 7 | |
| EXACT_COMPRESSION_RATIO = 8 | |
| FRAME_BUFFER_SIZE = 9 | |
| COMPRESSED_BUFFER_SIZE = 10 | |
| BLOCK_SIZE = 11 | |
| PREROLL = 12 | |
| FRAME_TYPE = 13 | |
| ALGORITHM_ID = 14 | |
| ALGORITHM_VERSION = 15 | |
| ORIENTATION = 16 | |
| NUMBER_OF_FRAMES = 17 | |
| SPEED = 18 | |
| LAST_FRAME_INDEX = 19 | |
| NUMBER_OF_PARAMS = 20 | |
| # JPEG Specific Parameters | |
| QUALITY_FACTOR = NUMBER_OF_PARAMS + 0 | |
| # MPEG Specific Parameters | |
| END_OF_SEQUENCE = NUMBER_OF_PARAMS + 0 | |
| # RTR Specific Parameters | |
| QUALITY_LEVEL = NUMBER_OF_PARAMS + 0 | |
| ZOOM_X = NUMBER_OF_PARAMS + 1 | |
| ZOOM_Y = NUMBER_OF_PARAMS + 2 | |
| # | |
| # Parameter value types | |
| # | |
| ENUM_VALUE = 0 # only certain constant values are valid | |
| RANGE_VALUE = 1 # any value in a given range is valid | |
| FLOATING_ENUM_VALUE = 2 # only certain constant floating point values are valid | |
| FLOATING_RANGE_VALUE = 3 # any value in a given floating point range is valid | |
| # | |
| # Algorithm Functionality | |
| # | |
| DECOMPRESSOR = 1 | |
| COMPRESSOR = 2 | |
| CODEC = 3 | |
| # | |
| # Buffer types | |
| # | |
| NONE = 0 | |
| FRAME = 1 | |
| DATA = 2 | |
| # | |
| # Frame types | |
| # | |
| NONE = 0 | |
| KEYFRAME = 1 | |
| INTRA = 1 | |
| PREDICTED = 2 | |
| BIDIRECTIONAL = 3 | |
| # | |
| # Orientations | |
| # | |
| TOP_DOWN = 0 | |
| BOTTOM_UP = 1 | |
| # | |
| # SGI Proprietary Algorithm Header Start Code | |
| # | |
| HEADER_START_CODE = 0xc1C0DEC | |
| # | |
| # error codes | |
| # | |
| BAD_NO_BUFFERSPACE = -2 # no space for internal buffers | |
| BAD_PVBUFFER = -3 # param/val buffer doesn't make sense | |
| BAD_BUFFERLENGTH_NEG = -4 # negative buffer length | |
| BAD_BUFFERLENGTH_ODD = -5 # odd length parameter/value buffer | |
| BAD_PARAM = -6 # invalid parameter | |
| BAD_COMPRESSION_SCHEME = -7 # compression scheme parameter invalid | |
| BAD_COMPRESSOR_HANDLE = -8 # compression handle parameter invalid | |
| BAD_COMPRESSOR_HANDLE_POINTER = -9 # compression handle pointer invalid | |
| BAD_BUFFER_HANDLE = -10 # buffer handle invalid | |
| BAD_BUFFER_QUERY_SIZE = -11 # buffer query size too large | |
| JPEG_ERROR = -12 # error from libjpeg | |
| BAD_FRAME_SIZE = -13 # frame size invalid | |
| PARAM_OUT_OF_RANGE = -14 # parameter out of range | |
| ADDED_ALGORITHM_ERROR = -15 # added algorithm had a unique error | |
| BAD_ALGORITHM_TYPE = -16 # bad algorithm type | |
| BAD_ALGORITHM_NAME = -17 # bad algorithm name | |
| BAD_BUFFERING = -18 # bad buffering calls | |
| BUFFER_NOT_CREATED = -19 # buffer not created | |
| BAD_BUFFER_EXISTS = -20 # buffer already created | |
| BAD_INTERNAL_FORMAT = -21 # invalid internal format | |
| BAD_BUFFER_POINTER = -22 # invalid buffer pointer | |
| FRAME_BUFFER_SIZE_ZERO = -23 # frame buffer has zero size | |
| BAD_STREAM_HEADER = -24 # invalid stream header | |
| BAD_LICENSE = -25 # netls license not valid | |
| AWARE_ERROR = -26 # error from libawcmp |