forked from hfiguiere/exifprobe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES_2.0
185 lines (157 loc) · 8.72 KB
/
CHANGES_2.0
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
2.1.0:
* Fix crashers:
- https://github.com/hfiguiere/exifprobe/issues/5
- https://github.com/hfiguiere/exifprobe/issues/9
* Fix infinite loop due to premature end-of-file
(Issue https://github.com/hfiguiere/exifprobe/issues/3)
* Fix and infinite recursion for the Interop IFD parsing.
* Fix other fuzzing crashers (https://github.com/hfiguiere/exifprobe/issues/2).
* Added SRAW Type and Slice tags for CR2 files.
* Fix build on Windows (Issue https://github.com/hfiguiere/exifprobe/pull/1)
* Fix EXIFPROBE_OPTIONS (https://github.com/hfiguiere/exifprobe/issues/8)
* Added basic parsing of Panasonic RAW and RW2
* Updated DNG for 1.3 and 1.4 spec.
* Added Cinema DNG.
* Fixed RAF header parsing.
* Fix printing Software/Make/Model if it is less than 4 bytes (Found
in Sony and iPhone generated files).
* More Canon MakerNote decoding.
* Allow overriding CC at build time
* Various misc fixes.
2.0.1:
The following changes have been made since version 2.0.0:
General code cleanup and bug-fixes for variables which could be
used before being set.
Fixed some missing 'break' statements in 'default' branches of several
switch statements in print_filetype(). These apparently caused gcc
3.4.3 to abort under Linux.
Updates to Minolta MakerNotes for A1 and A2 models, contributed by
Stanislav Brabec. Also added an identifier for the DiMAGE 5, and
updated the CamerSettings ImageSize. Now catches and flags the
'count' bug in the 'ImageByteSize' makernote tag, rather than
printing spurious multiple values at the ImageByteSize value used
as an offset.
In jp2000.c, 'mark' characters for file offsets were inconsistent.
Now '@' is used for all box tags, and '=' for untagged entries.
Also added a missing initialization for 'max_offset' in process_jp2_de().
APP sections and image data was omitted from output in LIST mode;
now printed as 'pseudo-tags' in "@offset:length" format. Also
print_offset_makervalue() was not printing @offset:length for
UNDEFINED sections in REPORT mode.
All 'pseudo-tags' are now marked with '*' in the address field
(these only appear in LIST mode, where the address field is not
enabled by default).
'Tiled' jpeg images included in tiff IFDs can be compressed
tile-by-tile. This has been seen in a few DNG images. It caused
report of "early EOI" when the first tile EOI was found, and the
remaining tiles ignored. The program now expands the first and
last tile, with just tile numbers in between.
The TIFF 'XML' tag now has a name.
In main(), the file close was handled outside check for null file
pointer, and would cause a core dump if no file was open. I hate
it when that happens.
ExposureInfo was not printed in CIFF directories due to an hidden
'break' statement which caused the following code to be ignored.
Also in CIFF, some directory entries would print with empty values
in REPORT mode if no option was selected for output format of
offsets. Now defaults to decimal offset.
=================================================================
2.0.0:
The following changes have been made since version 1.2.6:
Support has been added for several "raw" camera file/image formats:
MRW,CIFF/CRW,X3F,RAF,JP2/JPEG2000,DNG,CR2,NEF,ORF,PEF,KDC,K25,
and TIFF and JPEG support has been improved and generalized. In
particular, TIFF routines have fewer expectations that interfere with
handling of derived formats, and more information is extracted from
JPEG markers.
Image summaries have been improved and are now provided for all
supported formats (not just TIFF). The new summary scheme avoids
problems which occurred in TIFF summaries when IFD chains were longer
than two IFDs. Summary entries are provided for all sub-images found in
the file.
Subtle and not-so-subtle improvements have been made in program output.
All image sections (not just JPEG) are now reported "in place" with a
brief hex dump of the beginning of data, and an option to dump more.
More checks and alerts about "suspicious" file format elements are
provided, e.g reports of JPEG_EOI found before the announced end of the
section. LIST mode output now uses "long names" consisting of the
entire list of parent sections of the current tag, separated by dots.
This is more informative, and necessary to avoid duplicate names, but
may require post-processing if the output is consumed by a script (most
shells don't allow '.' in variable names). Short names in list mode are
typically not useful (but suit yourself). Long names can be enabled in
structural mode, if you like that sort of thing.
Bug fixes:
The program is now prepared to handle image summaries for chained
TIFF IFDs of any length. Chained IFDs have always been handled, but
the image summary mechanism was not prepared to handle chains longer
than the 'usual' 2 IFDs. Thumbnails found in the first two IFDs would
not be "forgotten" when processing later IFDs and would be reported
repeatedly; confused data would appear in the summary. The mechanism
would report only JPEG thumbnails and image blobs found in TIFF IFDs.
The new summary mechanism displays and records all image sections
found, in all supported file formats, and reports useful (and usually
more accurate) summary information about each at the end of processing,
including a count of images found and where they are located.
Expanded MakerNote coverage:
Much new data, particularly for Olympus (more tags, MakerNote subifds,
etc), and Nikon (including preview subifd). Most of the new information
is taken from Phil Harvey's 'ExifTool' web pages at
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html
Improved MakerNote handling:
The program now defines "noteversions" for makers that use multiple
versions, and will attempt to choose the correct version for
unknown models. Canon CustomFunctions have been fixed so that D30
CustomFunctions, previously displayed for all models containing
CustomFunctions tags, are now displayed only for D30, with additional
noteversions for some additional models. An unrecognized Canon model
with the CustomFunctions tag will display only the contents, with no
attempt at interpretation.
New options:
Several new options have been added (see the manual page);
-B len|a print 'len' (or all) bytes of binary image
data or failed JPEG data
-C [make]+[model] print known makes and models
-n print filename on each line of output
(toggle)
-pl print long names (default for LIST mode)
(toggle)
-t disable color by default if output is not
to a tty (effective ONLY if set in
EXIFPROBE_OPTIONS)
-O offset start processing at 'offset'
-N noteversion force use of MakerNote version 'noteversion'
[a maker-specific number]
-u print raw 'unicode' data. Default output
assumes data labeled as 'UNICODE' is really
ascii in a bigger box, and prints just the
low bytes. This option enables raw printing
of both bytes (no translations attempted).
(toggle)
Auxilliary programs:
Some crude but sometimes useful auxiliary programs are now
included with the distribution.
extract_section - extracts a section of a file given start offset
and length, or start and end offset (which you
can get from exifprobe output). An easy way to
extract embedded JPEGs.
findjpeg - scan a file for valid jpeg streams. VERY crude,
and not useful on mostly binary files.
dump_section - print a specified chunk of a file as bytes,
shorts, longs, or short or long rationals.
probetohtml - a simple shell script which uses 'sed' to convert
color escape sequences to font color tags and
generate an HTML file for the output of exifprobe.
reformat.sh - script to reformat LIST output to change dots to
underscores, remove comments, etc. to make the
output acceptable to a shell for sourcing. The
'-var' and '-export' options of exifgrep are no
longer adequate for that purpose.
convert_rgb_to_tiff - convert the RGB section of a Canon CR2 file to
a 384x256 TIFF image that anybody can see.
Uses ImageMagick 'convert' utility on extracted
d.ata
convert_rgb_to_jpeg - convert the RGB section of a Canon CR2 file to
a 384x256 JPEG image that anybody can see.
Uses ImageMagick 'convert' utility on extracted
data.