SickGear/lib/hachoir/parser/video/fourcc.py
2023-02-09 13:41:15 +00:00

406 lines
14 KiB
Python

#
# fourcc are codes to specify the encoding method a audio or video string
# in RIFF file (.avi and .wav).
#
# The following lists come from mmpython project:
# file: mmpython/video/fourcc.py
# url: http://sourceforge.net/projects/mmpython/
#
# List of codecs with no compression (compression rate=1.0)
UNCOMPRESSED_AUDIO = set((1, 3, 6))
audio_codec_name = {
0x0000: 'Microsoft Unknown Wave Format',
0x0001: 'Microsoft Pulse Code Modulation (PCM)',
0x0002: 'Microsoft ADPCM',
0x0003: 'IEEE Float',
0x0004: 'Compaq Computer VSELP',
0x0005: 'IBM CVSD',
0x0006: 'Microsoft A-Law',
0x0007: 'Microsoft mu-Law',
0x0010: 'OKI ADPCM',
0x0011: 'Intel DVI/IMA ADPCM',
0x0012: 'Videologic MediaSpace ADPCM',
0x0013: 'Sierra Semiconductor ADPCM',
0x0014: 'Antex Electronics G.723 ADPCM',
0x0015: 'DSP Solutions DigiSTD',
0x0016: 'DSP Solutions DigiFIX',
0x0017: 'Dialogic OKI ADPCM',
0x0018: 'MediaVision ADPCM',
0x0019: 'Hewlett-Packard CU',
0x0020: 'Yamaha ADPCM',
0x0021: 'Speech Compression Sonarc',
0x0022: 'DSP Group TrueSpeech',
0x0023: 'Echo Speech EchoSC1',
0x0024: 'Audiofile AF36',
0x0025: 'Audio Processing Technology APTX',
0x0026: 'AudioFile AF10',
0x0027: 'Prosody 1612',
0x0028: 'LRC',
0x0030: 'Dolby AC2',
0x0031: 'Microsoft GSM 6.10',
0x0032: 'MSNAudio',
0x0033: 'Antex Electronics ADPCME',
0x0034: 'Control Resources VQLPC',
0x0035: 'DSP Solutions DigiREAL',
0x0036: 'DSP Solutions DigiADPCM',
0x0037: 'Control Resources CR10',
0x0038: 'Natural MicroSystems VBXADPCM',
0x0039: 'Crystal Semiconductor IMA ADPCM',
0x003A: 'EchoSC3',
0x003B: 'Rockwell ADPCM',
0x003C: 'Rockwell Digit LK',
0x003D: 'Xebec',
0x0040: 'Antex Electronics G.721 ADPCM',
0x0041: 'G.728 CELP',
0x0042: 'MSG723',
0x0050: 'Microsoft MPEG',
0x0052: 'RT24',
0x0053: 'PAC',
0x0055: 'MPEG Layer 3',
0x0059: 'Lucent G.723',
0x0060: 'Cirrus',
0x0061: 'ESPCM',
0x0062: 'Voxware',
0x0063: 'Canopus Atrac',
0x0064: 'G.726 ADPCM',
0x0065: 'G.722 ADPCM',
0x0066: 'DSAT',
0x0067: 'DSAT Display',
0x0069: 'Voxware Byte Aligned',
0x0070: 'Voxware AC8',
0x0071: 'Voxware AC10',
0x0072: 'Voxware AC16',
0x0073: 'Voxware AC20',
0x0074: 'Voxware MetaVoice',
0x0075: 'Voxware MetaSound',
0x0076: 'Voxware RT29HW',
0x0077: 'Voxware VR12',
0x0078: 'Voxware VR18',
0x0079: 'Voxware TQ40',
0x0080: 'Softsound',
0x0081: 'Voxware TQ60',
0x0082: 'MSRT24',
0x0083: 'G.729A',
0x0084: 'MVI MV12',
0x0085: 'DF G.726',
0x0086: 'DF GSM610',
0x0088: 'ISIAudio',
0x0089: 'Onlive',
0x0091: 'SBC24',
0x0092: 'Dolby AC3 SPDIF',
0x0097: 'ZyXEL ADPCM',
0x0098: 'Philips LPCBB',
0x0099: 'Packed',
0x0100: 'Rhetorex ADPCM',
0x0101: 'IBM mu-law',
0x0102: 'IBM A-law',
0x0103: 'IBM AVC Adaptive Differential Pulse Code Modulation (ADPCM)',
0x0111: 'Vivo G.723',
0x0112: 'Vivo Siren',
0x0123: 'Digital G.723',
0x0140: 'Windows Media Video V8',
0x0161: 'Windows Media Audio V7 / V8 / V9',
0x0162: 'Windows Media Audio Professional V9',
0x0163: 'Windows Media Audio Lossless V9',
0x0200: 'Creative Labs ADPCM',
0x0202: 'Creative Labs Fastspeech8',
0x0203: 'Creative Labs Fastspeech10',
0x0220: 'Quarterdeck',
0x0300: 'Fujitsu FM Towns Snd',
0x0400: 'BTV Digital',
0x0680: 'VME VMPCM',
0x1000: 'Olivetti GSM',
0x1001: 'Olivetti ADPCM',
0x1002: 'Olivetti CELP',
0x1003: 'Olivetti SBC',
0x1004: 'Olivetti OPR',
0x1100: 'Lernout & Hauspie LH Codec',
0x1400: 'Norris',
0x1401: 'AT&T ISIAudio',
0x1500: 'Soundspace Music Compression',
0x2000: 'AC3',
0x7A21: 'GSM-AMR (CBR, no SID)',
0x7A22: 'GSM-AMR (VBR, including SID)',
0xFFFF: 'Development codec'
}
video_fourcc_name = {
'3IV1': '3ivx v1',
'3IV2': '3ivx v2',
'AASC': 'Autodesk Animator',
'ABYR': 'Kensington ?ABYR?',
'AEMI': 'Array VideoONE MPEG1-I Capture',
'AFLC': 'Autodesk Animator FLC',
'AFLI': 'Autodesk Animator FLI',
'AMPG': 'Array VideoONE MPEG',
'ANIM': 'Intel RDX (ANIM)',
'AP41': 'AngelPotion Definitive',
'ASV1': 'Asus Video v1',
'ASV2': 'Asus Video v2',
'ASVX': 'Asus Video 2.0 (audio)',
'AUR2': 'Aura 2 Codec - YUV 4:2:2',
'AURA': 'Aura 1 Codec - YUV 4:1:1',
'BINK': 'RAD Game Tools Bink Video',
'BT20': 'Conexant Prosumer Video',
'BTCV': 'Conexant Composite Video Codec',
'BW10': 'Data Translation Broadway MPEG Capture',
'CC12': 'Intel YUV12',
'CDVC': 'Canopus DV',
'CFCC': 'Digital Processing Systems DPS Perception',
'CGDI': 'Microsoft Office 97 Camcorder Video',
'CHAM': 'Winnov Caviara Champagne',
'CJPG': 'Creative WebCam JPEG',
'CLJR': 'Cirrus Logic YUV 4 pixels',
'CMYK': 'Common Data Format in Printing',
'CPLA': 'Weitek 4:2:0 YUV Planar',
'CRAM': 'Microsoft Video 1 (CRAM)',
'CVID': 'Radius Cinepak',
'CWLT': 'Microsoft Color WLT DIB',
'CYUV': 'Creative Labs YUV',
'CYUY': 'ATI YUV',
'D261': 'H.261',
'D263': 'H.263',
'DIV3': 'DivX v3 MPEG-4 Low-Motion',
'DIV4': 'DivX v3 MPEG-4 Fast-Motion',
'DIV5': '?DIV5?',
'DIVX': 'DivX v4',
'divx': 'DivX',
'DMB1': 'Matrox Rainbow Runner hardware MJPEG',
'DMB2': 'Paradigm MJPEG',
'DSVD': '?DSVD?',
'DUCK': 'Duck True Motion 1.0',
'DVAN': '?DVAN?',
'DVE2': 'InSoft DVE-2 Videoconferencing',
'dvsd': 'DV',
'DVSD': 'DV',
'DVX1': 'DVX1000SP Video Decoder',
'DVX2': 'DVX2000S Video Decoder',
'DVX3': 'DVX3000S Video Decoder',
'DX50': 'DivX v5',
'DXT1': 'Microsoft DirectX Compressed Texture (DXT1)',
'DXT2': 'Microsoft DirectX Compressed Texture (DXT2)',
'DXT3': 'Microsoft DirectX Compressed Texture (DXT3)',
'DXT4': 'Microsoft DirectX Compressed Texture (DXT4)',
'DXT5': 'Microsoft DirectX Compressed Texture (DXT5)',
'DXTC': 'Microsoft DirectX Compressed Texture (DXTC)',
'EKQ0': 'Elsa ?EKQ0?',
'ELK0': 'Elsa ?ELK0?',
'ESCP': 'Eidos Escape',
'ETV1': 'eTreppid Video ETV1',
'ETV2': 'eTreppid Video ETV2',
'ETVC': 'eTreppid Video ETVC',
'FLJP': 'D-Vision Field Encoded Motion JPEG',
'FRWA': 'SoftLab-Nsk Forward Motion JPEG w/ alpha channel',
'FRWD': 'SoftLab-Nsk Forward Motion JPEG',
'FVF1': 'Iterated Systems Fractal Video Frame',
'GLZW': 'Motion LZW (gabest@freemail.hu)',
'GPEG': 'Motion JPEG (gabest@freemail.hu)',
'GWLT': 'Microsoft Greyscale WLT DIB',
'H260': 'Intel ITU H.260 Videoconferencing',
'H261': 'Intel ITU H.261 Videoconferencing',
'H262': 'Intel ITU H.262 Videoconferencing',
'H263': 'Intel ITU H.263 Videoconferencing',
'H264': 'Intel ITU H.264 Videoconferencing',
'H265': 'Intel ITU H.265 Videoconferencing',
'H266': 'Intel ITU H.266 Videoconferencing',
'H267': 'Intel ITU H.267 Videoconferencing',
'H268': 'Intel ITU H.268 Videoconferencing',
'H269': 'Intel ITU H.269 Videoconferencing',
'HFYU': 'Huffman Lossless Codec',
'HMCR': 'Rendition Motion Compensation Format (HMCR)',
'HMRR': 'Rendition Motion Compensation Format (HMRR)',
'i263': 'Intel ITU H.263 Videoconferencing (i263)',
'I420': 'Intel Indeo 4',
'IAN ': 'Intel RDX',
'ICLB': 'InSoft CellB Videoconferencing',
'IGOR': 'Power DVD',
'IJPG': 'Intergraph JPEG',
'ILVC': 'Intel Layered Video',
'ILVR': 'ITU-T H.263+',
'IPDV': 'I-O Data Device Giga AVI DV Codec',
'IR21': 'Intel Indeo 2.1',
'IRAW': 'Intel YUV Uncompressed',
'IV30': 'Ligos Indeo 3.0',
'IV31': 'Ligos Indeo 3.1',
'IV32': 'Ligos Indeo 3.2',
'IV33': 'Ligos Indeo 3.3',
'IV34': 'Ligos Indeo 3.4',
'IV35': 'Ligos Indeo 3.5',
'IV36': 'Ligos Indeo 3.6',
'IV37': 'Ligos Indeo 3.7',
'IV38': 'Ligos Indeo 3.8',
'IV39': 'Ligos Indeo 3.9',
'IV40': 'Ligos Indeo Interactive 4.0',
'IV41': 'Ligos Indeo Interactive 4.1',
'IV42': 'Ligos Indeo Interactive 4.2',
'IV43': 'Ligos Indeo Interactive 4.3',
'IV44': 'Ligos Indeo Interactive 4.4',
'IV45': 'Ligos Indeo Interactive 4.5',
'IV46': 'Ligos Indeo Interactive 4.6',
'IV47': 'Ligos Indeo Interactive 4.7',
'IV48': 'Ligos Indeo Interactive 4.8',
'IV49': 'Ligos Indeo Interactive 4.9',
'IV50': 'Ligos Indeo Interactive 5.0',
'JBYR': 'Kensington ?JBYR?',
'JPEG': 'Still Image JPEG DIB',
'JPGL': 'Webcam JPEG Light?',
'KMVC': 'Karl Morton\'s Video Codec',
'LEAD': 'LEAD Video Codec',
'Ljpg': 'LEAD MJPEG Codec',
'M261': 'Microsoft H.261',
'M263': 'Microsoft H.263',
'M4S2': 'Microsoft MPEG-4 (M4S2)',
'm4s2': 'Microsoft MPEG-4 (m4s2)',
'MC12': 'ATI Motion Compensation Format (MC12)',
'MCAM': 'ATI Motion Compensation Format (MCAM)',
'MJ2C': 'Morgan Multimedia Motion JPEG2000',
'mJPG': 'IBM Motion JPEG w/ Huffman Tables',
'MJPG': 'Motion JPEG DIB',
'MP42': 'Microsoft MPEG-4 (low-motion)',
'MP43': 'Microsoft MPEG-4 (fast-motion)',
'MP4S': 'Microsoft MPEG-4 (MP4S)',
'mp4s': 'Microsoft MPEG-4 (mp4s)',
'MPEG': 'MPEG 1 Video I-Frame',
'MPG4': 'Microsoft MPEG-4 Video High Speed Compressor',
'MPGI': 'Sigma Designs MPEG',
'MRCA': 'FAST Multimedia Mrcodec',
'MRLE': 'Microsoft Run Length Encoding (RLE)',
'MSVC': 'Microsoft Video 1',
'MTX1': 'Matrox ?MTX1?',
'MTX2': 'Matrox ?MTX2?',
'MTX3': 'Matrox ?MTX3?',
'MTX4': 'Matrox ?MTX4?',
'MTX5': 'Matrox ?MTX5?',
'MTX6': 'Matrox ?MTX6?',
'MTX7': 'Matrox ?MTX7?',
'MTX8': 'Matrox ?MTX8?',
'MTX9': 'Matrox ?MTX9?',
'MV12': '?MV12?',
'MWV1': 'Aware Motion Wavelets',
'nAVI': '?nAVI?',
'NTN1': 'Nogatech Video Compression 1',
'NVS0': 'nVidia GeForce Texture (NVS0)',
'NVS1': 'nVidia GeForce Texture (NVS1)',
'NVS2': 'nVidia GeForce Texture (NVS2)',
'NVS3': 'nVidia GeForce Texture (NVS3)',
'NVS4': 'nVidia GeForce Texture (NVS4)',
'NVS5': 'nVidia GeForce Texture (NVS5)',
'NVT0': 'nVidia GeForce Texture (NVT0)',
'NVT1': 'nVidia GeForce Texture (NVT1)',
'NVT2': 'nVidia GeForce Texture (NVT2)',
'NVT3': 'nVidia GeForce Texture (NVT3)',
'NVT4': 'nVidia GeForce Texture (NVT4)',
'NVT5': 'nVidia GeForce Texture (NVT5)',
'PDVC': 'I-O Data Device Digital Video Capture DV codec',
'PGVV': 'Radius Video Vision',
'PHMO': 'IBM Photomotion',
'PIM1': 'Pegasus Imaging ?PIM1?',
'PIM2': 'Pegasus Imaging ?PIM2?',
'PIMJ': 'Pegasus Imaging Lossless JPEG',
'PVEZ': 'Horizons Technology PowerEZ',
'PVMM': 'PacketVideo Corporation MPEG-4',
'PVW2': 'Pegasus Imaging Wavelet Compression',
'QPEG': 'Q-Team QPEG 1.0',
'qpeq': 'Q-Team QPEG 1.1',
'RGBT': 'Computer Concepts 32-bit support',
'RLE ': 'Microsoft Run Length Encoder',
'RLE4': 'Run Length Encoded 4',
'RLE8': 'Run Length Encoded 8',
'RT21': 'Intel Real Time Video 2.1',
'rv20': 'RealVideo G2',
'rv30': 'RealVideo 8',
'RVX ': 'Intel RDX (RVX )',
's422': 'Tekram VideoCap C210 YUV 4:2:2',
'SDCC': 'Sun Communication Digital Camera Codec',
'SFMC': 'CrystalNet Surface Fitting Method',
'SMSC': 'Radius SMSC',
'SMSD': 'Radius SMSD',
'smsv': 'WorldConnect Wavelet Video',
'SPIG': 'Radius Spigot',
'SPLC': 'Splash Studios ACM Audio Codec',
'SQZ2': 'Microsoft VXTreme Video Codec V2',
'STVA': 'ST CMOS Imager Data (Bayer)',
'STVB': 'ST CMOS Imager Data (Nudged Bayer)',
'STVC': 'ST CMOS Imager Data (Bunched)',
'STVX': 'ST CMOS Imager Data (Extended CODEC Data Format)',
'STVY': 'ST CMOS Imager Data (Extended CODEC Data Format with Correction Data)',
'SV10': 'Sorenson Video R1',
'SVQ1': 'Sorenson Video R3',
'TLMS': 'TeraLogic Motion Intraframe Codec (TLMS)',
'TLST': 'TeraLogic Motion Intraframe Codec (TLST)',
'TM20': 'Duck TrueMotion 2.0',
'TM2X': 'Duck TrueMotion 2X',
'TMIC': 'TeraLogic Motion Intraframe Codec (TMIC)',
'TMOT': 'Horizons Technology TrueMotion S',
'tmot': 'Horizons TrueMotion Video Compression',
'TR20': 'Duck TrueMotion RealTime 2.0',
'TSCC': 'TechSmith Screen Capture Codec',
'TV10': 'Tecomac Low-Bit Rate Codec',
'TY0N': 'Trident ?TY0N?',
'TY2C': 'Trident ?TY2C?',
'TY2N': 'Trident ?TY2N?',
'UCOD': 'eMajix.com ClearVideo',
'ULTI': 'IBM Ultimotion',
'UYVY': 'UYVY 4:2:2 byte ordering',
'V261': 'Lucent VX2000S',
'V422': '24 bit YUV 4:2:2 Format',
'V655': '16 bit YUV 4:2:2 Format',
'VCR1': 'ATI VCR 1.0',
'VCR2': 'ATI VCR 2.0',
'VCR3': 'ATI VCR 3.0',
'VCR4': 'ATI VCR 4.0',
'VCR5': 'ATI VCR 5.0',
'VCR6': 'ATI VCR 6.0',
'VCR7': 'ATI VCR 7.0',
'VCR8': 'ATI VCR 8.0',
'VCR9': 'ATI VCR 9.0',
'VDCT': 'Video Maker Pro DIB',
'VDOM': 'VDOnet VDOWave',
'VDOW': 'VDOnet VDOLive (H.263)',
'VDTZ': 'Darim Vison VideoTizer YUV',
'VGPX': 'VGPixel Codec',
'VIDS': 'Vitec Multimedia YUV 4:2:2 CCIR 601 for V422',
'VIFP': '?VIFP?',
'VIVO': 'Vivo H.263 v2.00',
'vivo': 'Vivo H.263',
'VIXL': 'Miro Video XL',
'VLV1': 'Videologic VLCAP.DRV',
'VP30': 'On2 VP3.0',
'VP31': 'On2 VP3.1',
'VX1K': 'VX1000S Video Codec',
'VX2K': 'VX2000S Video Codec',
'VXSP': 'VX1000SP Video Codec',
'WBVC': 'Winbond W9960',
'WHAM': 'Microsoft Video 1 (WHAM)',
'WINX': 'Winnov Software Compression',
'WJPG': 'AverMedia Winbond JPEG',
'WMV1': 'Windows Media Video V7',
'WMV2': 'Windows Media Video V8',
'WMV3': 'Windows Media Video V9',
'WNV1': 'Winnov Hardware Compression',
'x263': 'Xirlink H.263',
'XLV0': 'NetXL Video Decoder',
'XMPG': 'Xing MPEG (I-Frame only)',
'XVID': 'XviD MPEG-4',
'XXAN': '?XXAN?',
'Y211': 'YUV 2:1:1 Packed',
'Y411': 'YUV 4:1:1 Packed',
'Y41B': 'YUV 4:1:1 Planar',
'Y41P': 'PC1 4:1:1',
'Y41T': 'PC1 4:1:1 with transparency',
'Y42B': 'YUV 4:2:2 Planar',
'Y42T': 'PCI 4:2:2 with transparency',
'Y8 ': 'Grayscale video',
'YC12': 'Intel YUV12 Codec',
'YUV8': 'Winnov Caviar YUV8',
'YUV9': 'Intel YUV9',
'YUY2': 'Uncompressed YUV 4:2:2',
'YUYV': 'Canopus YUV',
'YV12': 'YVU12 Planar',
'YVU9': 'Intel YVU9 Planar',
'YVYU': 'YVYU 4:2:2 byte ordering',
'ZLIB': '?ZLIB?',
'ZPEG': 'Metheus Video Zipper'
}