1 /* 2 * Copyright (C) 2001 Carlos Hasan. All Rights Reserved. 3 * Copyright (C) 2001 François Revol. All Rights Reserved. 4 * Copyright (C) 2001 Axel Dörfler. All Rights Reserved. 5 * 6 * Distributed under the terms of the MIT License. 7 */ 8 9 #include "CodecTable.h" 10 11 #define HAS_WMA_AUDIO 12 //#define HAS_MACE_AUDIO 13 #define HAS_PHOTO_JPEG 14 #define HAS_MOTION_JPEG 15 16 #define FOURCC(a) B_SWAP_INT32(a) 17 18 const struct codec_table gCodecTable[] = { 19 20 {CODEC_ID_PCM_ALAW, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x06, "aLaw"}, 21 {CODEC_ID_PCM_ALAW, B_MEDIA_ENCODED_AUDIO, B_AIFF_FORMAT_FAMILY, 'alaw' , "aLaw"}, 22 {CODEC_ID_PCM_ALAW, B_MEDIA_ENCODED_AUDIO, B_AIFF_FORMAT_FAMILY, 'ALAW' , "aLaw"}, 23 {CODEC_ID_PCM_ALAW, B_MEDIA_ENCODED_AUDIO, B_MISC_FORMAT_FAMILY, (uint64('au') << 32) | 27, "aLaw"}, 24 25 {CODEC_ID_PCM_MULAW, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'ulaw', "µLaw"}, 26 {CODEC_ID_PCM_ALAW, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'alaw', "aLaw"}, 27 {CODEC_ID_PCM_ALAW, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'ALAW', "aLaw"}, 28 29 {CODEC_ID_PCM_MULAW, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x07, "µLaw"}, 30 {CODEC_ID_PCM_MULAW, B_MEDIA_ENCODED_AUDIO, B_AIFF_FORMAT_FAMILY, 'ulaw', "µLaw"}, 31 {CODEC_ID_PCM_MULAW, B_MEDIA_ENCODED_AUDIO, B_AIFF_FORMAT_FAMILY, 'ULAW', "µLaw"}, 32 {CODEC_ID_PCM_MULAW, B_MEDIA_ENCODED_AUDIO, B_MISC_FORMAT_FAMILY, (uint64('au') << 32) | 1, "µLaw"}, 33 34 {CODEC_ID_ADPCM_IMA_WAV, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x0011, "IMA ADPCM"}, 35 {CODEC_ID_ADPCM_MS, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x0002, "MS ADPCM"}, 36 {CODEC_ID_ADPCM_IMA_WAV, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 0x6D730011, "IMA ADPCM"}, 37 {CODEC_ID_ADPCM_MS, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 0x6D730002, "MS ADPCM"}, 38 {CODEC_ID_MP2, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 0x6D730050, "MP Layer2"}, 39 {CODEC_ID_MP2, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 0x6D730055, "MP Layer3"}, 40 {CODEC_ID_MP2, B_MEDIA_ENCODED_AUDIO, B_MPEG_FORMAT_FAMILY, 0x6D730050, "MP Layer2"}, 41 {CODEC_ID_MP2, B_MEDIA_ENCODED_AUDIO, B_MPEG_FORMAT_FAMILY, 0x6D730055, "MP Layer3"}, 42 #if 0 43 {CODEC_ID_MP2, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x0050, "MPEG Audio Layer 2"}, /* mpeg audio layer 2 */ 44 {CODEC_ID_MP2, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x0055, "MPEG Audio Layer 3"}, /* mpeg audio layer 3 */ 45 #endif 46 47 {CODEC_ID_ADPCM_IMA_QT, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'ima4', "Quicktime IMA4"}, 48 {CODEC_ID_ADPCM_IMA_QT, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'IMA4', "Quicktime IMA4"}, 49 {CODEC_ID_AAC, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'mp4a', "MPEG4 AAC"}, 50 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'mp4v', "MPEG4 Video"}, 51 {CODEC_ID_AAC, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'a4pm', "MPEG4 AAC"}, 52 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'v4pm', "MPEG4 Video"}, 53 {CODEC_ID_AAC, B_MEDIA_ENCODED_AUDIO, B_MISC_FORMAT_FAMILY, 'mp4a', "MPEG4 AAC"}, /* For matroska */ 54 {CODEC_ID_AAC, B_MEDIA_ENCODED_AUDIO, B_MISC_FORMAT_FAMILY, 'a4pm', "MPEG4 AAC"}, /* For matroska */ 55 {CODEC_ID_AC3, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x2000, "AC3"}, 56 57 #ifdef HAS_MACE_AUDIO 58 {CODEC_ID_MACE3, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'MAC3', "MACE 3:1"}, 59 {CODEC_ID_MACE6, B_MEDIA_ENCODED_AUDIO, B_QUICKTIME_FORMAT_FAMILY, 'MAC6', "MACE 6:1"}, 60 #endif 61 62 {CODEC_ID_WMAV1, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x160, "MS WMA v1"}, 63 {CODEC_ID_WMAV2, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 0x161, "MS WMA v2"}, 64 65 {CODEC_ID_FLAC, B_MEDIA_ENCODED_AUDIO, B_WAV_FORMAT_FAMILY, 'flac', "FLAC"}, 66 67 {CODEC_ID_CINEPAK, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('cvid'), "Cinepak Video"}, 68 {CODEC_ID_CINEPAK, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'cvid', "Cinepak Video"}, 69 70 {CODEC_ID_MSRLE, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, FOURCC(' elr'), "MS RLE"}, // ??? 71 72 {CODEC_ID_MSRLE, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('RLE '), "MS RLE"}, // ??? 73 {CODEC_ID_MSRLE, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('mrle'), "MS RLE"}, // ??? 74 75 {CODEC_ID_MSVIDEO1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('MSVC'), "MS Video 1 (MSVC)"}, 76 {CODEC_ID_MSVIDEO1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('msvc'), "MS Video 1 (msvc)"}, 77 {CODEC_ID_MSVIDEO1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('CRAM'), "MS Video 1 (CRAM)"}, 78 {CODEC_ID_MSVIDEO1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('cram'), "MS Video 1 (cram)"}, 79 {CODEC_ID_MSVIDEO1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('WHAM'), "MS Video 1 (WHAM)"}, 80 {CODEC_ID_MSVIDEO1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('wham'), "MS Video 1 (wham)"}, 81 {CODEC_ID_MSVIDEO1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 0x01, "MS Video 1 (1)"}, 82 {CODEC_ID_MSVIDEO1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC(0x01), "MS Video 1 (not 1)"}, 83 84 {CODEC_ID_H263, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('U263'), "U263"}, 85 {CODEC_ID_H263, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('H263'), "U263"}, 86 // {CODEC_ID_H263P, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('U263'), "U263"}, 87 {CODEC_ID_H263I, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('I263'), "Intel H263"}, /* intel h263 */ 88 {CODEC_ID_H263, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'h263', "H263"}, 89 {CODEC_ID_H263, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'H263', "H263"}, 90 91 {CODEC_ID_H264, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'h264', "H264"}, 92 {CODEC_ID_H264, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'H264', "H264"}, 93 {CODEC_ID_H264, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'x264', "H264"}, 94 {CODEC_ID_H264, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'avc1', "AVC"}, /* MPEG-4 AVC */ 95 96 #ifdef HAS_PHOTO_JPEG 97 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'JPEG', "Photo-JPEG"}, 98 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'jpeg', "Photo-JPEG"}, /* used in BeOS_BBC.mov */ 99 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'GEPJ', "Photo-JPEG"}, 100 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'gepj', "Photo-JPEG"}, /* used in BeOS_BBC.mov */ 101 #endif 102 #ifdef HAS_MOTION_JPEG 103 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('MJPG'), "Motion JPEG"}, 104 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('mjpg'), "Motion JPEG"}, 105 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'AVDJ', "Motion JPEG"}, 106 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'mjpa', "Motion JPEG"}, 107 {CODEC_ID_MJPEGB, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'mjpb', "Motion JPEG"}, 108 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'JDVA', "Motion JPEG"}, 109 {CODEC_ID_MJPEG, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'apjm', "Motion JPEG"}, 110 {CODEC_ID_MJPEGB, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'bpjm', "Motion JPEG"}, 111 #endif 112 113 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'FMP4', "ffmpeg MPEG4"}, 114 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, '4PMF', "ffmpeg MPEG4"}, 115 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'DIVX', "MPEG4"}, /* OpenDivX */ /* XXX: doesn't seem to work */ 116 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'divx', "MPEG4"}, /* OpenDivX */ 117 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'mp4v', "MPEG4"}, /* MPEG-4 ASP */ 118 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'XVID', "XviD (MPEG4)"}, /* OpenDivX ??? XXX: test */ 119 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'FMP4', "ffmpeg MPEG4"}, 120 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, '4PMF', "ffmpeg MPEG4"}, 121 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('DIVX'), "MPEG4"}, /* OpenDivX */ 122 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('divx'), "MPEG4"}, /* OpenDivX */ 123 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('XVID'), "XviD (MPEG4)"}, /* XVID */ 124 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('xvid'), "XviD (MPEG4)"}, /* XVID */ 125 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('DX50'), "DivX 5 (MPEG4)"}, /* DivX 5.0 */ 126 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('dx50'), "DivX 5 (MPEG4)"}, /* DivX 5.0 */ 127 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('3IV2'), "3ivx v2"}, /* 3ivx v2 */ 128 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('3iv2'), "3ivx v2"}, /* 3ivx v2 */ 129 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('ffds'), "ff DirectShow"}, /* XVID Variant */ 130 131 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('\004\0\0\0'), "MPEG4"}, /* some broken avi use this */ 132 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('DIV3'), "DivX ;-) (MS MPEG4 v3)"}, /* default signature when using MSMPEG4 */ 133 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('div3'), "DivX ;-) (MS MPEG4 v3)"}, 134 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('DIV4'), "DivX ;-) (MS MPEG4 v3)"}, 135 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('div4'), "DivX ;-) (MS MPEG4 v3)"}, 136 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('DIV5'), "DivX ;-) (MS MPEG4 v3)"}, 137 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('div5'), "DivX ;-) (MS MPEG4 v3)"}, 138 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('DIV6'), "DivX ;-) (MS MPEG4 v3)"}, 139 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('div6'), "DivX ;-) (MS MPEG4 v3)"}, 140 {CODEC_ID_MSMPEG4V1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('MP41'), "MS MPEG4 v1"}, /* microsoft mpeg4 v1 */ 141 {CODEC_ID_MSMPEG4V1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('mp41'), "MS MPEG4 v1"}, /* microsoft mpeg4 v1 */ 142 {CODEC_ID_MSMPEG4V2, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('MP42'), "MS MPEG4 v2"}, /* seems to be broken */ 143 {CODEC_ID_MSMPEG4V2, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('mp42'), "MS MPEG4 v2"}, /* seems to be broken */ 144 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('MP43'), "MS MPEG4 v3"}, /* microsoft mpeg4 v3 */ 145 {CODEC_ID_MPEG4, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('S4PM'), "MPEG4"}, /* mpeg4 */ 146 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('34PM'), "MS MPEG4 v3"}, /* microsoft mpeg4 v3 */ 147 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('mp43'), "MS MPEG4 v3"}, /* microsoft mpeg4 v3 */ 148 {CODEC_ID_MSMPEG4V1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('MPG4'), "MS MPEG4"}, 149 {CODEC_ID_MSMPEG4V3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('AP41'), "Angel Potion (MS MPEG4 v3)"}, /* AngelPotion 1 (it's so simple to release a new codec... :^) ) */ 150 151 {CODEC_ID_WMV1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('WMV1'), "Microsoft WMV v1"}, 152 {CODEC_ID_WMV2, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('WMV2'), "Microsoft WMV v2"}, 153 {CODEC_ID_WMV3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('WMV3'), "Microsoft WMV v3"}, 154 155 //SVQ1 156 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'SVQ1', "Sorenson Video v1"}, 157 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'svq1', "Sorenson Video v1"}, 158 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'SVQ1', "Sorenson Video v1"}, 159 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'svq1', "Sorenson Video v1"}, 160 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'svqi', "Sorenson Video v1"}, /* (from QT specs) */ 161 162 {CODEC_ID_SVQ3, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'SVQ3', "Sorenson Video v3"}, 163 {CODEC_ID_SVQ3, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'svq3', "Sorenson Video v3"}, 164 165 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, '1QVS', "Sorenson Video v1"}, 166 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, '1qvs', "Sorenson Video v1"}, 167 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, '1QVS', "Sorenson Video v1"}, 168 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, '1qvs', "Sorenson Video v1"}, 169 {CODEC_ID_SVQ1, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'iqvs', "Sorenson Video v1"}, /* (from QT specs) */ 170 171 {CODEC_ID_SVQ3, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, '3QVS', "Sorenson Video v3"}, 172 {CODEC_ID_SVQ3, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, '3qvs', "Sorenson Video v3"}, 173 174 /* 175 {CODEC_ID_RV10, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'RV10', "RealVideo v1"}, 176 {CODEC_ID_RV10, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'rv10', "RealVideo v1"}, 177 {CODEC_ID_RV10, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'RV10', "RealVideo v1"}, 178 {CODEC_ID_RV10, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'rv10', "RealVideo v1"}, 179 */ 180 {CODEC_ID_DVVIDEO, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('dvsd'), "DV Video"}, 181 {CODEC_ID_DVVIDEO, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('DVSD'), "DV Video"}, 182 {CODEC_ID_DVVIDEO, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('dvhd'), "DV Video"}, 183 {CODEC_ID_DVVIDEO, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('dvsl'), "DV Video"}, 184 {CODEC_ID_DVVIDEO, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('dv25'), "DV Video"}, 185 {CODEC_ID_DVVIDEO, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'dvc ', "DV Video"}, 186 {CODEC_ID_DVVIDEO, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'dvcp', "DV Video"}, 187 188 {CODEC_ID_MPEG1VIDEO, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'MPG1', "MPEG1 Video"}, 189 {CODEC_ID_MPEG1VIDEO, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'MPG2', "MPEG1 Video"}, 190 {CODEC_ID_MPEG1VIDEO, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'PIM1', "MPEG1 Video"}, 191 192 {CODEC_ID_MPEG1VIDEO, B_MEDIA_ENCODED_VIDEO, B_MPEG_FORMAT_FAMILY, B_MPEG_1_VIDEO, "MPEG1 Video"}, 193 {CODEC_ID_MPEG2VIDEO, B_MEDIA_ENCODED_VIDEO, B_MPEG_FORMAT_FAMILY, B_MPEG_2_VIDEO, "MPEG2 Video"}, 194 195 {CODEC_ID_INDEO3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('iv31'), "Indeo 3"}, 196 {CODEC_ID_INDEO3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('iv32'), "Indeo 3"}, 197 {CODEC_ID_INDEO3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('IV31'), "Indeo 3"}, 198 {CODEC_ID_INDEO3, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('IV32'), "Indeo 3"}, 199 200 {CODEC_ID_INDEO5, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('iv50'), "Indeo 5"}, 201 {CODEC_ID_INDEO5, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('IV50'), "Indeo 5"}, 202 203 {CODEC_ID_VP3, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'VP31', "On2 VP3"}, 204 {CODEC_ID_VP6F, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'VP6F', "On2 VP6"}, 205 206 {CODEC_ID_CYUV, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'cyuv', "CYUV"}, 207 {CODEC_ID_CYUV, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'CYUV', "CYUV"}, 208 209 {CODEC_ID_NONE, B_MEDIA_UNKNOWN_TYPE, B_ANY_FORMAT_FAMILY, 0, "null codec !!!"} 210 }; 211 212 const int gCodecCount = (sizeof(gCodecTable) / sizeof(codec_table) - 1); 213 214 215 media_format gAVCodecFormats[sizeof(gCodecTable)]; 216 217