Originally committed as revision 9801 to svn://svn.ffmpeg.org/ffmpeg/trunk
Aurelien Jacobs authored on 2007/07/26 22:01:09... | ... |
@@ -20,33 +20,7 @@ |
20 | 20 |
*/ |
21 | 21 |
#include "avformat.h" |
22 | 22 |
#include "common.h" |
23 |
- |
|
24 |
-typedef enum { |
|
25 |
- PKT_MAP = 0xbc, |
|
26 |
- PKT_MEDIA = 0xbf, |
|
27 |
- PKT_EOS = 0xfb, |
|
28 |
- PKT_FLT = 0xfc, |
|
29 |
- PKT_UMF = 0xfd |
|
30 |
-} pkt_type_t; |
|
31 |
- |
|
32 |
-typedef enum { |
|
33 |
- MAT_NAME = 0x40, |
|
34 |
- MAT_FIRST_FIELD = 0x41, |
|
35 |
- MAT_LAST_FIELD = 0x42, |
|
36 |
- MAT_MARK_IN = 0x43, |
|
37 |
- MAT_MARK_OUT = 0x44, |
|
38 |
- MAT_SIZE = 0x45 |
|
39 |
-} mat_tag_t; |
|
40 |
- |
|
41 |
-typedef enum { |
|
42 |
- TRACK_NAME = 0x4c, |
|
43 |
- TRACK_AUX = 0x4d, |
|
44 |
- TRACK_VER = 0x4e, |
|
45 |
- TRACK_MPG_AUX = 0x4f, |
|
46 |
- TRACK_FPS = 0x50, |
|
47 |
- TRACK_LINES = 0x51, |
|
48 |
- TRACK_FPF = 0x52 |
|
49 |
-} track_tag_t; |
|
23 |
+#include "gxf.h" |
|
50 | 24 |
|
51 | 25 |
typedef struct { |
52 | 26 |
int64_t first_field; |
... | ... |
@@ -31,4 +31,23 @@ typedef enum { |
31 | 31 |
PKT_UMF = 0xfd |
32 | 32 |
} pkt_type_t; |
33 | 33 |
|
34 |
+typedef enum { |
|
35 |
+ MAT_NAME = 0x40, |
|
36 |
+ MAT_FIRST_FIELD = 0x41, |
|
37 |
+ MAT_LAST_FIELD = 0x42, |
|
38 |
+ MAT_MARK_IN = 0x43, |
|
39 |
+ MAT_MARK_OUT = 0x44, |
|
40 |
+ MAT_SIZE = 0x45, |
|
41 |
+} mat_tag_t; |
|
42 |
+ |
|
43 |
+typedef enum { |
|
44 |
+ TRACK_NAME = 0x4c, |
|
45 |
+ TRACK_AUX = 0x4d, |
|
46 |
+ TRACK_VER = 0x4e, |
|
47 |
+ TRACK_MPG_AUX = 0x4f, |
|
48 |
+ TRACK_FPS = 0x50, |
|
49 |
+ TRACK_LINES = 0x51, |
|
50 |
+ TRACK_FPF = 0x52, |
|
51 |
+} track_tag_t; |
|
52 |
+ |
|
34 | 53 |
#endif /* FFMPEG_GXF_H */ |
... | ... |
@@ -187,7 +187,7 @@ static int gxf_write_mpeg_auxiliary(ByteIOContext *pb, GXFStreamContext *ctx) |
187 | 187 |
(float)ctx->codec->bit_rate, ctx->p_per_gop, ctx->b_per_gop, |
188 | 188 |
ctx->codec->pix_fmt == PIX_FMT_YUV422P ? 2 : 1, ctx->first_gop_closed == 1, |
189 | 189 |
ctx->codec->height / 16); |
190 |
- put_byte(pb, 0x4F); |
|
190 |
+ put_byte(pb, TRACK_MPG_AUX); |
|
191 | 191 |
put_byte(pb, size + 1); |
192 | 192 |
put_buffer(pb, (uint8_t *)buffer, size + 1); |
193 | 193 |
return size + 3; |
... | ... |
@@ -217,7 +217,7 @@ static int gxf_write_track_description(ByteIOContext *pb, GXFStreamContext *stre |
217 | 217 |
put_be16(pb, 0); /* size */ |
218 | 218 |
|
219 | 219 |
/* media file name */ |
220 |
- put_byte(pb, 0x4C); |
|
220 |
+ put_byte(pb, TRACK_NAME); |
|
221 | 221 |
put_byte(pb, strlen(ES_NAME_PATTERN) + 3); |
222 | 222 |
put_tag(pb, ES_NAME_PATTERN); |
223 | 223 |
put_be16(pb, stream->media_info); |
... | ... |
@@ -225,7 +225,7 @@ static int gxf_write_track_description(ByteIOContext *pb, GXFStreamContext *stre |
225 | 225 |
|
226 | 226 |
if (stream->codec->codec_id != CODEC_ID_MPEG2VIDEO) { |
227 | 227 |
/* auxiliary information */ |
228 |
- put_byte(pb, 0x4D); |
|
228 |
+ put_byte(pb, TRACK_AUX); |
|
229 | 229 |
put_byte(pb, 8); |
230 | 230 |
if (stream->codec->codec_id == CODEC_ID_NONE) |
231 | 231 |
gxf_write_timecode_auxiliary(pb, stream); |
... | ... |
@@ -234,7 +234,7 @@ static int gxf_write_track_description(ByteIOContext *pb, GXFStreamContext *stre |
234 | 234 |
} |
235 | 235 |
|
236 | 236 |
/* file system version */ |
237 |
- put_byte(pb, 0x4E); |
|
237 |
+ put_byte(pb, TRACK_VER); |
|
238 | 238 |
put_byte(pb, 4); |
239 | 239 |
put_be32(pb, 0); |
240 | 240 |
|
... | ... |
@@ -242,17 +242,17 @@ static int gxf_write_track_description(ByteIOContext *pb, GXFStreamContext *stre |
242 | 242 |
gxf_write_mpeg_auxiliary(pb, stream); |
243 | 243 |
|
244 | 244 |
/* frame rate */ |
245 |
- put_byte(pb, 0x50); |
|
245 |
+ put_byte(pb, TRACK_FPS); |
|
246 | 246 |
put_byte(pb, 4); |
247 | 247 |
put_be32(pb, stream->frame_rate_index); |
248 | 248 |
|
249 | 249 |
/* lines per frame */ |
250 |
- put_byte(pb, 0x51); |
|
250 |
+ put_byte(pb, TRACK_LINES); |
|
251 | 251 |
put_byte(pb, 4); |
252 | 252 |
put_be32(pb, stream->lines_index); |
253 | 253 |
|
254 | 254 |
/* fields per frame */ |
255 |
- put_byte(pb, 0x52); |
|
255 |
+ put_byte(pb, TRACK_FPF); |
|
256 | 256 |
put_byte(pb, 4); |
257 | 257 |
put_be32(pb, stream->fields); |
258 | 258 |
|
... | ... |
@@ -272,33 +272,33 @@ static int gxf_write_material_data_section(ByteIOContext *pb, GXFContext *ctx) |
272 | 272 |
filename++; |
273 | 273 |
else |
274 | 274 |
filename = ctx->fc->filename; |
275 |
- put_byte(pb, 0x40); |
|
275 |
+ put_byte(pb, MAT_NAME); |
|
276 | 276 |
put_byte(pb, strlen(SERVER_PATH) + strlen(filename) + 1); |
277 | 277 |
put_tag(pb, SERVER_PATH); |
278 | 278 |
put_tag(pb, filename); |
279 | 279 |
put_byte(pb, 0); |
280 | 280 |
|
281 | 281 |
/* first field */ |
282 |
- put_byte(pb, 0x41); |
|
282 |
+ put_byte(pb, MAT_FIRST_FIELD); |
|
283 | 283 |
put_byte(pb, 4); |
284 | 284 |
put_be32(pb, 0); |
285 | 285 |
|
286 | 286 |
/* last field */ |
287 |
- put_byte(pb, 0x42); |
|
287 |
+ put_byte(pb, MAT_LAST_FIELD); |
|
288 | 288 |
put_byte(pb, 4); |
289 | 289 |
put_be32(pb, ctx->nb_frames); |
290 | 290 |
|
291 | 291 |
/* reserved */ |
292 |
- put_byte(pb, 0x43); |
|
292 |
+ put_byte(pb, MAT_MARK_IN); |
|
293 | 293 |
put_byte(pb, 4); |
294 | 294 |
put_be32(pb, 0); |
295 | 295 |
|
296 |
- put_byte(pb, 0x44); |
|
296 |
+ put_byte(pb, MAT_MARK_OUT); |
|
297 | 297 |
put_byte(pb, 4); |
298 | 298 |
put_be32(pb, ctx->nb_frames); |
299 | 299 |
|
300 | 300 |
/* estimated size */ |
301 |
- put_byte(pb, 0x45); |
|
301 |
+ put_byte(pb, MAT_SIZE); |
|
302 | 302 |
put_byte(pb, 4); |
303 | 303 |
put_be32(pb, url_fsize(pb) / 1024); |
304 | 304 |
|