/* * (C) Copyright 2004 Wojtek Kaniewski * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License Version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef __VIDEO_H #define __VIDEO_H /* fourcc list from from http://www.fourcc.org/ */ /* maybe use http://xmm.sourceforge.net/DivX5-6_Xvid_Bitstream_version.php for avi? */ struct video_format { const char *tag; const char *descr; } video_formats[] = { { "3IV1", "3ivx" }, { "3IV2", "3ivx" }, { "8BPS", "Planar RGB Codec" }, { "AASC", "Autodesk Animator codec" }, { "ADV1", "WaveCodec" }, { "ADVJ", "Avid M-JPEG" }, { "AEMI", "Array VideoONE MPEG1-I Capture" }, { "AFLI", "Autodesk Animator codec" }, { "AFLC", "Autodesk Animator codec" }, { "AMPG", "Array VideoONE MPEG" }, { "ANIM", "RDX" }, { "AP41", "AngelPotion" }, { "ASV1", "Asus Video" }, { "ASV2", "Asus Video" }, { "ASVX", "Asus Video 2.0" }, { "AUR2", "Aura 2 Codec - YUV 422" }, { "AURA", "Aura 1 Codec - YUV 411" }, { "AVRn", "Avid M-JPEG" }, { "BINK", "Bink Video" }, { "BLZ0", "Blizzard" }, { "BT20", "Prosumer Video" }, { "BTCV", "Composite Video Codec" }, { "BW10", "Broadway MPEG Capture/Compression" }, { "CC12", "YUV12 Codec" }, { "CDVC", "Canopus DV Codec" }, { "CFCC", "DPS Perception" }, { "CGDI", "Camcorder Video" }, { "CHAM", "Caviara Champagne" }, { "CMYK", "Uncompressed CMYK" }, { "CJPG", "WebCam JPEG" }, { "CPLA", "YUV 4:2:0" }, { "CRAM", "Microsoft Video 1" }, { "CSCD", "CamStudio Codec" }, { "CVID", "Cinepak" }, { "CWLT", "Color WLT DIB" }, { "CYUV", "Creative YUV" }, { "CYUY", "ATI YUV" }, { "D261", "H.261" }, { "D263", "H.263" }, { "DCL1", "Data Connection Conferencing Codec" }, { "DIV3", "DivX MPEG-4" }, { "DIV4", "DivX MPEG-4" }, { "DIV5", "DivX" }, { "DIVX", "DivX" }, { "divx", "DivX" }, { "dmb1", "Rainbow Runner hardware compression" }, { "DMB2", "MJPEG" }, { "DSVD", "DV Codec" }, { "DUCK", "TrueMotion S" }, { "dv25", "DVCPRO" }, { "dv50", "DVCPRO50" }, { "DVSD", "DV" }, { "DVE2", "DVE-2 Videoconferencing Codec" }, { "DVX1", "DVX1000SP Video Decoder" }, { "DVX2", "DVX2000S Video Decoder" }, { "DVX3", "DVX3000S Video Decoder" }, { "DX50", "DivX MPEG-4" }, { "DXT1", "DirectX Compressed Texture" }, { "DXT2", "DirectX Compressed Texture" }, { "DXT3", "DirectX Compressed Texture" }, { "DXT4", "DirectX Compressed Texture" }, { "DXT5", "DirectX Compressed Texture" }, { "DXTC", "DirectX Texture Compression" }, { "EKQ0", "Elsa Quick Codec" }, { "EM2V", "Etymonix MPEG-2 Video" }, { "ESCP", "Escape" }, { "ETV1", "eTreppid Video Codec" }, { "ETV2", "eTreppid Video Codec" }, { "ETVC", "eTreppid Video Codec" }, { "FFV1", "FFMPEG Codec" }, { "FLJP", "Field Encoded Motion JPEG" }, { "FRWA", "Forward Motion JPEG with alpha channel" }, { "FRWD", "Forward Motion JPEG" }, { "FVF1", "Fractal Video Frame" }, { "GLZW", "Motion LZW" }, { "GPEG", "Motion JPEG" }, { "GWLT", "Greyscale WLT DIB" }, { "H260", "ITU H.260" }, { "H261", "ITU H.261" }, { "H262", "ITU H.262" }, { "H263", "ITU H.263" }, { "H264", "ITU H.264" }, { "H265", "ITU H.265" }, { "H266", "ITU H.266" }, { "H267", "ITU H.267" }, { "H268", "ITU H.268" }, { "H269", "ITU H.269" }, { "HFYU", "Huffman Lossless Codec" }, { "HMCR", "Rendition Motion Compensation Format" }, { "HMRR", "Rendition Motion Compensation Format" }, { "i263", "ITU H.263" }, { "IAN ", "Indeo 4 Codec" }, { "ICLB", "CellB Videoconferencing Codec" }, { "IGOR", "Power DVD" }, { "IJPG", "Intergraph JPEG" }, { "ILVC", "Layered Video" }, { "ILVR", "ITU H.263+ Codec" }, { "IPDV", "Giga AVI DV Codec" }, { "IR21", "Indeo 2.1" }, { "IRAW", "Intel Uncompressed UYUV" }, { "IV30", "Intel Indeo 3" }, { "IV31", "Intel Indeo 3" }, { "IV32", "Intel Indeo 3" }, { "IV33", "Intel Indeo 3" }, { "IV34", "Intel Indeo 3" }, { "IV35", "Intel Indeo 3" }, { "IV36", "Intel Indeo 3" }, { "IV37", "Intel Indeo 3" }, { "IV38", "Intel Indeo 3" }, { "IV39", "Intel Indeo 3" }, { "IV40", "Intel Indeo 4" }, { "IV41", "Intel Indeo 4" }, { "IV42", "Intel Indeo 4" }, { "IV43", "Intel Indeo 4" }, { "IV44", "Intel Indeo 4" }, { "IV45", "Intel Indeo 4" }, { "IV46", "Intel Indeo 4" }, { "IV47", "Intel Indeo 4" }, { "IV48", "Intel Indeo 4" }, { "IV49", "Intel Indeo 4" }, { "IV50", "Indeo Interactive" }, { "JPEG", "JPEG Still Image" }, { "JPGL", "JPEG Light?" }, { "KMVC", "Karl Morton's Video Codec (presumably)" }, { "L261", "Lead H.26" }, { "L263", "Lead H.263" }, { "LCMW", "Motion CMW Codec" }, { "LEAD", "LEAD Video Codec" }, { "LGRY", "Grayscale Image" }, { "LJ2K", "Lead JPEG 2000" }, { "Ljpg", "LEAD MJPEG Codec" }, { "LZO1", "Lempel-Ziv-Oberhumer Codec" }, { "M263", "H.263" }, { "M261", "H.261" }, { "M4CC", "m4cc" }, { "M4S2", "MPEG-4" }, { "MC12", "Motion Compensation Format" }, { "MCAM", "Motion Compensation Format" }, { "MJ2C", "Motion JPEG 2000" }, { "mJPG", "Motion JPEG including Huffman Tables" }, { "MJPG", "Motion JPEG" }, { "MMES", "MPEG-2 ES" }, { "MP2A", "MPEG-2 Audio" }, { "MP2T", "MPEG-2 Transport Stream" }, { "MP2V", "MPEG-2 Video" }, { "MP42", "MPEG-4" }, { "MP43", "MPEG-4" }, { "MP4A", "MPEG-4 Audio" }, { "MP4S", "MPEG-4" }, { "MP4T", "MPEG-4 Transport Stream" }, { "MP4V", "MPEG-4 Video" }, { "MPEG", "MPEG" }, { "MPG4", "MPEG-4" }, { "MPGI", "MPEG" }, { "MRCA", "Mrcodec" }, { "MRLE", "Microsoft RLE" }, { "MSVC", "Microsoft Video 1" }, { "MSZH", "AVImszh" }, { "MTX1", "Matrox MJPEG" }, { "MTX2", "Matrox MJPEG" }, { "MTX3", "Matrox MJPEG" }, { "MTX4", "Matrox MJPEG" }, { "MTX5", "Matrox MJPEG" }, { "MTX6", "Matrox MJPEG" }, { "MTX7", "Matrox MJPEG" }, { "MTX8", "Matrox MJPEG" }, { "MTX9", "Matrox MJPEG" }, { "MVI1", "Motion Pixels MVI1 Codec" }, { "MVI2", "Motion Pixels MVI2 Codec" }, { "MWV1", "Aware Motion Wavelets" }, { "NTN1", "Video Compression 1" }, { "NTN2", "Video Compression 2" }, { "NVDS", "NVidia Texture Format" }, { "NVHS", "NVidia Texture Format" }, { "NHVU", "NVidia Texture Format" }, { "PDVC", "DVC codec" }, { "PGVV", "Radius Video Vision" }, { "PHMO", "Photomotion" }, { "PIM1", "Pinnacle Systems MPEG-1 based" }, { "PIM2", "Pinnacle Systems" }, { "pimj", "Pegasus Lossless JPEG" }, { "PIXL", "Video XL" }, { "PVEZ", "PowerEZ" }, { "PVMM", "PacketVideo Corporation MPEG-4" }, { "PVW2", "Pegasus Wavelet 2000 Compression" }, { "qpeq", "QPEG 1.1" }, { "QPEG", "QPEG" }, { "raw ", "Raw RGB" }, { "RGBT", "Raw RGB (32 bit)" }, { "rle ", "Apple Animation" }, { "RLE ", "Run Length Encoder" }, { "RLE4", "4bpp Run Length Encoder" }, { "RLE8", "8bpp Run Length Encoder" }, { "RMP4", "MPEG-4 AS Profile Codec" }, { "RPZA", "Apple Video" }, { "RT21", "Real Time Video 2.1" }, { "rv20", "RealVideo G2" }, { "rv30", "RealVideo 8" }, { "RVX ", "RDX" }, { "s422", "VideoCap C210" }, { "SAN3", "DivX 3" }, { "SDCC", "Digital Camera Codec" }, { "SEDG", "Samsung MPEG-4" }, { "SFMC", "Surface Fitting Method" }, { "SMC ", "Apple Graphics" }, { "SMSC", "Radius proprietary codec" }, { "SMSD", "Radius proprietary codec" }, { "smsv", "Wavelet Video" }, { "SP40", "SunPlus ?" }, { "SP44", "SunPlus ?" }, { "SP54", "SunPlus ?" }, { "SPIG", "Radius Spigot" }, { "SQZ2", "VXTreme Video Codec V2" }, { "SV10", "Video R1" }, { "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)" }, { "SVQ1", "Sorenson Video 1" }, { "SVQ3", "Sorenson Video 3" }, { "TLMS", "Motion Intraframe Codec" }, { "TLST", "Motion Intraframe Codec" }, { "TM20", "TrueMotion 2.0" }, { "TM2X", "TrueMotion 2X" }, { "TMIC", "Motion Intraframe Codec" }, { "TMOT", "TrueMotion S" }, { "TR20", "TrueMotion RT 2.0" }, { "TSCC", "TechSmith Screen Capture Codec" }, { "TV10", "Tecomac Low-Bit Rate Codec" }, { "TVJP", "Pinacle/Truevision Targa 2000" }, { "TVMJ", "Pinacle/Truevision Targa 2000" }, { "TY2C", "Trident Decompression Driver" }, { "TY2N", "Trident ?" }, { "TY0N", "Trident ?" }, { "UCOD", "ClearVideo" }, { "ULTI", "Ultimotion" }, { "V261", "Lucent VX2000S" }, { "V655", "YUV 4:2:2" }, { "VCR1", "ATI Video Codec" }, { "VCR2", "ATI Video Codec" }, { "VCR3", "ATI Video Codec" }, { "VCR4", "ATI Video Codec" }, { "VCR5", "ATI Video Codec" }, { "VCR6", "ATI Video Codec" }, { "VCR7", "ATI Video Codec" }, { "VCR8", "ATI Video Codec" }, { "VCR9", "ATI Video Codec" }, { "VDCT", "VideoMaker Pro DIB" }, { "VDOM", "VDOWave" }, { "VDOW", "VDOLive" }, { "VDTZ", "VideoTizer YUV Codec" }, { "VGPX", "VideoGramPix" }, { "VIFP", "VFAPI Codec" }, { "VIDS", "Videc Multimedia YUV 4:2:2" }, { "VIVO", "Vivo H.263" }, { "VIXL", "Video XL" }, { "VLV1", "VideoLogic ?" }, { "VP30", "VP3" }, { "VP31", "VP31" }, { "VP40", "VP40" }, { "VP50", "VP50" }, { "VP60", "VP60" }, { "VQC1", "VideoQuest Codec 1" }, { "VQC2", "VideoQuest Codec 2" }, { "vssv", "VSS Video" }, { "VX1K", "VX1000S Video Codec" }, { "VX2K", "VX2000S Video Codec" }, { "VXSP", "VX1000SP Video Codec" }, { "VYU9", "ATI YUV" }, { "VYUY", "ATI YUV" }, { "WBVC", "W9960" }, { "WHAM", "Microsoft Video 1" }, { "WINX", "Winnov Software Compression" }, { "WJPG", "Winbond JPEG?" }, { "WMV1", "Windows Media Video 7" }, { "WMV2", "Windows Media Video 8" }, { "WMV3", "Windows Media Video 9" }, { "WNV1", "Winnov Hardware Compression" }, { "x263", "Download here" }, { "X264", "XiWave H.264" }, { "XVID", "XVID MPEG-4" }, { "XLV0", "XL Video Decoder" }, { "XMPG", "XING MPEG" }, { "XWV0", "XiWave Cideo Codec" }, { "XWV1", "XiWave Cideo Codec" }, { "XWV2", "XiWave Cideo Codec" }, { "XWV3", "XiWave Cideo Codec" }, { "XWV4", "XiWave Cideo Codec" }, { "XWV5", "XiWave Cideo Codec" }, { "XWV6", "XiWave Cideo Codec" }, { "XWV7", "XiWave Cideo Codec" }, { "XWV8", "XiWave Cideo Codec" }, { "XWV9", "XiWave Cideo Codec" }, { "Y411", "YUV 4:1:1" }, { "Y41P", "Brooktree YUV 4:1:1" }, { "Y444", "YUV 4:4:4" }, { "Y8 ", "Grayscale video" }, { "YC12", "YUV 12 codec" }, { "YUV8", "Caviar YUV8" }, { "YUVP", "Uncompressed YCrCb 4:2:2" }, { "YUY2", "Raw, uncompressed YUV 4:2:2" }, { "YUYV", "YUV 4:2:2" }, { "YV16", "YUV 4:2:2 Planar" }, { "YV92", "Intel YVU9" }, { "ZPEG", "Video Zipper" }, { "ZyGo", "ZyGoVideo" }, { "divf", "DivX 4.12" }, /* ??? */ { "yv12", "XVID YUV 4:2:0 Planar" }, { NULL, NULL }, }; #endif /* __VIDEO_H */