aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-08-31 04:24:00 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-08-31 04:24:00 +0000
commit98f7c5e067b40e93b693a392e30f59af480dadc2 (patch)
tree84213d66ae8ff6e538beee3ea56b2c7bf710f891
parenta4d7a6781ad13ae846ccd1dbcf04942b01bb0b79 (diff)
downloadffmpeg-98f7c5e067b40e93b693a392e30f59af480dadc2.tar.gz
move mxf_write_package to permit function merge
Originally committed as revision 15112 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/mxfenc.c94
1 files changed, 47 insertions, 47 deletions
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 4b75095ab8..5fcffd87a6 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -392,53 +392,6 @@ static void mxf_write_content_storage(AVFormatContext *s)
mxf_write_uuid(pb, SourcePackage, 0);
}
-static void mxf_write_package(AVFormatContext *s, enum MXFMetadataSetType type)
-{
- ByteIOContext *pb = s->pb;
- int i;
-
- if (type == MaterialPackage) {
- mxf_write_metadata_key(pb, 0x013600);
- PRINT_KEY(s, "Material Package key", pb->buf_ptr - 16);
- klv_encode_ber_length(pb, 92 + 16 * s->nb_streams);
- } else {
- mxf_write_metadata_key(pb, 0x013700);
- PRINT_KEY(s, "Source Package key", pb->buf_ptr - 16);
- klv_encode_ber_length(pb, 112 + 16 * s->nb_streams); // 20 bytes length for descriptor reference
- }
-
- // write uid
- mxf_write_local_tag(pb, 16, 0x3C0A);
- mxf_write_uuid(pb, type, 0);
- av_log(s,AV_LOG_DEBUG, "package type:%d\n", type);
- PRINT_KEY(s, "package uid", pb->buf_ptr - 16);
-
- // write package umid
- mxf_write_local_tag(pb, 32, 0x4401);
- mxf_write_umid(pb, type, 0);
- PRINT_KEY(s, "package umid second part", pb->buf_ptr - 16);
-
- // write create date
- mxf_write_local_tag(pb, 8, 0x4405);
- put_be64(pb, 0);
-
- // write modified date
- mxf_write_local_tag(pb, 8, 0x4404);
- put_be64(pb, 0);
-
- // write track refs
- mxf_write_local_tag(pb, s->nb_streams * 16 + 8, 0x4403);
- mxf_write_refs_count(pb, s->nb_streams);
- for (i = 0; i < s->nb_streams; i++)
- mxf_write_uuid(pb, type == MaterialPackage ? Track : Track + TypeBottom, i);
-
- // write multiple descriptor reference
- if (type == SourcePackage) {
- mxf_write_local_tag(pb, 16, 0x4701);
- mxf_write_uuid(pb, MultipleDescriptor, 0);
- }
-}
-
static void mxf_write_track(AVFormatContext *s, AVStream *st, enum MXFMetadataSetType type)
{
ByteIOContext *pb = s->pb;
@@ -638,6 +591,53 @@ static void mxf_write_wav_desc(AVFormatContext *s, AVStream *st)
put_be32(pb, st->codec->bits_per_sample);
}
+static void mxf_write_package(AVFormatContext *s, enum MXFMetadataSetType type)
+{
+ ByteIOContext *pb = s->pb;
+ int i;
+
+ if (type == MaterialPackage) {
+ mxf_write_metadata_key(pb, 0x013600);
+ PRINT_KEY(s, "Material Package key", pb->buf_ptr - 16);
+ klv_encode_ber_length(pb, 92 + 16 * s->nb_streams);
+ } else {
+ mxf_write_metadata_key(pb, 0x013700);
+ PRINT_KEY(s, "Source Package key", pb->buf_ptr - 16);
+ klv_encode_ber_length(pb, 112 + 16 * s->nb_streams); // 20 bytes length for descriptor reference
+ }
+
+ // write uid
+ mxf_write_local_tag(pb, 16, 0x3C0A);
+ mxf_write_uuid(pb, type, 0);
+ av_log(s,AV_LOG_DEBUG, "package type:%d\n", type);
+ PRINT_KEY(s, "package uid", pb->buf_ptr - 16);
+
+ // write package umid
+ mxf_write_local_tag(pb, 32, 0x4401);
+ mxf_write_umid(pb, type, 0);
+ PRINT_KEY(s, "package umid second part", pb->buf_ptr - 16);
+
+ // write create date
+ mxf_write_local_tag(pb, 8, 0x4405);
+ put_be64(pb, 0);
+
+ // write modified date
+ mxf_write_local_tag(pb, 8, 0x4404);
+ put_be64(pb, 0);
+
+ // write track refs
+ mxf_write_local_tag(pb, s->nb_streams * 16 + 8, 0x4403);
+ mxf_write_refs_count(pb, s->nb_streams);
+ for (i = 0; i < s->nb_streams; i++)
+ mxf_write_uuid(pb, type == MaterialPackage ? Track : Track + TypeBottom, i);
+
+ // write multiple descriptor reference
+ if (type == SourcePackage) {
+ mxf_write_local_tag(pb, 16, 0x4701);
+ mxf_write_uuid(pb, MultipleDescriptor, 0);
+ }
+}
+
static void mxf_build_structural_metadata(AVFormatContext *s, enum MXFMetadataSetType type)
{
int i;