comparison matroska.h @ 2973:910ac68ab3b5 libavformat

Add support for Matroska attachments. patch by eugeni _dot_ stepanov _at_ gmail.com and myself
author aurel
date Sun, 27 Jan 2008 15:43:17 +0000
parents 616fb87724b5
children 807c5f54e8b5
comparison
equal deleted inserted replaced
2972:bc330130bdce 2973:910ac68ab3b5
53 #define MATROSKA_ID_INFO 0x1549A966 53 #define MATROSKA_ID_INFO 0x1549A966
54 #define MATROSKA_ID_TRACKS 0x1654AE6B 54 #define MATROSKA_ID_TRACKS 0x1654AE6B
55 #define MATROSKA_ID_CUES 0x1C53BB6B 55 #define MATROSKA_ID_CUES 0x1C53BB6B
56 #define MATROSKA_ID_TAGS 0x1254C367 56 #define MATROSKA_ID_TAGS 0x1254C367
57 #define MATROSKA_ID_SEEKHEAD 0x114D9B74 57 #define MATROSKA_ID_SEEKHEAD 0x114D9B74
58 #define MATROSKA_ID_ATTACHMENTS 0x1941A469
58 #define MATROSKA_ID_CLUSTER 0x1F43B675 59 #define MATROSKA_ID_CLUSTER 0x1F43B675
59 60
60 /* IDs in the info master */ 61 /* IDs in the info master */
61 #define MATROSKA_ID_TIMECODESCALE 0x2AD7B1 62 #define MATROSKA_ID_TIMECODESCALE 0x2AD7B1
62 #define MATROSKA_ID_DURATION 0x4489 63 #define MATROSKA_ID_DURATION 0x4489
136 /* IDs in the blockgroup master */ 137 /* IDs in the blockgroup master */
137 #define MATROSKA_ID_BLOCK 0xA1 138 #define MATROSKA_ID_BLOCK 0xA1
138 #define MATROSKA_ID_BLOCKDURATION 0x9B 139 #define MATROSKA_ID_BLOCKDURATION 0x9B
139 #define MATROSKA_ID_BLOCKREFERENCE 0xFB 140 #define MATROSKA_ID_BLOCKREFERENCE 0xFB
140 141
142 /* IDs in the attachments master */
143 #define MATROSKA_ID_ATTACHEDFILE 0x61A7
144 #define MATROSKA_ID_FILENAME 0x466E
145 #define MATROSKA_ID_FILEMIMETYPE 0x4660
146 #define MATROSKA_ID_FILEDATA 0x465C
147 #define MATROSKA_ID_FILEUID 0x46AE
148
141 typedef enum { 149 typedef enum {
142 MATROSKA_TRACK_TYPE_VIDEO = 0x1, 150 MATROSKA_TRACK_TYPE_VIDEO = 0x1,
143 MATROSKA_TRACK_TYPE_AUDIO = 0x2, 151 MATROSKA_TRACK_TYPE_AUDIO = 0x2,
144 MATROSKA_TRACK_TYPE_COMPLEX = 0x3, 152 MATROSKA_TRACK_TYPE_COMPLEX = 0x3,
145 MATROSKA_TRACK_TYPE_LOGO = 0x10, 153 MATROSKA_TRACK_TYPE_LOGO = 0x10,
183 typedef struct CodecTags{ 191 typedef struct CodecTags{
184 char str[16]; 192 char str[16];
185 enum CodecID id; 193 enum CodecID id;
186 }CodecTags; 194 }CodecTags;
187 195
196 typedef struct CodecMime{
197 char str[32];
198 enum CodecID id;
199 }CodecMime;
200
188 #define MATROSKA_CODEC_ID_VIDEO_VFW_FOURCC "V_MS/VFW/FOURCC" 201 #define MATROSKA_CODEC_ID_VIDEO_VFW_FOURCC "V_MS/VFW/FOURCC"
189 #define MATROSKA_CODEC_ID_AUDIO_ACM "A_MS/ACM" 202 #define MATROSKA_CODEC_ID_AUDIO_ACM "A_MS/ACM"
190 203
191 /* max. depth in the EBML tree structure */ 204 /* max. depth in the EBML tree structure */
192 #define EBML_MAX_DEPTH 16 205 #define EBML_MAX_DEPTH 16
193 206
194 extern const CodecTags ff_mkv_codec_tags[]; 207 extern const CodecTags ff_mkv_codec_tags[];
208 extern const CodecMime ff_mkv_mime_tags[];
195 209
196 #endif /* FFMPEG_MATROSKA_H */ 210 #endif /* FFMPEG_MATROSKA_H */