replaces hardcoded values by the equivalent enum definitions

Originally committed as revision 9801 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Aurelien Jacobs 18 years ago
parent 4d8243d362
commit b1dc5beb12
  1. 28
      libavformat/gxf.c
  2. 19
      libavformat/gxf.h
  3. 26
      libavformat/gxfenc.c

@ -20,33 +20,7 @@
*/ */
#include "avformat.h" #include "avformat.h"
#include "common.h" #include "common.h"
#include "gxf.h"
typedef enum {
PKT_MAP = 0xbc,
PKT_MEDIA = 0xbf,
PKT_EOS = 0xfb,
PKT_FLT = 0xfc,
PKT_UMF = 0xfd
} pkt_type_t;
typedef enum {
MAT_NAME = 0x40,
MAT_FIRST_FIELD = 0x41,
MAT_LAST_FIELD = 0x42,
MAT_MARK_IN = 0x43,
MAT_MARK_OUT = 0x44,
MAT_SIZE = 0x45
} mat_tag_t;
typedef enum {
TRACK_NAME = 0x4c,
TRACK_AUX = 0x4d,
TRACK_VER = 0x4e,
TRACK_MPG_AUX = 0x4f,
TRACK_FPS = 0x50,
TRACK_LINES = 0x51,
TRACK_FPF = 0x52
} track_tag_t;
typedef struct { typedef struct {
int64_t first_field; int64_t first_field;

@ -31,4 +31,23 @@ typedef enum {
PKT_UMF = 0xfd PKT_UMF = 0xfd
} pkt_type_t; } pkt_type_t;
typedef enum {
MAT_NAME = 0x40,
MAT_FIRST_FIELD = 0x41,
MAT_LAST_FIELD = 0x42,
MAT_MARK_IN = 0x43,
MAT_MARK_OUT = 0x44,
MAT_SIZE = 0x45,
} mat_tag_t;
typedef enum {
TRACK_NAME = 0x4c,
TRACK_AUX = 0x4d,
TRACK_VER = 0x4e,
TRACK_MPG_AUX = 0x4f,
TRACK_FPS = 0x50,
TRACK_LINES = 0x51,
TRACK_FPF = 0x52,
} track_tag_t;
#endif /* FFMPEG_GXF_H */ #endif /* FFMPEG_GXF_H */

@ -187,7 +187,7 @@ static int gxf_write_mpeg_auxiliary(ByteIOContext *pb, GXFStreamContext *ctx)
(float)ctx->codec->bit_rate, ctx->p_per_gop, ctx->b_per_gop, (float)ctx->codec->bit_rate, ctx->p_per_gop, ctx->b_per_gop,
ctx->codec->pix_fmt == PIX_FMT_YUV422P ? 2 : 1, ctx->first_gop_closed == 1, ctx->codec->pix_fmt == PIX_FMT_YUV422P ? 2 : 1, ctx->first_gop_closed == 1,
ctx->codec->height / 16); ctx->codec->height / 16);
put_byte(pb, 0x4F); put_byte(pb, TRACK_MPG_AUX);
put_byte(pb, size + 1); put_byte(pb, size + 1);
put_buffer(pb, (uint8_t *)buffer, size + 1); put_buffer(pb, (uint8_t *)buffer, size + 1);
return size + 3; return size + 3;
@ -217,7 +217,7 @@ static int gxf_write_track_description(ByteIOContext *pb, GXFStreamContext *stre
put_be16(pb, 0); /* size */ put_be16(pb, 0); /* size */
/* media file name */ /* media file name */
put_byte(pb, 0x4C); put_byte(pb, TRACK_NAME);
put_byte(pb, strlen(ES_NAME_PATTERN) + 3); put_byte(pb, strlen(ES_NAME_PATTERN) + 3);
put_tag(pb, ES_NAME_PATTERN); put_tag(pb, ES_NAME_PATTERN);
put_be16(pb, stream->media_info); put_be16(pb, stream->media_info);
@ -225,7 +225,7 @@ static int gxf_write_track_description(ByteIOContext *pb, GXFStreamContext *stre
if (stream->codec->codec_id != CODEC_ID_MPEG2VIDEO) { if (stream->codec->codec_id != CODEC_ID_MPEG2VIDEO) {
/* auxiliary information */ /* auxiliary information */
put_byte(pb, 0x4D); put_byte(pb, TRACK_AUX);
put_byte(pb, 8); put_byte(pb, 8);
if (stream->codec->codec_id == CODEC_ID_NONE) if (stream->codec->codec_id == CODEC_ID_NONE)
gxf_write_timecode_auxiliary(pb, stream); gxf_write_timecode_auxiliary(pb, stream);
@ -234,7 +234,7 @@ static int gxf_write_track_description(ByteIOContext *pb, GXFStreamContext *stre
} }
/* file system version */ /* file system version */
put_byte(pb, 0x4E); put_byte(pb, TRACK_VER);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, 0); put_be32(pb, 0);
@ -242,17 +242,17 @@ static int gxf_write_track_description(ByteIOContext *pb, GXFStreamContext *stre
gxf_write_mpeg_auxiliary(pb, stream); gxf_write_mpeg_auxiliary(pb, stream);
/* frame rate */ /* frame rate */
put_byte(pb, 0x50); put_byte(pb, TRACK_FPS);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, stream->frame_rate_index); put_be32(pb, stream->frame_rate_index);
/* lines per frame */ /* lines per frame */
put_byte(pb, 0x51); put_byte(pb, TRACK_LINES);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, stream->lines_index); put_be32(pb, stream->lines_index);
/* fields per frame */ /* fields per frame */
put_byte(pb, 0x52); put_byte(pb, TRACK_FPF);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, stream->fields); put_be32(pb, stream->fields);
@ -272,33 +272,33 @@ static int gxf_write_material_data_section(ByteIOContext *pb, GXFContext *ctx)
filename++; filename++;
else else
filename = ctx->fc->filename; filename = ctx->fc->filename;
put_byte(pb, 0x40); put_byte(pb, MAT_NAME);
put_byte(pb, strlen(SERVER_PATH) + strlen(filename) + 1); put_byte(pb, strlen(SERVER_PATH) + strlen(filename) + 1);
put_tag(pb, SERVER_PATH); put_tag(pb, SERVER_PATH);
put_tag(pb, filename); put_tag(pb, filename);
put_byte(pb, 0); put_byte(pb, 0);
/* first field */ /* first field */
put_byte(pb, 0x41); put_byte(pb, MAT_FIRST_FIELD);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, 0); put_be32(pb, 0);
/* last field */ /* last field */
put_byte(pb, 0x42); put_byte(pb, MAT_LAST_FIELD);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, ctx->nb_frames); put_be32(pb, ctx->nb_frames);
/* reserved */ /* reserved */
put_byte(pb, 0x43); put_byte(pb, MAT_MARK_IN);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, 0); put_be32(pb, 0);
put_byte(pb, 0x44); put_byte(pb, MAT_MARK_OUT);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, ctx->nb_frames); put_be32(pb, ctx->nb_frames);
/* estimated size */ /* estimated size */
put_byte(pb, 0x45); put_byte(pb, MAT_SIZE);
put_byte(pb, 4); put_byte(pb, 4);
put_be32(pb, url_fsize(pb) / 1024); put_be32(pb, url_fsize(pb) / 1024);

Loading…
Cancel
Save