The following JPEG marker segments metadata are supported:
Frame Marker Segment Level
SOF0, SOF1, SOF2 and SOF3 (read only)
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
<Frame marker name> |
<Frame marker Id> |
LEVEL_START |
0 |
NULL |
0 |
True |
<Frame marker size tag name> |
<Frame marker size tag Id> |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"Precision" |
212 |
VALUE_ITEM |
UINT8 |
|
1 |
True |
"Lines" |
213 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"SamplesPerLine" |
214 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"ComponentNumber" |
215 |
VALUE_ITEM |
UINT8 |
<n> |
1 |
True |
Frame component level 1 |
|
Frame component level <n> |
<Frame marker name> |
<Frame marker Id> |
LEVEL_END |
0 |
NULL |
0 |
True |
<Frame marker Id>, <Frame marker name>, <Frame marker size tag name>, and <Frame marker size tag Id> are described in the table below:
Frame Marker |
<Frame Marker Name> |
<Frame Marker Id> |
<Frame Marker Size Tag Name> |
<Frame Marker Size Tag Id> |
SOF0 |
"SOF0" |
0xFFC0 |
"SOF0_DATASIZE" |
60192 |
SOF1 |
"SOF1" |
0xFFC1 |
"SOF1_DATASIZE" |
60193 |
SOF2 |
"SOF2" |
0xFFC2 |
"SOF2_DATASIZE" |
60194 |
SOF3 |
"SOF3" |
0xFFC3 |
"SOF3_DATASIZE" |
60195 |
Frame Component Level
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"Component" |
<Component No.> |
LEVEL_START |
0 |
NULL |
0 |
True |
"Id" |
<Component No.> |
VALUE_ITEM |
UINT |
|
1 |
True |
"MCU_HV" |
<Component No.> |
VALUE_ITEM |
UINT |
|
1 |
True |
"QuantizationNumber" |
<Component No.> |
VALUE_ITEM |
UINT |
|
1 |
True |
"Component" |
<Component No.> |
LEVEL_END |
0 |
NULL |
0 |
True |
|
<Component No.> is frame component identifier of appropriate component. |
Scan Marker Segment Level
SOS (read only)
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"SOS" |
0xFFDA |
LEVEL_START |
0 |
NULL |
0 |
True |
"SOS_DATASIZE" |
60218 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"ComponentNumber" |
228 |
VALUE_ITEM |
UINT8 |
<n> |
1 |
True |
Scan component level 1 |
|
Scan component level <n> |
"SpectralStart" |
235 |
VALUE_ITEM |
UINT8 |
|
1 |
True |
"SpectralEnd" |
236 |
VALUE_ITEM |
UINT8 |
|
|
True |
"AH_AL" |
237 |
VALUE_ITEM |
UINT8 |
|
|
True |
"SOS" |
0xFFDA |
LEVEL_START |
0 |
NULL |
0 |
True |
Scan Component Level
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"Component" |
<Component No.> |
LEVEL_START |
0 |
NULL |
0 |
True |
"Selector" |
<Component No.> |
VALUE_ITEM |
UINT8 |
|
1 |
True |
"DC_AC" |
<Component No.> |
VALUE_ITEM |
UINT8 |
|
1 |
True |
"Component" |
<Component No.> |
LEVEL_END |
0 |
NULL |
0 |
True |
|
<Component No.> is scan component selector of appropriate component. |
Define-Quantization-Table Marker Segment Level
DQT (read only)
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"DQT" |
0xFFDB |
LEVEL_START |
0 |
NULL |
0 |
True |
"DQT_DATASIZE" |
60219 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"QuantizationTable" |
<table 1 Id > |
VALUE_ITEM |
UINT8 or UINT16 |
|
64 |
True |
|
"QuantizationTable" |
<table 1 Id > |
VALUE_ITEM |
UINT8 or UINT16 |
|
64 |
True |
"DQT" |
0xFFDB |
LEVEL_END |
0 |
NULL |
0 |
True |
|
<table Id > is the appropriate quantization table identifier. |
Define-Huffman-Tables Marker Segment Level
DHT (read only)
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"DHT" |
0xFFC4 |
LEVEL_START |
0 |
NULL |
0 |
True |
"DHT_DATASIZE" |
60196 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"DATA" |
0xFFC4 |
VALUE_ITEM |
RAW_DATA |
|
<ValueSize> |
True |
"DHT" |
0xFFC4 |
LEVEL_END |
0 |
NULL |
0 |
True |
Comment Marker Segment Level
COM (read/write)
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"COM" |
0xFFFE |
LEVEL_START |
0 |
NULL |
0 |
True |
"COM_DATASIZE" |
60254 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"Comment" |
0xFFFE |
VALUE_ITEM |
STRING |
|
<ValueSize> |
True |
"COM" |
0xFFFE |
LEVEL_END |
0 |
NULL |
0 |
True |
Application Marker Segment Level
APP0-APP15 (read/write)
There are several application marker segments, which data structure is well known. These segments are parsed and their data are passed in special format.
These marker segments are:
JFIF APP0 Segment
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"APP0" |
0xFFE0 |
LEVEL_START |
0 |
NULL |
0 |
True |
"APP0_DATASIZE" |
60224 |
VALUE_ITEM |
UINT16 |
|
1 |
False |
"JFIF_HEADER" |
200 |
VALUE_ITEM |
STRING |
JFIF |
5 |
True |
"Version" |
201 |
VALUE_ITEM |
UINT16 |
|
1 |
False |
"ResolutionUnits" |
202 |
VALUE_ITEM |
UINT8 |
|
1 |
False |
"ResolutionX" |
203 |
VALUE_ITEM |
UINT16 |
|
1 |
False |
"ResolutionY" |
204 |
VALUE_ITEM |
UINT16 |
|
1 |
False |
"ThumbnailWidth" |
205 |
VALUE_ITEM |
UINT8 |
|
1 |
True |
"ThumbnailHeight" |
206 |
VALUE_ITEM |
UINT8 |
|
1 |
True |
"APP0" |
0xFFE0 |
LEVEL_END |
0 |
NULL |
0 |
True |
The thumbnail width tags are present only if the thumbnail is stored to JFIF segment.
The thumbnail height tags are present only if the thumbnail is stored to JFIF segment.
|
JFIF Extension (JFXX) APP0 Segment
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"APP0" |
0xFFE0 |
LEVEL_START |
0 |
NULL |
0 |
True |
"APP0_DATASIZE" |
60224 |
VALUE_ITEM |
UINT16 |
|
1 |
True |
"JFIF_EX_HEADER" |
209 |
VALUE_ITEM |
STRING |
"JFXX" |
5 |
True |
"ExtensionCode" |
210 |
VALUE_ITEM |
UINT8 |
|
1 |
True |
"APP0" |
0xFFE0 |
LEVEL_END |
0 |
NULL |
0 |
True |
Photoshop Image Resource APP13 Marker Segment
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
"APP13" |
0xFFED |
LEVEL_START |
0 |
NULL |
0 |
True |
"APP13_DATASIZE" |
60237 |
VALUE_ITEM |
UINT16 |
|
1 |
False |
"PHOTOSHOP_HEADER" |
59915 |
VALUE_ITEM |
STRING |
"Photoshop 3.0" |
14 |
False |
Photoshop Image Resource level 1 |
... |
Photoshop Image Resource level n |
"APP13" |
0xFFED |
LEVEL_END |
0 |
NULL |
0 |
True |
Other Application Marker Segment Levels
Name |
Id |
Type |
Value Type |
Value |
Value Length |
Read Only |
<Marker name> |
<Marker Id> |
LEVEL_START |
0 |
NULL |
0 |
True |
<Marker size tag name> |
<Marker size tag Id> |
VALUE_ITEM |
UINT16 |
|
1 |
False |
"DATA" |
<Marker Id> |
VALUE_ITEM |
RAW_DATA |
|
<ValueSize> |
False |
<Marker name> |
<Marker Id> |
LEVEL_END |
0 |
NULL |
0 |
True |
<Marker Id>, <Marker name>, <Marker size tag name>, and <Marker size tag Id> are in table below:
Marker |
<Marker Name> |
<Marker Id> |
<Marker Size Tag Name> |
<Marker Size Tag Id> |
APP0 |
"APP0" |
0xFFE0 |
"APP0_DATASIZE" |
60224 |
APP1 |
"APP1" |
0xFFE1 |
"APP1_DATASIZE" |
60225 |
APP2 |
"APP2" |
0xFFE2 |
"APP2_DATASIZE" |
60226 |
APP3 |
"APP3" |
0xFFE3 |
"APP3_DATASIZE" |
60227 |
APP4 |
"APP4" |
0xFFE4 |
"APP4_DATASIZE" |
60228 |
APP5 |
"APP5" |
0xFFE5 |
"APP5_DATASIZE" |
60229 |
APP6 |
"APP6" |
0xFFE6 |
"APP6_DATASIZE" |
60230 |
APP7 |
"APP7" |
0xFFE7 |
"APP7_DATASIZE" |
60231 |
APP8 |
"APP8" |
0xFFE8 |
"APP8_DATASIZE" |
60232 |
APP9 |
"APP9" |
0xFFE9 |
"APP9_DATASIZE" |
60233 |
APP10 |
"APP10" |
0xFFEA |
"APP10_DATASIZE" |
60234 |
APP11 |
"APP11" |
0xFFEB |
"APP11_DATASIZE" |
60235 |
APP12 |
"APP12" |
0xFFEC |
"APP12_DATASIZE" |
60236 |
APP13 |
"APP13" |
0xFFED |
"APP13_DATASIZE" |
60237 |
APP14 |
"APP14" |
0xFFEE |
"APP14_DATASIZE" |
60238 |
APP15 |
"APP15" |
0xFFEF |
"APP15_DATASIZE" |
60239 |