avformat/mxf: Establish register of local tags

Tags can be marked "not used" upfront, saving some space in the primer.
av_asserts0() is used to enforce that only tags that are in the primer can actually be written.
Sharing of MasteringDisplay ULs is now done via macros.
This commit is contained in:
Tomas Härdin
2021-01-27 14:08:55 +01:00
parent 5441699f83
commit ff0618b5c4
4 changed files with 250 additions and 216 deletions
+6 -2
View File
@@ -83,9 +83,13 @@ typedef struct MXFLocalTagPair {
UID uid;
} MXFLocalTagPair;
extern const uint8_t ff_mxf_mastering_display_prefix[13];
extern const uint8_t ff_mxf_random_index_pack_key[16];
extern const MXFLocalTagPair ff_mxf_mastering_display_local_tags[4];
#define FF_MXF_MasteringDisplay_PREFIX 0x06,0x0e,0x2b,0x34,0x01,0x01,0x01,0x0e,0x04,0x20,0x04,0x01,0x01
#define FF_MXF_MasteringDisplayPrimaries { FF_MXF_MasteringDisplay_PREFIX,0x01,0x00,0x00 }
#define FF_MXF_MasteringDisplayWhitePointChromaticity { FF_MXF_MasteringDisplay_PREFIX,0x02,0x00,0x00 }
#define FF_MXF_MasteringDisplayMaximumLuminance { FF_MXF_MasteringDisplay_PREFIX,0x03,0x00,0x00 }
#define FF_MXF_MasteringDisplayMinimumLuminance { FF_MXF_MasteringDisplay_PREFIX,0x04,0x00,0x00 }
#define FF_MXF_MASTERING_CHROMA_DEN 50000
#define FF_MXF_MASTERING_LUMA_DEN 10000