diff options
-rw-r--r-- | gst/mxf/mxfmetadata.c | 724 | ||||
-rw-r--r-- | gst/mxf/mxful.c | 384 | ||||
-rw-r--r-- | gst/mxf/mxful.h | 122 |
3 files changed, 635 insertions, 595 deletions
diff --git a/gst/mxf/mxfmetadata.c b/gst/mxf/mxfmetadata.c index b42dfc08..81a89e02 100644 --- a/gst/mxf/mxfmetadata.c +++ b/gst/mxf/mxfmetadata.c @@ -397,30 +397,18 @@ mxf_metadata_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) GList *ret = NULL; MXFLocalTag *t; MXFMetadataClass *klass; - static const guint8 metadata_key[] = { - 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, - 0x0d, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 instance_uid_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x15, 0x02, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 generation_uid_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00 - }; g_return_val_if_fail (MXF_IS_METADATA (self), NULL); klass = MXF_METADATA_GET_CLASS (self); /* Last element contains the metadata key */ t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, metadata_key, 16); + memcpy (&t->ul, MXF_UL (METADATA), 16); GST_WRITE_UINT16_BE (&t->ul.u[13], klass->type); ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &instance_uid_ul, 16); + memcpy (&t->ul, MXF_UL (INSTANCE_UID), 16); t->size = 16; t->data = g_slice_alloc (16); t->g_slice = TRUE; @@ -430,7 +418,7 @@ mxf_metadata_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) if (!mxf_uuid_is_zero (&self->parent.generation_uid)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &generation_uid_ul, 16); + memcpy (&t->ul, MXF_UL (GENERATION_UID), 16); t->size = 16; t->data = g_slice_alloc (16); t->g_slice = TRUE; @@ -883,45 +871,9 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) (m, primer); MXFLocalTag *t; guint i; - static const guint8 last_modified_date_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x01, 0x10, 0x02, 0x04, 0x00, 0x00 - }; - static const guint8 version_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x03, 0x01, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00 - }; - static const guint8 object_model_version_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x03, 0x01, 0x02, 0x01, 0x04, 0x00, 0x00, 0x00 - }; - static const guint8 primary_package_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, - 0x06, 0x01, 0x01, 0x04, 0x01, 0x08, 0x00, 0x00 - }; - static const guint8 identifications_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x06, 0x04, 0x00, 0x00 - }; - static const guint8 content_storage_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x02, 0x01, 0x00, 0x00 - }; - static const guint8 operational_pattern_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 essence_containers_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x01, 0x02, 0x02, 0x10, 0x02, 0x01, 0x00, 0x00 - }; - static const guint8 dm_schemes_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x01, 0x02, 0x02, 0x10, 0x02, 0x02, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &last_modified_date_ul, 16); + memcpy (&t->ul, MXF_UL (LAST_MODIFIED_DATE), 16); t->size = 8; t->data = g_slice_alloc (8); t->g_slice = TRUE; @@ -930,7 +882,7 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &version_ul, 16); + memcpy (&t->ul, MXF_UL (VERSION), 16); t->size = 2; t->data = g_slice_alloc (2); t->g_slice = TRUE; @@ -940,7 +892,7 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) if (self->object_model_version) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &object_model_version_ul, 16); + memcpy (&t->ul, MXF_UL (OBJECT_MODEL_VERSION), 16); t->size = 4; t->data = g_slice_alloc (4); t->g_slice = TRUE; @@ -951,7 +903,7 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) if (!mxf_uuid_is_zero (&self->primary_package_uid)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &primary_package_ul, 16); + memcpy (&t->ul, MXF_UL (PRIMARY_PACKAGE), 16); t->size = 16; t->data = g_slice_alloc (16); t->g_slice = TRUE; @@ -961,7 +913,7 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) } t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &identifications_ul, 16); + memcpy (&t->ul, MXF_UL (IDENTIFICATIONS), 16); t->size = 8 + 16 * self->n_identifications; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -978,7 +930,7 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &content_storage_ul, 16); + memcpy (&t->ul, MXF_UL (CONTENT_STORAGE), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -988,7 +940,7 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &operational_pattern_ul, 16); + memcpy (&t->ul, MXF_UL (OPERATIONAL_PATTERN), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -997,7 +949,7 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &essence_containers_ul, 16); + memcpy (&t->ul, MXF_UL (ESSENCE_CONTAINERS), 16); t->size = 8 + 16 * self->n_essence_containers; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -1011,7 +963,7 @@ mxf_metadata_preface_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) if (self->dm_schemes) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &dm_schemes_ul, 16); + memcpy (&t->ul, MXF_UL (DM_SCHEMES), 16); t->size = 8 + 16 * self->n_dm_schemes; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -1237,42 +1189,10 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_identification_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 company_name_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x07, 0x01, 0x02, 0x01, 0x00, 0x00 - }; - static const guint8 product_name_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x07, 0x01, 0x03, 0x01, 0x00, 0x00 - }; - static const guint8 product_version_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x07, 0x01, 0x04, 0x00, 0x00, 0x00 - }; - static const guint8 version_string_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x07, 0x01, 0x05, 0x01, 0x00, 0x00 - }; - static const guint8 product_uid_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x07, 0x01, 0x07, 0x00, 0x00, 0x00 - }; - static const guint8 modification_date_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x01, 0x10, 0x02, 0x03, 0x00, 0x00 - }; - static const guint8 toolkit_version_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x07, 0x01, 0x0A, 0x00, 0x00, 0x00 - }; - static const guint8 platform_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x07, 0x01, 0x06, 0x01, 0x00, 0x00 - }; if (self->company_name) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &company_name_ul, 16); + memcpy (&t->ul, MXF_UL (COMPANY_NAME), 16); t->data = mxf_utf8_to_utf16 (self->company_name, &t->size); mxf_primer_pack_add_mapping (primer, 0x3c01, &t->ul); ret = g_list_prepend (ret, t); @@ -1280,7 +1200,7 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, if (self->product_name) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &product_name_ul, 16); + memcpy (&t->ul, MXF_UL (PRODUCT_NAME), 16); t->data = mxf_utf8_to_utf16 (self->product_name, &t->size); mxf_primer_pack_add_mapping (primer, 0x3c02, &t->ul); ret = g_list_prepend (ret, t); @@ -1288,7 +1208,7 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, if (!mxf_product_version_is_valid (&self->product_version)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &product_version_ul, 16); + memcpy (&t->ul, MXF_UL (PRODUCT_VERSION), 16); t->size = 10; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -1299,7 +1219,7 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, if (self->version_string) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &version_string_ul, 16); + memcpy (&t->ul, MXF_UL (VERSION_STRING), 16); t->data = mxf_utf8_to_utf16 (self->version_string, &t->size); mxf_primer_pack_add_mapping (primer, 0x3c04, &t->ul); ret = g_list_prepend (ret, t); @@ -1307,7 +1227,7 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, if (!mxf_uuid_is_zero (&self->product_uid)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &product_uid_ul, 16); + memcpy (&t->ul, MXF_UL (PRODUCT_UID), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -1318,7 +1238,7 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, if (!mxf_timestamp_is_unknown (&self->modification_date)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &modification_date_ul, 16); + memcpy (&t->ul, MXF_UL (MODIFICATION_DATE), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -1329,7 +1249,7 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, if (!mxf_product_version_is_valid (&self->toolkit_version)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &toolkit_version_ul, 16); + memcpy (&t->ul, MXF_UL (TOOLKIT_VERSION), 16); t->size = 10; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -1340,7 +1260,7 @@ mxf_metadata_identification_write_tags (MXFMetadataBase * m, if (self->platform) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &platform_ul, 16); + memcpy (&t->ul, MXF_UL (PLATFORM), 16); t->data = mxf_utf8_to_utf16 (self->platform, &t->size); mxf_primer_pack_add_mapping (primer, 0x3c08, &t->ul); ret = g_list_prepend (ret, t); @@ -1599,18 +1519,10 @@ mxf_metadata_content_storage_write_tags (MXFMetadataBase * m, (mxf_metadata_content_storage_parent_class)->write_tags (m, primer); MXFLocalTag *t; guint i; - static const guint8 packages_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x05, 0x01, 0x00, 0x00 - }; - static const guint8 essence_container_data_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x05, 0x02, 0x00, 0x00 - }; if (self->packages) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &packages_ul, 16); + memcpy (&t->ul, MXF_UL (PACKAGES), 16); t->size = 8 + 16 * self->n_packages; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -1630,7 +1542,7 @@ mxf_metadata_content_storage_write_tags (MXFMetadataBase * m, if (self->essence_container_data) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &essence_container_data_ul, 16); + memcpy (&t->ul, MXF_UL (ESSENCE_CONTAINER_DATA), 16); t->size = 8 + 16 * self->n_essence_container_data; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -1811,21 +1723,9 @@ mxf_metadata_essence_container_data_write_tags (MXFMetadataBase * m, (mxf_metadata_essence_container_data_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 linked_package_uid_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x06, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 body_sid_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, - 0x01, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 index_sid_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, - 0x01, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &linked_package_uid_ul, 16); + memcpy (&t->ul, MXF_UL (LINKED_PACKAGE_UID), 16); t->size = 32; t->data = g_slice_alloc0 (32); t->g_slice = TRUE; @@ -1835,7 +1735,7 @@ mxf_metadata_essence_container_data_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &body_sid_ul, 16); + memcpy (&t->ul, MXF_UL (BODY_SID), 16); t->size = 4; t->data = g_slice_alloc (4); t->g_slice = TRUE; @@ -1845,7 +1745,7 @@ mxf_metadata_essence_container_data_write_tags (MXFMetadataBase * m, if (self->index_sid) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &index_sid_ul, 16); + memcpy (&t->ul, MXF_UL (INDEX_SID), 16); t->size = 4; t->data = g_slice_alloc (4); t->g_slice = TRUE; @@ -2088,29 +1988,9 @@ mxf_metadata_generic_package_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_generic_package_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 package_uid_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x15, 0x10, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 name_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 package_creation_date_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x01, 0x10, 0x01, 0x03, 0x00, 0x00 - }; - static const guint8 package_modified_date_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x01, 0x10, 0x02, 0x05, 0x00, 0x00 - }; - static const guint8 tracks_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x06, 0x05, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &package_uid_ul, 16); + memcpy (&t->ul, MXF_UL (PACKAGE_UID), 16); t->size = 32; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2120,14 +2000,14 @@ mxf_metadata_generic_package_write_tags (MXFMetadataBase * m, if (self->name) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &name_ul, 16); + memcpy (&t->ul, MXF_UL (PACKAGE_NAME), 16); t->data = mxf_utf8_to_utf16 (self->name, &t->size); mxf_primer_pack_add_mapping (primer, 0x4402, &t->ul); ret = g_list_prepend (ret, t); } t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &package_creation_date_ul, 16); + memcpy (&t->ul, MXF_UL (PACKAGE_CREATION_DATE), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2136,7 +2016,7 @@ mxf_metadata_generic_package_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &package_modified_date_ul, 16); + memcpy (&t->ul, MXF_UL (PACKAGE_MODIFIED_DATE), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2148,7 +2028,7 @@ mxf_metadata_generic_package_write_tags (MXFMetadataBase * m, guint i; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &tracks_ul, 16); + memcpy (&t->ul, MXF_UL (TRACKS), 16); t->size = 8 + 16 * self->n_tracks; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -2462,14 +2342,10 @@ mxf_metadata_source_package_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_source_package_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 descriptor_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x02, 0x03, 0x00, 0x00 - }; if (self->descriptor) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &descriptor_ul, 16); + memcpy (&t->ul, MXF_UL (DESCRIPTOR), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2647,25 +2523,9 @@ mxf_metadata_track_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) MXF_METADATA_BASE_CLASS (mxf_metadata_track_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 track_id_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x01, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 track_number_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x01, 0x04, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 track_name_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x01, 0x07, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 sequence_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x02, 0x04, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &track_id_ul, 16); + memcpy (&t->ul, MXF_UL (TRACK_ID), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2674,7 +2534,7 @@ mxf_metadata_track_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &track_number_ul, 16); + memcpy (&t->ul, MXF_UL (TRACK_NUMBER), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2684,14 +2544,14 @@ mxf_metadata_track_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) if (self->track_name) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &track_name_ul, 16); + memcpy (&t->ul, MXF_UL (TRACK_NAME), 16); t->data = mxf_utf8_to_utf16 (self->track_name, &t->size); mxf_primer_pack_add_mapping (primer, 0x4802, &t->ul); ret = g_list_prepend (ret, t); } t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &sequence_ul, 16); + memcpy (&t->ul, MXF_UL (SEQUENCE), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2724,33 +2584,23 @@ mxf_metadata_track_class_init (MXFMetadataTrackClass * klass) /* SMPTE RP224 */ static const struct { - guint8 ul[16]; - MXFMetadataTrackType type; + const MXFUL *ul; + const MXFMetadataTrackType type; } mxf_metadata_track_identifier[] = { - { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, - 0x01, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00}, - MXF_METADATA_TRACK_TIMECODE_12M_INACTIVE}, { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x01, - 0x02, 0x00, 0x00, 0x00}, MXF_METADATA_TRACK_TIMECODE_12M_ACTIVE}, { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x01, - 0x03, 0x00, 0x00, 0x00}, MXF_METADATA_TRACK_TIMECODE_309M}, { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x01, - 0x10, 0x00, 0x00, 0x00}, MXF_METADATA_TRACK_METADATA}, { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x02, - 0x01, 0x00, 0x00, 0x00}, MXF_METADATA_TRACK_PICTURE_ESSENCE}, { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x02, - 0x02, 0x00, 0x00, 0x00}, MXF_METADATA_TRACK_SOUND_ESSENCE}, { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x02, - 0x03, 0x00, 0x00, 0x00}, MXF_METADATA_TRACK_DATA_ESSENCE}, { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x03, - 0x01, 0x00, 0x00, 0x00}, MXF_METADATA_TRACK_AUXILIARY_DATA}, { { - 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x03, - 0x02, 0x00, 0x00, 0x00}, MXF_METADATA_TRACK_PARSED_TEXT}, + { + MXF_UL (TRACK_TIMECODE_12M_INACTIVE), + MXF_METADATA_TRACK_TIMECODE_12M_INACTIVE}, { + MXF_UL (TRACK_TIMECODE_12M_ACTIVE), MXF_METADATA_TRACK_TIMECODE_12M_ACTIVE}, { + MXF_UL (TRACK_TIMECODE_309M), MXF_METADATA_TRACK_TIMECODE_309M}, { + MXF_UL (TRACK_METADATA), MXF_METADATA_TRACK_METADATA}, { + MXF_UL (TRACK_PICTURE_ESSENCE), MXF_METADATA_TRACK_PICTURE_ESSENCE}, { + MXF_UL (TRACK_SOUND_ESSENCE), MXF_METADATA_TRACK_SOUND_ESSENCE}, { + MXF_UL (TRACK_DATA_ESSENCE), MXF_METADATA_TRACK_DATA_ESSENCE}, { + MXF_UL (TRACK_AUXILIARY_DATA), MXF_METADATA_TRACK_AUXILIARY_DATA}, { + MXF_UL (TRACK_PARSED_TEXT), MXF_METADATA_TRACK_PARSED_TEXT}, /* Avid video? */ - { { - 0x80, 0x7d, 0x00, 0x60, 0x08, 0x14, 0x3e, 0x6f, 0x6f, 0x3c, 0x8c, 0xe1, - 0x6c, 0xef, 0x11, 0xd2}, MXF_METADATA_TRACK_PICTURE_ESSENCE} + { + MXF_UL (TRACK_AVID_PICTURE_ESSENCE), MXF_METADATA_TRACK_PICTURE_ESSENCE} }; MXFMetadataTrackType @@ -2759,8 +2609,8 @@ mxf_metadata_track_identifier_parse (const MXFUL * track_identifier) guint i; for (i = 0; i < G_N_ELEMENTS (mxf_metadata_track_identifier); i++) - if (memcmp (&mxf_metadata_track_identifier[i].ul, &track_identifier->u, - 16) == 0) + if (mxf_ul_is_equal (mxf_metadata_track_identifier[i].ul, + track_identifier) == 0) return mxf_metadata_track_identifier[i].type; return MXF_METADATA_TRACK_UNKNOWN; @@ -2773,7 +2623,7 @@ mxf_metadata_track_identifier_get (MXFMetadataTrackType type) for (i = 0; i < G_N_ELEMENTS (mxf_metadata_track_identifier); i++) if (mxf_metadata_track_identifier[i].type == type) - return (const MXFUL *) &mxf_metadata_track_identifier[i].ul; + return mxf_metadata_track_identifier[i].ul; return NULL; } @@ -2843,17 +2693,9 @@ mxf_metadata_timeline_track_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_timeline_track_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 edit_rate_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x30, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 origin_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x01, 0x03, 0x01, 0x03, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &edit_rate_ul, 16); + memcpy (&t->ul, MXF_UL (EDIT_RATE), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2863,7 +2705,7 @@ mxf_metadata_timeline_track_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &origin_ul, 16); + memcpy (&t->ul, MXF_UL (ORIGIN), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2958,17 +2800,9 @@ mxf_metadata_event_track_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_event_track_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 event_edit_rate_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x30, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 event_origin_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x07, 0x02, 0x01, 0x03, 0x01, 0x0B, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &event_edit_rate_ul, 16); + memcpy (&t->ul, MXF_UL (EVENT_EDIT_RATE), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -2978,7 +2812,7 @@ mxf_metadata_event_track_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &event_origin_ul, 16); + memcpy (&t->ul, MXF_UL (EVENT_ORIGIN), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3191,21 +3025,9 @@ mxf_metadata_sequence_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) MXF_METADATA_BASE_CLASS (mxf_metadata_sequence_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 data_definition_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 duration_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x02, 0x01, 0x01, 0x03, 0x00, 0x00 - }; - static const guint8 structural_components_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x06, 0x09, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &data_definition_ul, 16); + memcpy (&t->ul, MXF_UL (DATA_DEFINITION), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3214,7 +3036,7 @@ mxf_metadata_sequence_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &duration_ul, 16); + memcpy (&t->ul, MXF_UL (DURATION), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3225,7 +3047,7 @@ mxf_metadata_sequence_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) if (self->structural_components) { guint i; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &structural_components_ul, 16); + memcpy (&t->ul, MXF_UL (STRUCTURAL_COMPONENTS), 16); t->size = 8 + 16 * self->n_structural_components; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -3342,17 +3164,9 @@ mxf_metadata_structural_component_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_structural_component_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 data_definition_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 duration_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x02, 0x01, 0x01, 0x03, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &data_definition_ul, 16); + memcpy (&t->ul, MXF_UL (DATA_DEFINITION), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3361,7 +3175,7 @@ mxf_metadata_structural_component_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &duration_ul, 16); + memcpy (&t->ul, MXF_UL (DURATION), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3466,21 +3280,9 @@ mxf_metadata_timecode_component_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_timecode_component_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 rounded_timecode_base_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x04, 0x01, 0x01, 0x02, 0x06, 0x00, 0x00 - }; - static const guint8 start_timecode_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x01, 0x03, 0x01, 0x05, 0x00, 0x00 - }; - static const guint8 drop_frame_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x04, 0x01, 0x01, 0x05, 0x00, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &rounded_timecode_base_ul, 16); + memcpy (&t->ul, MXF_UL (ROUNDED_TIMECODE_BASE), 16); t->size = 2; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3489,7 +3291,7 @@ mxf_metadata_timecode_component_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &start_timecode_ul, 16); + memcpy (&t->ul, MXF_UL (START_TIMECODE), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3498,7 +3300,7 @@ mxf_metadata_timecode_component_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &drop_frame_ul, 16); + memcpy (&t->ul, MXF_UL (DROP_FRAME), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3650,21 +3452,9 @@ mxf_metadata_source_clip_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_source_clip_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 start_position_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x01, 0x03, 0x01, 0x04, 0x00, 0x00 - }; - static const guint8 source_package_id_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 source_track_id_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x03, 0x02, 0x00, 0x00, 0x00 - }; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &start_position_ul, 16); + memcpy (&t->ul, MXF_UL (START_POSITION), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3673,7 +3463,7 @@ mxf_metadata_source_clip_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &source_package_id_ul, 16); + memcpy (&t->ul, MXF_UL (SOURCE_PACKAGE_ID), 16); t->size = 32; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3682,7 +3472,7 @@ mxf_metadata_source_clip_write_tags (MXFMetadataBase * m, ret = g_list_prepend (ret, t); t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &source_track_id_ul, 16); + memcpy (&t->ul, MXF_UL (SOURCE_TRACK_ID), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -3830,16 +3620,12 @@ mxf_metadata_dm_source_clip_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_dm_source_clip_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 track_ids_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x01, 0x07, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00 - }; if (self->track_ids) { guint i; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &track_ids_ul, 16); + memcpy (&t->ul, MXF_UL (DM_SOURCECLIP_TRACK_IDS), 16); t->size = 8 + 4 * self->n_track_ids; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4057,26 +3843,10 @@ mxf_metadata_dm_segment_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) MXF_METADATA_BASE_CLASS (mxf_metadata_dm_segment_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 event_start_position_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x07, 0x02, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00 - }; - static const guint8 event_comment_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x30, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 track_ids_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, - 0x01, 0x07, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 dm_framework_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x06, 0x01, 0x01, 0x04, 0x02, 0x0C, 0x00, 0x00 - }; if (self->event_start_position != -1) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &event_start_position_ul, 16); + memcpy (&t->ul, MXF_UL (EVENT_START_POSITION), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4087,7 +3857,7 @@ mxf_metadata_dm_segment_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) if (self->event_comment) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &event_comment_ul, 16); + memcpy (&t->ul, MXF_UL (EVENT_COMMENT), 16); t->data = mxf_utf8_to_utf16 (self->event_comment, &t->size); mxf_primer_pack_add_mapping (primer, 0x0602, &t->ul); ret = g_list_prepend (ret, t); @@ -4097,7 +3867,7 @@ mxf_metadata_dm_segment_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) guint i; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &track_ids_ul, 16); + memcpy (&t->ul, MXF_UL (DM_SEGMENT_TRACK_IDS), 16); t->size = 8 + 4 * self->n_track_ids; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4111,7 +3881,7 @@ mxf_metadata_dm_segment_write_tags (MXFMetadataBase * m, MXFPrimerPack * primer) if (self->dm_framework) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &dm_framework_ul, 16); + memcpy (&t->ul, MXF_UL (DM_FRAMEWORK), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4297,16 +4067,12 @@ mxf_metadata_generic_descriptor_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_generic_descriptor_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 locators_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x06, 0x03, 0x00, 0x00 - }; if (self->locators) { guint i; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &locators_ul, 16); + memcpy (&t->ul, MXF_UL (LOCATORS), 16); t->size = 8 + 16 * self->n_locators;; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -4453,30 +4219,10 @@ mxf_metadata_file_descriptor_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_file_descriptor_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 linked_track_id_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x06, 0x01, 0x01, 0x03, 0x05, 0x00, 0x00, 0x00 - }; - static const guint8 sample_rate_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x06, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 container_duration_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x06, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 essence_container_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x01, 0x02, 0x00, 0x00 - }; - static const guint8 codec_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x06, 0x01, 0x01, 0x04, 0x01, 0x03, 0x00, 0x00 - }; if (self->linked_track_id) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &linked_track_id_ul, 16); + memcpy (&t->ul, MXF_UL (LINKED_TRACK_ID), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4486,7 +4232,7 @@ mxf_metadata_file_descriptor_write_tags (MXFMetadataBase * m, } t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &sample_rate_ul, 16); + memcpy (&t->ul, MXF_UL (SAMPLE_RATE), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4497,7 +4243,7 @@ mxf_metadata_file_descriptor_write_tags (MXFMetadataBase * m, if (self->container_duration > 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &container_duration_ul, 16); + memcpy (&t->ul, MXF_UL (CONTAINER_DURATION), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4507,7 +4253,7 @@ mxf_metadata_file_descriptor_write_tags (MXFMetadataBase * m, } t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &essence_container_ul, 16); + memcpy (&t->ul, MXF_UL (ESSENCE_CONTAINER), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4517,7 +4263,7 @@ mxf_metadata_file_descriptor_write_tags (MXFMetadataBase * m, if (!mxf_ul_is_zero (&self->codec)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &codec_ul, 16); + memcpy (&t->ul, MXF_UL (CODEC), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4861,106 +4607,10 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, (mxf_metadata_generic_picture_essence_descriptor_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 signal_standard_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x05, 0x01, 0x13, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 frame_layout_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x03, 0x01, 0x04, 0x00, 0x00, 0x00 - }; - static const guint8 stored_width_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x02, 0x02, 0x00, 0x00, 0x00 - }; - static const guint8 stored_height_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x02, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 stored_f2_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x01, 0x03, 0x02, 0x08, 0x00, 0x00, 0x00 - }; - static const guint8 sampled_width_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x08, 0x00, 0x00, 0x00 - }; - static const guint8 sampled_height_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x07, 0x00, 0x00, 0x00 - }; - static const guint8 sampled_x_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x09, 0x00, 0x00, 0x00 - }; - static const guint8 sampled_y_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x0A, 0x00, 0x00, 0x00 - }; - static const guint8 display_height_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x0B, 0x00, 0x00, 0x00 - }; - static const guint8 display_width_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x0C, 0x00, 0x00, 0x00 - }; - static const guint8 display_x_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x0D, 0x00, 0x00, 0x00 - }; - static const guint8 display_y_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x0E, 0x00, 0x00, 0x00 - }; - static const guint8 display_f2_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x01, 0x03, 0x02, 0x07, 0x00, 0x00, 0x00 - }; - static const guint8 aspect_ratio_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 active_format_descriptor_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x01, 0x03, 0x02, 0x09, 0x00, 0x00, 0x00 - }; - static const guint8 video_line_map_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x03, 0x02, 0x05, 0x00, 0x00, 0x00 - }; - static const guint8 alpha_transparency_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x05, 0x20, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 capture_gamma_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x02, 0x01, 0x01, 0x01, 0x02, 0x00 - }; - static const guint8 image_alignment_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x18, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 image_start_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x18, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 image_end_offset_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x18, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 field_dominance_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x03, 0x01, 0x06, 0x00, 0x00, 0x00 - }; - static const guint8 picture_essence_coding_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00 - }; if (self->signal_standard != 1) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &signal_standard_ul, 16); + memcpy (&t->ul, MXF_UL (SIGNAL_STANDARD), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4971,7 +4621,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->frame_layout != 255) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &frame_layout_ul, 16); + memcpy (&t->ul, MXF_UL (FRAME_LAYOUT), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4982,7 +4632,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->stored_width != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &stored_width_ul, 16); + memcpy (&t->ul, MXF_UL (STORED_WIDTH), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -4993,7 +4643,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->stored_height != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &stored_height_ul, 16); + memcpy (&t->ul, MXF_UL (STORED_HEIGHT), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5004,7 +4654,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->stored_f2_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &stored_f2_offset_ul, 16); + memcpy (&t->ul, MXF_UL (STORED_F2_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5015,7 +4665,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->sampled_width != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &sampled_width_ul, 16); + memcpy (&t->ul, MXF_UL (SAMPLED_WIDTH), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5026,7 +4676,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->sampled_height != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &sampled_height_ul, 16); + memcpy (&t->ul, MXF_UL (SAMPLED_HEIGHT), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5037,7 +4687,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->sampled_x_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &sampled_x_offset_ul, 16); + memcpy (&t->ul, MXF_UL (SAMPLED_X_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5048,7 +4698,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->sampled_y_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &sampled_y_offset_ul, 16); + memcpy (&t->ul, MXF_UL (SAMPLED_Y_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5059,7 +4709,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->display_height != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &display_height_ul, 16); + memcpy (&t->ul, MXF_UL (DISPLAY_HEIGHT), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5070,7 +4720,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->display_width != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &display_width_ul, 16); + memcpy (&t->ul, MXF_UL (DISPLAY_WIDTH), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5081,7 +4731,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->display_x_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &display_x_offset_ul, 16); + memcpy (&t->ul, MXF_UL (DISPLAY_X_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5092,7 +4742,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->display_y_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &display_y_offset_ul, 16); + memcpy (&t->ul, MXF_UL (DISPLAY_Y_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5103,7 +4753,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->display_f2_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &display_f2_offset_ul, 16); + memcpy (&t->ul, MXF_UL (DISPLAY_F2_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5114,7 +4764,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->aspect_ratio.n != 0 && self->aspect_ratio.d != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &aspect_ratio_ul, 16); + memcpy (&t->ul, MXF_UL (ASPECT_RATIO), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5126,7 +4776,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->active_format_descriptor != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &active_format_descriptor_ul, 16); + memcpy (&t->ul, MXF_UL (ACTIVE_FORMAT_DESCRIPTOR), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5137,7 +4787,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->video_line_map[0] != 0 || self->video_line_map[1] != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &video_line_map_ul, 16); + memcpy (&t->ul, MXF_UL (VIDEO_LINE_MAP), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5149,7 +4799,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->alpha_transparency != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &alpha_transparency_ul, 16); + memcpy (&t->ul, MXF_UL (ALPHA_TRANSPARENCY), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5160,7 +4810,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (!mxf_ul_is_zero (&self->capture_gamma)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &capture_gamma_ul, 16); + memcpy (&t->ul, MXF_UL (CAPTURE_GAMMA), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5171,7 +4821,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->image_alignment_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &image_alignment_offset_ul, 16); + memcpy (&t->ul, MXF_UL (IMAGE_ALIGNMENT_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5182,7 +4832,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->image_start_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &image_start_offset_ul, 16); + memcpy (&t->ul, MXF_UL (IMAGE_START_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5193,7 +4843,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->image_end_offset != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &image_end_offset_ul, 16); + memcpy (&t->ul, MXF_UL (IMAGE_END_OFFSET), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5204,7 +4854,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->field_dominance != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &field_dominance_ul, 16); + memcpy (&t->ul, MXF_UL (FIELD_DOMINANCE), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5215,7 +4865,7 @@ mxf_metadata_generic_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (!mxf_ul_is_zero (&self->picture_essence_coding)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &picture_essence_coding_ul, 16); + memcpy (&t->ul, MXF_UL (PICTURE_ESSENCE_CODING), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5503,42 +5153,10 @@ mxf_metadata_generic_sound_essence_descriptor_write_tags (MXFMetadataBase * m, (mxf_metadata_generic_sound_essence_descriptor_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 audio_sampling_rate_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x02, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00 - }; - static const guint8 locked_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, - 0x04, 0x02, 0x03, 0x01, 0x04, 0x00, 0x00, 0x00 - }; - static const guint8 audio_ref_level_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x02, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00 - }; - static const guint8 electro_spatial_formulation_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 channel_count_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x02, 0x01, 0x01, 0x04, 0x00, 0x00, 0x00 - }; - static const guint8 quantization_bits_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, - 0x04, 0x02, 0x03, 0x03, 0x04, 0x00, 0x00, 0x00 - }; - static const guint8 dial_norm_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 sound_essence_compression_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 - }; if (self->audio_sampling_rate.d && self->audio_sampling_rate.n) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &audio_sampling_rate_ul, 16); + memcpy (&t->ul, MXF_UL (AUDIO_SAMPLING_RATE), 16); t->size = 8; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5549,7 +5167,7 @@ mxf_metadata_generic_sound_essence_descriptor_write_tags (MXFMetadataBase * m, } t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &locked_ul, 16); + memcpy (&t->ul, MXF_UL (LOCKED), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5559,7 +5177,7 @@ mxf_metadata_generic_sound_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->audio_ref_level) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &audio_ref_level_ul, 16); + memcpy (&t->ul, MXF_UL (AUDIO_REF_LEVEL), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5570,7 +5188,7 @@ mxf_metadata_generic_sound_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->electro_spatial_formulation != 255) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &electro_spatial_formulation_ul, 16); + memcpy (&t->ul, MXF_UL (ELECTRO_SPATIAL_FORMULATION), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5581,7 +5199,7 @@ mxf_metadata_generic_sound_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->channel_count) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &channel_count_ul, 16); + memcpy (&t->ul, MXF_UL (CHANNEL_COUNT), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5592,7 +5210,7 @@ mxf_metadata_generic_sound_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->quantization_bits) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &quantization_bits_ul, 16); + memcpy (&t->ul, MXF_UL (QUANTIZATION_BITS), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5603,7 +5221,7 @@ mxf_metadata_generic_sound_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->dial_norm != 0) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &dial_norm_ul, 16); + memcpy (&t->ul, MXF_UL (DIAL_NORM), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5614,7 +5232,7 @@ mxf_metadata_generic_sound_essence_descriptor_write_tags (MXFMetadataBase * m, if (!mxf_ul_is_zero (&self->sound_essence_compression)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &sound_essence_compression_ul, 16); + memcpy (&t->ul, MXF_UL (SOUND_ESSENCE_COMPRESSION), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5865,50 +5483,10 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, (mxf_metadata_cdci_picture_essence_descriptor_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 component_depth_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x05, 0x03, 0x0A, 0x00, 0x00, 0x00 - }; - static const guint8 horizontal_subsampling_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x05, 0x00, 0x00, 0x00 - }; - static const guint8 vertical_subsampling_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x05, 0x01, 0x10, 0x00, 0x00, 0x00 - }; - static const guint8 color_siting_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x01, 0x06, 0x00, 0x00, 0x00 - }; - static const guint8 reversed_byte_order_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x03, 0x01, 0x02, 0x01, 0x0A, 0x00, 0x00, 0x00 - }; - static const guint8 padding_bits_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x18, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00 - }; - static const guint8 alpha_sample_depth_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x05, 0x03, 0x07, 0x00, 0x00, 0x00 - }; - static const guint8 black_ref_level_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x03, 0x03, 0x00, 0x00, 0x00 - }; - static const guint8 white_ref_level_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x04, 0x01, 0x05, 0x03, 0x04, 0x00, 0x00, 0x00 - }; - static const guint8 color_range_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x05, 0x03, 0x05, 0x00, 0x00, 0x00 - }; if (self->component_depth) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &component_depth_ul, 16); + memcpy (&t->ul, MXF_UL (COMPONENT_DEPTH), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5919,7 +5497,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->horizontal_subsampling) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &horizontal_subsampling_ul, 16); + memcpy (&t->ul, MXF_UL (HORIZONTAL_SUBSAMPLING), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5930,7 +5508,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->vertical_subsampling) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &vertical_subsampling_ul, 16); + memcpy (&t->ul, MXF_UL (VERTICAL_SUBSAMPLING), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5941,7 +5519,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->color_siting != 0xff) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &color_siting_ul, 16); + memcpy (&t->ul, MXF_UL (COLOR_SITING), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5952,7 +5530,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->reversed_byte_order) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &reversed_byte_order_ul, 16); + memcpy (&t->ul, MXF_UL (REVERSED_BYTE_ORDER), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5963,7 +5541,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->padding_bits) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &padding_bits_ul, 16); + memcpy (&t->ul, MXF_UL (PADDING_BITS), 16); t->size = 2; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5974,7 +5552,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->alpha_sample_depth) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &alpha_sample_depth_ul, 16); + memcpy (&t->ul, MXF_UL (ALPHA_SAMPLE_DEPTH), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5985,7 +5563,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->black_ref_level) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &black_ref_level_ul, 16); + memcpy (&t->ul, MXF_UL (BLACK_REF_LEVEL), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -5996,7 +5574,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->white_ref_level) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &white_ref_level_ul, 16); + memcpy (&t->ul, MXF_UL (WHITE_REF_LEVEL), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -6007,7 +5585,7 @@ mxf_metadata_cdci_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->color_range) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &color_range_ul, 16); + memcpy (&t->ul, MXF_UL (COLOR_RANGE), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -6207,34 +5785,10 @@ mxf_metadata_rgba_picture_essence_descriptor_write_tags (MXFMetadataBase * m, (mxf_metadata_rgba_picture_essence_descriptor_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 component_max_ref_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x01, 0x05, 0x03, 0x0B, 0x00, 0x00, 0x00 - }; - static const guint8 component_min_ref_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x01, 0x05, 0x03, 0x0C, 0x00, 0x00, 0x00 - }; - static const guint8 alpha_max_ref_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x01, 0x05, 0x03, 0x0D, 0x00, 0x00, 0x00 - }; - static const guint8 alpha_min_ref_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x01, 0x05, 0x03, 0x0E, 0x00, 0x00, 0x00 - }; - static const guint8 scanning_direction_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, - 0x04, 0x01, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00 - }; - static const guint8 pixel_layout_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x04, 0x01, 0x05, 0x03, 0x06, 0x00, 0x00, 0x00 - }; if (self->component_max_ref != 255) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &component_max_ref_ul, 16); + memcpy (&t->ul, MXF_UL (COMPONENT_MAX_REF), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -6245,7 +5799,7 @@ mxf_metadata_rgba_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->component_min_ref) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &component_min_ref_ul, 16); + memcpy (&t->ul, MXF_UL (COMPONENT_MIN_REF), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -6256,7 +5810,7 @@ mxf_metadata_rgba_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->alpha_max_ref != 255) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &alpha_max_ref_ul, 16); + memcpy (&t->ul, MXF_UL (ALPHA_MAX_REF), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -6267,7 +5821,7 @@ mxf_metadata_rgba_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->alpha_min_ref) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &alpha_min_ref_ul, 16); + memcpy (&t->ul, MXF_UL (ALPHA_MIN_REF), 16); t->size = 4; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -6278,7 +5832,7 @@ mxf_metadata_rgba_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->scanning_direction) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &scanning_direction_ul, 16); + memcpy (&t->ul, MXF_UL (SCANNING_DIRECTION), 16); t->size = 1; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -6289,7 +5843,7 @@ mxf_metadata_rgba_picture_essence_descriptor_write_tags (MXFMetadataBase * m, if (self->pixel_layout) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &pixel_layout_ul, 16); + memcpy (&t->ul, MXF_UL (PIXEL_LAYOUT), 16); t->size = 2 * self->n_pixel_layout + 2; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -6404,14 +5958,10 @@ mxf_metadata_generic_data_essence_descriptor_write_tags (MXFMetadataBase * m, (mxf_metadata_generic_data_essence_descriptor_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 data_essence_coding_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x03, - 0x04, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 - }; if (!mxf_ul_is_zero (&self->data_essence_coding)) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &data_essence_coding_ul, 16); + memcpy (&t->ul, MXF_UL (DATA_ESSENCE_CODING), 16); t->size = 16; t->data = g_slice_alloc (t->size); t->g_slice = TRUE; @@ -6598,16 +6148,12 @@ mxf_metadata_multiple_descriptor_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_multiple_descriptor_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 sub_descriptors_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, - 0x06, 0x01, 0x01, 0x04, 0x06, 0x0B, 0x00, 0x00 - }; if (self->sub_descriptors) { guint i; t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &sub_descriptors_ul, 16); + memcpy (&t->ul, MXF_UL (SUB_DESCRIPTORS), 16); t->size = 8 + 16 * self->n_sub_descriptors; t->data = g_slice_alloc0 (t->size); t->g_slice = TRUE; @@ -6726,14 +6272,10 @@ mxf_metadata_text_locator_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_text_locator_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 locator_name_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, - 0x01, 0x04, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00 - }; if (self->locator_name) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &locator_name_ul, 16); + memcpy (&t->ul, MXF_UL (LOCATOR_NAME), 16); t->data = mxf_utf8_to_utf16 (self->locator_name, &t->size); mxf_primer_pack_add_mapping (primer, 0x4101, &t->ul); ret = g_list_prepend (ret, t); @@ -6825,14 +6367,10 @@ mxf_metadata_network_locator_write_tags (MXFMetadataBase * m, MXF_METADATA_BASE_CLASS (mxf_metadata_network_locator_parent_class)->write_tags (m, primer); MXFLocalTag *t; - static const guint8 url_string_ul[] = { - 0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 - }; if (self->url_string) { t = g_slice_new0 (MXFLocalTag); - memcpy (&t->ul, &url_string_ul, 16); + memcpy (&t->ul, MXF_UL (URL_STRING), 16); t->data = mxf_utf8_to_utf16 (self->url_string, &t->size); mxf_primer_pack_add_mapping (primer, 0x4001, &t->ul); ret = g_list_prepend (ret, t); diff --git a/gst/mxf/mxful.c b/gst/mxf/mxful.c index 6ddc8ebd..f48cb4de 100644 --- a/gst/mxf/mxful.c +++ b/gst/mxf/mxful.c @@ -66,7 +66,389 @@ const MXFUL _mxf_ul_table[] = { 0x4b, 0x46, 0x41, 0x41, 0x00, 0x0d, 0x4d, 0x4f}}, /* OPERATIONAL_PATTERN_IDENTIFICATION */ {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, - 0x0d, 0x01, 0x02, 0x01, 0x00,}} + 0x0d, 0x01, 0x02, 0x01, 0x00,}}, + /* TRACK_TIMECODE_12M_INACTIVE */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00}}, + /* TRACK_TIMECODE_12M_ACTIVE */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00}}, + /* TRACK_TIMECODE_309M */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00}}, + /* TRACK_METADATA */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x01, 0x10, 0x00, 0x00, 0x00}}, + /* TRACK_PICTURE_ESSENCE */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00}}, + /* TRACK_SOUND_ESSENCE */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00}}, + /* TRACK_DATA_ESSENCE */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00}}, + /* TRACK_AUXILIARY_DATA */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00}}, + /* TRACK_PARSED_TEXT */ + {{0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x00}}, + /* TRACK_AVID_PICTURE_ESSENCE */ + {{0x80, 0x7d, 0x00, 0x60, 0x08, 0x14, 0x3e, 0x6f, + 0x6f, 0x3c, 0x8c, 0xe1, 0x6c, 0xef, 0x11, 0xd2}}, + /** MXF Structural Metadata */ + /* INSTANCE_UID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x15, 0x02, 0x00, 0x00, 0x00, 0x00}}, + /* GENERATION_UID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00}}, + /* Preface */ + /* LAST_MODIFIED_DATE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x01, 0x10, 0x02, 0x04, 0x00, 0x00}}, + /* VERSION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x03, 0x01, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00}}, + /* OBJECT_MODEL_VERSION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x03, 0x01, 0x02, 0x01, 0x04, 0x00, 0x00, 0x00}}, + /* PRIMARY_PACKAGE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, + 0x06, 0x01, 0x01, 0x04, 0x01, 0x08, 0x00, 0x00}}, + /* IDENTIFICATIONS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x06, 0x04, 0x00, 0x00}}, + /* CONTENT_STORAGE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00}}, + /* ESSENCE_CONTAINERS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x01, 0x02, 0x02, 0x10, 0x02, 0x01, 0x00, 0x00}}, + /* DM_SCHEMES */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x01, 0x02, 0x02, 0x10, 0x02, 0x02, 0x00, 0x00}}, + /* Identification */ + /* COMPANY_NAME */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x02, 0x01, 0x00, 0x00}}, + /* PRODUCT_NAME */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x03, 0x01, 0x00, 0x00}}, + /* PRODUCT_VERSION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x04, 0x00, 0x00, 0x00}}, + /* VERSION_STRING */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x05, 0x01, 0x00, 0x00}}, + /* PRODUCT_UID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x07, 0x00, 0x00, 0x00}}, + /* MODIFICATION_DATE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x01, 0x10, 0x02, 0x03, 0x00, 0x00}}, + /* TOOLKIT_VERSION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x0A, 0x00, 0x00, 0x00}}, + /* PLATFORM */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x07, 0x01, 0x06, 0x01, 0x00, 0x00}}, + /* Content storage */ + /* PACKAGES */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x05, 0x01, 0x00, 0x00}}, + /* ESSENCE_CONTAINER_DATA */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x05, 0x02, 0x00, 0x00}}, + /* Essence container data */ + /* LINKED_PACKAGE_UID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x06, 0x01, 0x00, 0x00, 0x00}}, + /* BODY_SID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, + 0x01, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00}}, + /* INDEX_SID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, + 0x01, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00}}, + /* Generic package */ + /* PACKAGE_UID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x15, 0x10, 0x00, 0x00, 0x00, 0x00}}, + /* PACKAGE_NAME */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00}}, + /* PACKAGE_CREATION_DATE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x01, 0x10, 0x01, 0x03, 0x00, 0x00}}, + /* PACKAGE_MODIFIED_DATE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x01, 0x10, 0x02, 0x05, 0x00, 0x00}}, + /* TRACKS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x06, 0x05, 0x00, 0x00}}, + /* Source package */ + /* DESCRIPTOR */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x02, 0x03, 0x00, 0x00}}, + /* Track */ + /* TRACK_ID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x01, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00}}, + /* TRACK_NUMBER */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x01, 0x04, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00}}, + /* TRACK_NAME */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x01, 0x07, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00}}, + /* SEQUENCE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x02, 0x04, 0x00, 0x00}}, + /* Timeline track */ + /* EDIT_RATE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x30, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00}}, + /* ORIGIN */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x01, 0x03, 0x01, 0x03, 0x00, 0x00}}, + /* Event track */ + /* EVENT_EDIT_RATE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x30, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00}}, + /* EVENT_ORIGIN */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x07, 0x02, 0x01, 0x03, 0x01, 0x0B, 0x00, 0x00}}, + /* Sequence & structural component */ + /* DATA_DEFINITION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00}}, + /* DURATION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x02, 0x01, 0x01, 0x03, 0x00, 0x00}}, + /* STRUCTURAL_COMPONENTS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x06, 0x09, 0x00, 0x00}}, + /* Timecode component */ + /* ROUNDED_TIMECODE_BASE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x04, 0x01, 0x01, 0x02, 0x06, 0x00, 0x00}}, + /* START_TIMECODE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x01, 0x03, 0x01, 0x05, 0x00, 0x00}}, + /* DROP_FRAME */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x04, 0x01, 0x01, 0x05, 0x00, 0x00, 0x00}}, + /* Source clip */ + /* START_POSITION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x01, 0x03, 0x01, 0x04, 0x00, 0x00}}, + /* SOURCE_PACKAGE_ID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00}}, + /* SOURCE_TRACK_ID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x03, 0x02, 0x00, 0x00, 0x0}}, + /* DM Source clip */ + /* DM_SOURCELIP_TRACK_IDS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x01, 0x07, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00}}, + /* DM Segment */ + /* EVENT_START_POSITION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x07, 0x02, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00}}, + /* EVENT_COMMENT */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x30, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00}}, + /* DM_SEGMENT_TRACK_IDS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, + 0x01, 0x07, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00}}, + /* DM_FRAMEWORK */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x06, 0x01, 0x01, 0x04, 0x02, 0x0C, 0x00, 0x00}}, + /* Generic descriptor */ + /* LOCATORS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x06, 0x03, 0x00, 0x00}}, + /* File descriptor */ + /* LINKED_TRACK_ID */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x06, 0x01, 0x01, 0x03, 0x05, 0x00, 0x00, 0x00}}, + /* SAMPLE_RATE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x06, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00}}, + /* CONTAINER_DURATION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x06, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00}}, + /* ESSENCE_CONTAINER */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x01, 0x02, 0x00, 0x00}}, + /* CODEC */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x06, 0x01, 0x01, 0x04, 0x01, 0x03, 0x00, 0x00}}, + /* Generic picture essence descriptor */ + /* SIGNAL_STANDARD */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x05, 0x01, 0x13, 0x00, 0x00, 0x00, 0x00}}, + /* FRAME_LAYOUT */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x03, 0x01, 0x04, 0x00, 0x00, 0x00}}, + /* STORED_WIDTH */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x02, 0x02, 0x00, 0x00, 0x00}}, + /* STORED_HEIGHT */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x02, 0x01, 0x00, 0x00, 0x00}}, + /* STORED_F2_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x01, 0x03, 0x02, 0x08, 0x00, 0x00, 0x00}}, + /* SAMPLED_WIDTH */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x08, 0x00, 0x00, 0x00}}, + /* SAMPLED_HEIGHT */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x07, 0x00, 0x00, 0x00}}, + /* SAMPLED_X_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x09, 0x00, 0x00, 0x00}}, + /* SAMPLED_Y_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x0A, 0x00, 0x00, 0x00}}, + /* DISPLAY_HEIGHT */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x0B, 0x00, 0x00, 0x00}}, + /* DISPLAY_WIDTH */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x0C, 0x00, 0x00, 0x00}}, + /* DISPLAY_X_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x0D, 0x00, 0x00, 0x00}}, + /* DISPLAY_Y_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x0E, 0x00, 0x00, 0x00}}, + /* DISPLAY_F2_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x01, 0x03, 0x02, 0x07, 0x00, 0x00, 0x00}}, + /* ASPECT_RATIO */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00}}, + /* ACTIVE_FORMAT_DESCRIPTOR */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x01, 0x03, 0x02, 0x09, 0x00, 0x00, 0x00}}, + /* VIDEO_LINE_MAP */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x03, 0x02, 0x05, 0x00, 0x00, 0x00}}, + /* ALPHA_TRANSPARENCY */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x05, 0x20, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00}}, + /* CAPTURE_GAMMA */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x02, 0x01, 0x01, 0x01, 0x02, 0x00}}, + /* IMAGE_ALIGNMENT_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x18, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00}}, + /* IMAGE_START_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x18, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00}}, + /* IMAGE_END_OFFSET */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x18, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00}}, + /* FIELD_DOMINANCE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x03, 0x01, 0x06, 0x00, 0x00, 0x00}}, + /* PICTURE_ESSENCE_CODING */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00}}, + /* Generic audio essence descriptor */ + /* AUDIO_SAMPLING_RATE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x02, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00}}, + /* LOCKED */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, + 0x04, 0x02, 0x03, 0x01, 0x04, 0x00, 0x00, 0x00}}, + /* AUDIO_REF_LEVEL */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x02, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00}}, + /* ELECTRO_SPATIAL_FORMULATION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00}}, + /* CHANNEL_COUNT */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x02, 0x01, 0x01, 0x04, 0x00, 0x00, 0x00}}, + /* QUANTIZATION_BITS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, + 0x04, 0x02, 0x03, 0x03, 0x04, 0x00, 0x00, 0x00}}, + /* DIAL_NORM */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00}}, + /* SOUND_ESSENCE_COMPRESSION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00}}, + /* CDCI Picture essence descriptor */ + /* COMPONENT_DEPTH */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x05, 0x03, 0x0A, 0x00, 0x00, 0x00}}, + /* HORIZONTAL_SUBSAMPLING */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x05, 0x00, 0x00, 0x00}}, + /* VERTICAL_SUBSAMPLING */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x05, 0x01, 0x10, 0x00, 0x00, 0x00}}, + /* COLOR_SITING */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x01, 0x06, 0x00, 0x00, 0x00}}, + /* REVERSED_BYTE_ORDER */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x03, 0x01, 0x02, 0x01, 0x0A, 0x00, 0x00, 0x00}}, + /* PADDING_BITS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x18, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00}}, + /* ALPHA_SAMPLE_DEPTH */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x05, 0x03, 0x07, 0x00, 0x00, 0x00}}, + /* BLACK_REF_LEVEL */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x03, 0x03, 0x00, 0x00, 0x00}}, + /* WHITE_REF_LEVEL */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x04, 0x01, 0x05, 0x03, 0x04, 0x00, 0x00, 0x00}}, + /* COLOR_RANGE */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x05, 0x03, 0x05, 0x00, 0x00, 0x00}}, + /* RGBA picture essence descriptor */ + /* COMPONENT_MAX_REF */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x01, 0x05, 0x03, 0x0B, 0x00, 0x00, 0x00}}, + /* COMPONENT_MIN_REF */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x01, 0x05, 0x03, 0x0C, 0x00, 0x00, 0x00}}, + /* ALPHA_MAX_REF */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x01, 0x05, 0x03, 0x0D, 0x00, 0x00, 0x00}}, + /* ALPHA_MIN_REF */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x01, 0x05, 0x03, 0x0E, 0x00, 0x00, 0x00}}, + /* SCANNING_DIRECTION */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05, + 0x04, 0x01, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00}}, + /* PIXEL_LAYOUT */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x04, 0x01, 0x05, 0x03, 0x06, 0x00, 0x00, 0x00}}, + /* Generic data essence descriptor */ + /* DATA_ESSENCE_CODING */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x03, + 0x04, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00}}, + /* Multiple descriptor */ + /* SUB_DESCRIPTORS */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x04, + 0x06, 0x01, 0x01, 0x04, 0x06, 0x0B, 0x00, 0x00}}, + /* Text locator */ + /* LOCATOR_NAME */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02, + 0x01, 0x04, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00}}, + /* Network locator */ + /* URL_STRING */ + {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00}}, }; gboolean diff --git a/gst/mxf/mxful.h b/gst/mxf/mxful.h index 9a82f12a..a946b829 100644 --- a/gst/mxf/mxful.h +++ b/gst/mxf/mxful.h @@ -28,7 +28,7 @@ typedef struct { } MXFUL; typedef enum { - MXF_UL_SMPTE = 0, + MXF_UL_SMPTE, MXF_UL_FILL, MXF_UL_PARTITION_PACK, MXF_UL_PRIMER_PACK, @@ -42,6 +42,126 @@ typedef enum { MXF_UL_AVID_ESSENCE_CONTAINER_ESSENCE_ELEMENT, MXF_UL_AVID_ESSENCE_CONTAINER_ESSENCE_LABEL, MXF_UL_OPERATIONAL_PATTERN_IDENTIFICATION, + MXF_UL_TRACK_TIMECODE_12M_INACTIVE, + MXF_UL_TRACK_TIMECODE_12M_ACTIVE, + MXF_UL_TRACK_TIMECODE_309M, + MXF_UL_TRACK_METADATA, + MXF_UL_TRACK_PICTURE_ESSENCE, + MXF_UL_TRACK_SOUND_ESSENCE, + MXF_UL_TRACK_DATA_ESSENCE, + MXF_UL_TRACK_AUXILIARY_DATA, + MXF_UL_TRACK_PARSED_TEXT, + MXF_UL_TRACK_AVID_PICTURE_ESSENCE, + MXF_UL_INSTANCE_UID, + MXF_UL_GENERATION_UID, + MXF_UL_LAST_MODIFIED_DATE, + MXF_UL_VERSION, + MXF_UL_OBJECT_MODEL_VERSION, + MXF_UL_PRIMARY_PACKAGE, + MXF_UL_IDENTIFICATIONS, + MXF_UL_CONTENT_STORAGE, + MXF_UL_OPERATIONAL_PATTERN, + MXF_UL_ESSENCE_CONTAINERS, + MXF_UL_DM_SCHEMES, + MXF_UL_COMPANY_NAME, + MXF_UL_PRODUCT_NAME, + MXF_UL_PRODUCT_VERSION, + MXF_UL_VERSION_STRING, + MXF_UL_PRODUCT_UID, + MXF_UL_MODIFICATION_DATE, + MXF_UL_TOOLKIT_VERSION, + MXF_UL_PLATFORM, + MXF_UL_PACKAGES, + MXF_UL_ESSENCE_CONTAINER_DATA, + MXF_UL_LINKED_PACKAGE_UID, + MXF_UL_BODY_SID, + MXF_UL_INDEX_SID, + MXF_UL_PACKAGE_UID, + MXF_UL_PACKAGE_NAME, + MXF_UL_PACKAGE_CREATION_DATE, + MXF_UL_PACKAGE_MODIFIED_DATE, + MXF_UL_TRACKS, + MXF_UL_DESCRIPTOR, + MXF_UL_TRACK_ID, + MXF_UL_TRACK_NUMBER, + MXF_UL_TRACK_NAME, + MXF_UL_SEQUENCE, + MXF_UL_EDIT_RATE, + MXF_UL_ORIGIN, + MXF_UL_EVENT_EDIT_RATE, + MXF_UL_EVENT_ORIGIN, + MXF_UL_DATA_DEFINITION, + MXF_UL_DURATION, + MXF_UL_STRUCTURAL_COMPONENTS, + MXF_UL_ROUNDED_TIMECODE_BASE, + MXF_UL_START_TIMECODE, + MXF_UL_DROP_FRAME, + MXF_UL_START_POSITION, + MXF_UL_SOURCE_PACKAGE_ID, + MXF_UL_SOURCE_TRACK_ID, + MXF_UL_DM_SOURCECLIP_TRACK_IDS, + MXF_UL_EVENT_START_POSITION, + MXF_UL_EVENT_COMMENT, + MXF_UL_DM_SEGMENT_TRACK_IDS, + MXF_UL_DM_FRAMEWORK, + MXF_UL_LOCATORS, + MXF_UL_LINKED_TRACK_ID, + MXF_UL_SAMPLE_RATE, + MXF_UL_CONTAINER_DURATION, + MXF_UL_ESSENCE_CONTAINER, + MXF_UL_CODEC, + MXF_UL_SIGNAL_STANDARD, + MXF_UL_FRAME_LAYOUT, + MXF_UL_STORED_WIDTH, + MXF_UL_STORED_HEIGHT, + MXF_UL_STORED_F2_OFFSET, + MXF_UL_SAMPLED_WIDTH, + MXF_UL_SAMPLED_HEIGHT, + MXF_UL_SAMPLED_X_OFFSET, + MXF_UL_SAMPLED_Y_OFFSET, + MXF_UL_DISPLAY_HEIGHT, + MXF_UL_DISPLAY_WIDTH, + MXF_UL_DISPLAY_X_OFFSET, + MXF_UL_DISPLAY_Y_OFFSET, + MXF_UL_DISPLAY_F2_OFFSET, + MXF_UL_ASPECT_RATIO, + MXF_UL_ACTIVE_FORMAT_DESCRIPTOR, + MXF_UL_VIDEO_LINE_MAP, + MXF_UL_ALPHA_TRANSPARENCY, + MXF_UL_CAPTURE_GAMMA, + MXF_UL_IMAGE_ALIGNMENT_OFFSET, + MXF_UL_IMAGE_START_OFFSET, + MXF_UL_IMAGE_END_OFFSET, + MXF_UL_FIELD_DOMINANCE, + MXF_UL_PICTURE_ESSENCE_CODING, + MXF_UL_AUDIO_SAMPLING_RATE, + MXF_UL_LOCKED, + MXF_UL_AUDIO_REF_LEVEL, + MXF_UL_ELECTRO_SPATIAL_FORMULATION, + MXF_UL_CHANNEL_COUNT, + MXF_UL_QUANTIZATION_BITS, + MXF_UL_DIAL_NORM, + MXF_UL_SOUND_ESSENCE_COMPRESSION, + MXF_UL_COMPONENT_DEPTH, + MXF_UL_HORIZONTAL_SUBSAMPLING, + MXF_UL_VERTICAL_SUBSAMPLING, + MXF_UL_COLOR_SITING, + MXF_UL_REVERSED_BYTE_ORDER, + MXF_UL_PADDING_BITS, + MXF_UL_ALPHA_SAMPLE_DEPTH, + MXF_UL_BLACK_REF_LEVEL, + MXF_UL_WHITE_REF_LEVEL, + MXF_UL_COLOR_RANGE, + MXF_UL_COMPONENT_MAX_REF, + MXF_UL_COMPONENT_MIN_REF, + MXF_UL_ALPHA_MAX_REF, + MXF_UL_ALPHA_MIN_REF, + MXF_UL_SCANNING_DIRECTION, + MXF_UL_PIXEL_LAYOUT, + MXF_UL_DATA_ESSENCE_CODING, + MXF_UL_SUB_DESCRIPTORS, + MXF_UL_LOCATOR_NAME, + MXF_UL_URL_STRING, MXF_UL_MAX } MXFULId; |