forked from AndrewWPhillips/HexEdit
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path_JPG.XML
35 lines (35 loc) · 2.66 KB
/
_JPG.XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0"?>
<!DOCTYPE binary_file_format SYSTEM "BinaryFileFormat.dtd">
<binary_file_format name="JPEG_file_interchange_format" default_byte_order="big" default_read_only="false" default_char_set="ascii" web_site="http://www.w3.org/Graphics/JPEG/" allow_editing="false">
<data type="int" name="SOI" format="unsigned" len="2" domain="this == 0xFFD8" display="hex" comment="Start of information marker"/>
<struct name="APP0_segment" type_name="" comment="">
<data type="int" name="marker" format="unsigned" len="2" domain="this == 0xFFE0" display="hex" comment="APP0 marker"/>
<data type="int" name="length" format="unsigned" len="2" display=""/>
<data type="string" name="identifier" format="ascii" len="5" domain="this == "JFIF"" display=""/>
<data type="int" name="version" format="unsigned" len="2" display="hex"/>
<data type="int" name="units" format="unsigned" len="1" domain="{ NONE, DPI, DPcm }" display=""/>
<data type="int" name="Xdensity" format="unsigned" len="2" display=""/>
<data type="int" name="Ydensity" format="unsigned" len="2" display=""/>
<data type="int" name="Xthumbnail" format="unsigned" len="1" display=""/>
<data type="int" name="Ythumbnail" format="unsigned" len="1" display=""/>
<data type="none" name="RGBn" len="3 * Xthumbnail * Ythumbnail"/>
</struct>
<for name="segment" count="" stop_test="this.marker == 0xFFD9" type_name="" comment="">
<struct name="" type_name="" comment="">
<data type="int" name="marker" format="unsigned" len="2" display="hex" domain="this >= 0xFFC0" comment="This value determines what type of segment follows."/>
<if test="marker != 0xFFDA && marker !=0xFFD9" comment="">
<struct name="Other" type_name="" comment="Other data segments apart from SOS">
<data type="int" name="length" format="unsigned" len="2" display="" comment="length of the segment (not including marker but including length itself)."/>
<data type="none" name="rest" len="length - 2"/>
</struct>
</if>
<if test="marker == 0xFFDA" comment="">
<struct name="SOS" type_name="" comment="Start of scan. This is the last segment which continues to end of file except for the EOI marker (FFD9) which is included here for simplicity.">
<data type="int" name="length" format="unsigned" len="2" display="" comment="Scan header length. Does not include the data length."/>
<data type="none" name="scan_header" len="length - 2"/>
<data type="none" name="data" comment="The actual image data. Continues to EOF (except for terminating EOI marker)."/>
</struct>
</if>
</struct>
</for>
</binary_file_format>