#[repr(u32)]pub enum DataType {
Show 28 variants
Reserved = 0,
Utf8 = 1,
Utf16 = 2,
SJis = 3,
Utf8Sort = 4,
Utf16Sort = 5,
Gif = 12,
Jpeg = 13,
Png = 14,
BeSignedInteger = 21,
BeUnsignedInteger = 22,
BeFloat32 = 23,
BeFloat64 = 24,
Bmp = 27,
QuicktimeMetadata = 28,
Signed8BitInteger = 65,
Be16BitSignedInteger = 66,
Be32BitSignedInteger = 67,
BePointF32 = 70,
BeDimensionsF32 = 71,
BeRectF32 = 72,
Be64BitSignedInteger = 74,
Unsigned8BitInteger = 75,
Be16BitUnsignedInteger = 76,
Be32BitUnsignedInteger = 77,
Be64BitUnsignedInteger = 78,
AffineTransformF64 = 79,
Other(u32),
}Expand description
The well known basic data types
This should cover all the data types you’ll encounter in an MP4 file.
Variants§
Reserved = 0
Reserved for use where no type needs to be indicated
Utf8 = 1
UTF-8 string without any count or NULL terminator
Utf16 = 2
A big-endian UTF-16 string
SJis = 3
Deprecated unless it is needed for special Japanese characters
Utf8Sort = 4
The UTF-8 variant storage of a string for sorting only
Utf16Sort = 5
The UTF-16 variant storage of a string for sorting only
Gif = 12
DEPRECATED A GIF image
Jpeg = 13
A JPEG in a JFIF wrapper
Png = 14
A PNG in a PNG wrapper
BeSignedInteger = 21
A big-endian signed integer in 1,2,3 or 4 bytes
BeUnsignedInteger = 22
A big-endian unsigned integer in 1,2,3 or 4 bytes; size of value determines integer size
BeFloat32 = 23
A big-endian 32-bit floating point value (IEEE754)
BeFloat64 = 24
A big-endian 64-bit floating point value (IEEE754)
Bmp = 27
Windows bitmap format graphics
QuicktimeMetadata = 28
A QuickTime metadata atom
Signed8BitInteger = 65
An 8-bit signed integer
Be16BitSignedInteger = 66
A big-endian 16-bit signed integer
Be32BitSignedInteger = 67
A big-endian 32-bit signed integer
BePointF32 = 70
A block of data representing a two dimensional (2D) point with 32-bit big-endian floating point x and y coordinates. It has the structure:
struct {
BEFloat32 x;
BEFloat32 y;
}BeDimensionsF32 = 71
A block of data representing 2D dimensions with 32-bit big-endian floating point width and height. It has the structure:
struct {
BEFloat32 width;
BEFloat32 height;
}BeRectF32 = 72
A block of data representing a 2D rectangle with 32-bit big-endian floating point x and y coordinates and a 32-bit big-endian floating point width and height size. It has the structure:
struct {
BEFloat32 x;
BEFloat32 y;
BEFloat32 width;
BEFloat32 height;
}or the equivalent structure:
struct {
PointF32 origin;
DimensionsF32 size;
}Be64BitSignedInteger = 74
A big-endian 64-bit signed integer
Unsigned8BitInteger = 75
An 8-bit unsigned integer
Be16BitUnsignedInteger = 76
A big-endian 16-bit unsigned integer
Be32BitUnsignedInteger = 77
A big-endian 32-bit unsigned integer
Be64BitUnsignedInteger = 78
A big-endian 64-bit unsigned integer
AffineTransformF64 = 79
A block of data representing a 3x3 transformation matrix. It has the structure:
struct {
BEFloat64 matrix[3][3];
}Other(u32)
Some other data type