root/trunk/CodecIDs.h

Revision 918, 3.5 kB (checked in by astrange, 1 month ago)

Support nellymoser in flv, closes #296

Line 
1 /*
2  *  CodecIDs.h
3  *
4  *  Copyright (c) 2006  David Conrad
5  *
6  *  This program is free software; you can redistribute it and/or
7  *  modify it under the terms of the GNU Lesser General Public
8  *  License as published by the Free Software Foundation;
9  *  version 2.1 of the License.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  *  Lesser General Public License for more details.
15  *
16  *  You should have received a copy of the GNU Lesser General Public
17  *  License along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  *
20  */
21
22 #ifndef __CODECIDS_H__
23 #define __CODECIDS_H__
24
25 enum {
26         // these are atoms/extension types defined by XiphQT for their codecs
27         kCookieTypeOggSerialNo = 'oCtN',
28        
29         kCookieTypeVorbisHeader = 'vCtH',
30         kCookieTypeVorbisComments = 'vCt#',
31         kCookieTypeVorbisCodebooks = 'vCtC',
32         kCookieTypeVorbisFirstPageNo = 'vCtN',
33
34         kCookieTypeSpeexHeader = 'sCtH',
35         kCookieTypeSpeexComments = 'sCt#',
36         kCookieTypeSpeexExtraHeader     = 'sCtX',
37
38         kCookieTypeTheoraHeader = 'tCtH',
39         kCookieTypeTheoraComments = 'tCt#',
40         kCookieTypeTheoraCodebooks = 'tCtC',
41
42         kCookieTypeFLACStreaminfo = 'fCtS',
43         kCookieTypeFLACMetadata = 'fCtM',
44
45         kTheoraDescExtension = 'XdxT',
46        
47        
48         // contains same as MKV's codec private for real video
49         kRealVideoExtension = 'RVex',
50        
51         // contains the .idx file for vobsub (codec private in mkv)
52         kVobSubIdxExtension = '.IDX',
53        
54         // contains a single byte equal to the ContentCompAlgo element in matroska
55         kMKVCompressionExtension = 'MCmp',
56 };
57
58
59 enum {
60         // XiphQT's codec IDs
61         kAudioFormatXiphVorbis                  = 'XiVs',
62         kAudioFormatXiphSpeex                   = 'XiSp',
63         kAudioFormatXiphFLAC                    = 'XiFL',
64         kVideoFormatXiphTheora                  = 'XiTh',
65        
66         // the samples for these codec IDs are OGG pages containing the actual codec data
67         kAudioFormatXiphOggFramedVorbis         = 'XoVs',
68         kAudioFormatXiphOggFramedSpeex          = 'XoSp',
69         kAudioFormatXiphOggFramedFLAC           = 'XoFL',
70        
71         // these are 'ms' + the wav/avi twocc
72         kAudioFormatAC3MS                       = 0x6D732000,
73         kAudioFormatWMA1MS                      = 0x6D730160,
74         kAudioFormatWMA2MS                      = 0x6D730161,
75        
76         kVideoFormatMSMPEG4v3                   = 'MP43',
77         kMPEG1VisualCodecType                   = 'MPEG',
78         kMPEG2VisualCodecType                   = 'MPG2',
79         kVideoFormatReal5                       = 'RV10',
80         kVideoFormatRealG2                      = 'RV20',
81         kVideoFormatReal8                       = 'RV30',
82         kVideoFormatReal9                       = 'RV40',
83         kVideoFormatSnow                        = 'SNOW',
84        
85         kAudioFormatFlashADPCM                  = 'FlAd',
86         kAudioFormatDTS                         = 'DTS ',
87         kAudioFormatTTA                         = 'TTA1',
88         kAudioFormatWavepack                    = 'WVPK',
89         kAudioFormatReal1                       = '14_4',
90         kAudioFormatReal2                       = '28_8',
91         kAudioFormatRealCook                    = 'COOK',
92         kAudioFormatRealSipro                   = 'SIPR',
93         kAudioFormatRealLossless                = 'RALF',
94         kAudioFormatRealAtrac3                  = 'ATRC',
95         kAudioFormatNellymoser                                  = 'NELL',
96        
97         kSubFormatUTF8                          = 'SRT ',
98         kSubFormatSSA                           = 'SSA ',
99         kSubFormatASS                           = 'ASS ',
100         kSubFormatUSF                           = 'USF ',
101         kSubFormatVobSub                        = 'SPU ',
102 };
103
104 #endif
Note: See TracBrowser for help on using the browser.