Quote:
If so, then if I'm reading 5.5.8 right, the UL shown above is illegal, right ? - not documented in SMPTE spreadsheets.
Right.
For some reason there is a common misconception that you can put whatever you want in a UUID field. This is not true - the format is defined by
RFC 4122.
MXF (and for that matter AAF) use a trick to allow UUIDs and ULs to be used interchangeably; all valid UUIDs have the MSB of the 9th byte set and all ULs start with 0x06. This means that if "end-swap" a UL (you re-order a UL so that the first eight bytes are stored last and the last eight first) you can store it in a UUID field and distinguish it from a genuine UUID. This process is described in EG41 section 5.5.8.
So, we have the situation that MXF UUID fields can either store a UUID as defined by RFC 4122 (9th byte has its MSB set) or an end-swapped UL (9th byte is 0x06).
What I frequently find is someone has simply put ASCII text in the field instead, such as "MyFirstDevice". This is not a UUID, nor is it an end-swapped UL.
If you look at the bytes that are stored in the ProductUID given you will see that they are actually "FireStore".
When MXFLib displays a UUID it checks the MSB of the 9th byte; if it is set it displays it as a UUID (with curly brackets), otherwise it end-swaps it and displays it as a UL (with square brackets). If the data is neither a UUID or a UL you will just get garbage!
Note: These mixed UUID/ULs are generally called AUIDs. If you do the same trick in reverse (store an end-swapped UUID in a UL field) it seems to be increasingly common to call that an IDAU (you see what they have done? They have end-swapped AUID)