diff options
Diffstat (limited to 'Lib/irix5/CL_old.py')
-rwxr-xr-x | Lib/irix5/CL_old.py | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/Lib/irix5/CL_old.py b/Lib/irix5/CL_old.py new file mode 100755 index 0000000..41c56e0 --- /dev/null +++ b/Lib/irix5/CL_old.py @@ -0,0 +1,236 @@ +# +# 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 +# +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 Proprietaty 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 |