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 |