mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
	
	
		
			237 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			237 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | # | ||
|  | # 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 |