|
|
|
@ -195,7 +195,7 @@ static const uint8_t umid_base[] = { 0x06,0x0A,0x2B,0x34,0x01,0x01,0x |
|
|
|
|
/**
|
|
|
|
|
* complete key for operation pattern, partitions, and primer pack |
|
|
|
|
*/ |
|
|
|
|
static const uint8_t op1a_ul[] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x01,0x01,0x00 }; |
|
|
|
|
static const uint8_t op1a_ul[] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x01,0x09,0x00 }; |
|
|
|
|
static const uint8_t footer_partition_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x04,0x04,0x00 }; // ClosedComplete
|
|
|
|
|
static const uint8_t primer_pack_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x05,0x01,0x01,0x0D,0x01,0x02,0x01,0x01,0x05,0x01,0x00 }; |
|
|
|
|
static const uint8_t index_table_segment_key[] = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x10,0x01,0x00 }; |
|
|
|
@ -465,12 +465,7 @@ static void mxf_write_preface(AVFormatContext *s) |
|
|
|
|
|
|
|
|
|
// operational pattern
|
|
|
|
|
mxf_write_local_tag(pb, 16, 0x3B09); |
|
|
|
|
if (s->nb_streams > 1) { |
|
|
|
|
put_buffer(pb, op1a_ul, 14); |
|
|
|
|
put_be16(pb, 0x0900); // multi track
|
|
|
|
|
} else { |
|
|
|
|
put_buffer(pb, op1a_ul, 16); |
|
|
|
|
} |
|
|
|
|
put_buffer(pb, op1a_ul, 16); |
|
|
|
|
|
|
|
|
|
// write essence_container_refs
|
|
|
|
|
mxf_write_local_tag(pb, 8 + 16 * mxf->essence_container_count, 0x3B0A); |
|
|
|
@ -1234,12 +1229,7 @@ static void mxf_write_partition(AVFormatContext *s, int bodysid, |
|
|
|
|
put_be32(pb, bodysid); // bodySID
|
|
|
|
|
|
|
|
|
|
// operational pattern
|
|
|
|
|
if (s->nb_streams > 1) { |
|
|
|
|
put_buffer(pb, op1a_ul, 14); |
|
|
|
|
put_be16(pb, 0x0900); // multi track
|
|
|
|
|
} else { |
|
|
|
|
put_buffer(pb, op1a_ul, 16); |
|
|
|
|
} |
|
|
|
|
put_buffer(pb, op1a_ul, 16); |
|
|
|
|
|
|
|
|
|
// essence container
|
|
|
|
|
mxf_write_essence_container_refs(s); |
|
|
|
|