Exif file format allows to store Flashpix extensions in APP2 marker segments. There are several types of FPXR APP2 marker segments described below:
FPXR Contents List APP2 Marker Segment
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"APP2" |
0xFFE2 |
LEVEL_START |
0 |
NULL |
0 |
True |
"APP2_DATASIZE" |
60226 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"FPXR_HEADER" |
61221 |
VALUE_ITEM |
STRING |
"FPXR" |
4 |
False |
"FPXRVersion" |
61222 |
VALUE_ITEM |
UINT8 |
|
1 |
False |
"FPXRExtensionID" |
61223 |
VALUE_ITEM |
UINT8 |
"1" |
1 |
False |
"FPXRInteroperabilityCount" |
61224 |
VALUE_ITEM |
UINT16 |
<n> |
1 |
False |
Interoperability Entity level 0 |
... |
Interoperability Entity level <n> - 1 |
"APP2" |
0xFFE2 |
LEVEL_END |
0 |
NULL |
0 |
True |
Interoperability Entity Level
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"InteroperabilityEntity" |
<Ind.> |
LEVEL_START |
0 |
NULL |
0 |
True |
"EntitySize" |
<Ind.> |
VALUE_ITEM |
UINT32 |
0xFFFFFFFF for Storage or <Variable> for Stream |
1 |
False |
"DefaultValue" |
<Ind.> |
VALUE_ITEM |
UINT8 |
"FPXR" |
4 |
False |
"Storage/StreamName" |
<Ind.> |
VALUE_ITEM |
RAW_DATA |
<Unicode name> |
<Variable> |
False |
The next item is present only if "EntitySize" item value is equal 0xFFFFFFFF (Storage) |
"EntityClassID" |
<Ind.> |
VALUE_ITEM |
RAW_DATA |
|
16 |
False |
"InteroperabilityEntity" |
<Ind.> |
LEVEL_END |
0 |
NULL |
0 |
True |
FPXR Data Stream APP2 Marker Segment
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"APP2" |
0xFFE2 |
LEVEL_START |
0 |
NULL |
0 |
True |
"APP2_DATASIZE" |
60226 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"FPXR_HEADER" |
61221 |
VALUE_ITEM |
STRING |
"FPXR" |
4 |
False |
"FPXRVersion" |
61222 |
VALUE_ITEM |
UINT8 |
|
1 |
False |
"FPXRExtensionID" |
61223 |
VALUE_ITEM |
UINT8 |
"2" |
1 |
False |
"FPXRIndexToContentsList" |
61225 |
VALUE_ITEM |
UINT16 |
<Ind.> |
1 |
False |
"FPXROffsetToStream" |
61226 |
VALUE_ITEM |
UINT32 |
|
1 |
False |
"FPXRStreamData" |
61227 |
VALUE_ITEM |
RAW_DATA |
|
<Variable> |
False |
"APP2" |
0xFFE2 |
LEVEL_END |
0 |
NULL |
0 |
True |
<Ind.> is pointer to appropriate "InteroperabilityEntity" of FPXR Contents List APP2 marker segment. <Ind.> value is between 0 and <n> - 1(<n> is the "FPXRInteroperabilityCount" item value of FPXR Contents List APP2 marker segment).
The Other FPXR APP2 Marker Segment
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"APP2" |
0xFFE2 |
LEVEL_START |
0 |
NULL |
0 |
True |
"APP2_DATASIZE" |
60226 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"FPXR_HEADER" |
61221 |
VALUE_ITEM |
STRING |
"FPXR" |
4 |
False |
"FPXRVersion" |
61222 |
VALUE_ITEM |
UINT8 |
|
1 |
False |
"FPXRExtensionID" |
61223 |
VALUE_ITEM |
UINT8 |
More than "2" |
1 |
False |
"FPXRData" |
61228 |
VALUE_ITEM |
RAW_DATA |
|
<Variable> |
False |
"APP2" |
0xFFE2 |
LEVEL_END |
0 |
NULL |
0 |
True |