Mercurial > libavformat.hg
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 */ |