-everything uses new data structures
-new function exif_thumbnail
#nearly stripped off all jhead code
@read_exif_data is now an alias for exif_read_data
@ important to differenciate old/new version for tests)
@new function exif_tagname returns the names of tags
@new function exif_thumbnail extracts embedded thumbnail (Marcus)
#switched to internal version 1.2
-Changed parameters after checking bugdatabase and discussion with
Rasmus: 1st=Filename, 2nd=NeededSections
# 3rd=Thumbnail, 4th=All
# 3rd and 4th parameter are currently diabled because the code
# does not work correctly (will correct this in later versions).
# Changing the parameters will not cause any problems because the
# old parameter functions never found their way in documentation
# and the they did not work...
@-Added TIFF support
@-Changed parameters after checking bugdatabase and discussion with Rasmus
@ 1st=Filename, 2nd=NeededSections
@ If the 2nd parameter is not present or 0 or '' the function will return
@ a result array even if no data was read from file.
# Personally i consider a default behaviour to generate no array if
# no data is present as a bad idea because here we can generate as
# much information as possible....
@ If the 2nd parameter is a string then that string describes which
@ sections have to be present in the file to generate a result array.
@ If none of the needed section is found the result will be false.
@ Section strings are "ANY_TAG","IFD0","COMMENT","EXIF","GPS","INTEROP"
@ "FPIX","APP12". Each string has to be separated by a colon. So
@ "COMMENT,EXIF" returns an array if either a comment or an Exif
@ section is present. "IFD0" is standard datastructure in a TIFF/JPEG
@ file that contains image information. "EXIF" is the Exif structure
@ of TIFF/JPEG (IFD0 subdirectory). "GPS", "INTEROP", "FPIX", "APP12"
@ are additional IFD0 subdirectories. The APP12 support is an
@ experimental Olympus support.
# Do not worry this is no problem, it is safe.
@(Marcus)
+New function exif_headername can be used to read the internal Tag namelist (was mainly created for debugging purpose but maybe somone writes code to create/update exif headers here).
+An internal version number is present.
+A testpage is supplied test.txt describes how the test works.
+The oldfunction read_exif_data has got an alias exif_read_data
As the old version of this module is very buggy i decided to implement the testpage (test.txt) and to create the alias. The test script only works with the alias as the old version does not pass tests. By the way it seems a good way to prepend 'exif_' to all functions in the module.
+Added Description,Artist
+Added missing memory deallocation
+Corrected error with multiple comments
+Corrected handling of ExifVersion, Tag has 4 ASCII characters *WITHOUT* NUL
+Corrected handling of Thumbnailsize if current source detects size < 0
+Changed all fields to char* that do not have a maximum length in EXIF standard
+Undocumented second Parameter ReadAll frees memory to early -> moved to third position default changed to false -> faster
+New second Parameter [true|false] to specify whether or not to to read thumbnails -> reading is timeconsumpting suppose default should be false -> done so