Updated: October 28, 2024 |
Macro constants and functions for constructing FOURCC values
#define AOIFOURCC4( C0, C1, C2, C3 ) \ ( ((uint32_t)C0<<24) | ((uint8_t)C1<<16) | ((uint8_t)C2<<8) | ((uint8_t)C3) ) #define AOIFOURCC( FCC ) AOIFOURCC4( FCC[0], FCC[1], FCC[2], FCC[3] ) #define AOIFOURCC_METADATA_ISO8859 "TXT1" #define AOIFOURCC_METADATA_UTF16_LE "TXT2" #define AOIFOURCC_METADATA_UTF16_BE "2TXT" #define AOIFOURCC_METADATA_UTF16 "TX2T" #define AOIFOURCC_METADATA_UTF32_LE "TXT4" #define AOIFOURCC_METADATA_UTF32_BE "4TXT" #define AOIFOURCC_METADATA_UTF32 "TX4T" #define AOIFOURCC_METADATA_UTF8 "UTF8" #define AOIFOURCC_METADATA_ID3V1 "TXT0" #define AOIFOURCC_METADATA_BINARY "BINA" #define AOIFOURCC_METADATA_BOOL "BOOL" #define AOIFOURCC_METADATA_WORD "NUM2" #define AOIFOURCC_METADATA_DWORD "NUM4" #define AOIFOURCC_METADATA_QWORD "NUM8" #define AOIFOURCC_METADATA_STORAGE "TmpF"
The AOIFOURCC4() macro also generates a value suitable for the fourcc field, but takes four separate characters as input.
Using a value based on the AOIFOURCC_METADATA_STORAGE constant instructs the library to use a temporary path in the filesystem for storing the metadata payload (e.g., an image). The filename is in ASCII format.