# Functions
BuildExifHeader constructs the bytes that go at the front of the stream.
Collect recursively builds a static structure of all IFDs and tags.
FindIfdFromRootIfd returns the given `Ifd` given the root-IFD and path of the desired IFD.
GetFlatExifData returns a simple, flat representation of all tags.
GetFlatExifDataUniversalSearch returns a simple, flat representation of all tags.
GetFlatExifDataUniversalSearchWithReadSeeker returns a simple, flat representation of all tags given a ReadSeeker.
GetOrCreateIbFromRootIb returns an IB representing the requested IFD, even if an IB doesn't already exist for it.
GpsDegreesEquals returns true if the two `GpsDegrees` are identical.
LoadStandardTags registers the tags that all devices/applications should support.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewGpsDegreesFromRationals returns a GpsDegrees struct given the EXIF-encoded information.
No description provided by the author
NewIfdBuilderFromExistingChain creates a chain of IB instances from an IFD chain generated from real data.
No description provided by the author
No description provided by the author
NewIfdBuilderWithExistingIfd creates a new IB using the same header type information as the given IFD.
No description provided by the author
NewIfdEnumerate returns a new instance of IfdEnumerate.
NewStandardBuilderTag constructs a `BuilderTag` instance.
NewTagIndex returns a new TagIndex struct.
ParseExifHeader parses the bytes at the very top of the header.
SearchAndExtractExif searches for an EXIF blob in the byte-slice.
SearchAndExtractExifN searches for an EXIF blob in the byte-slice, but skips the given number of EXIF blocks first.
SearchAndExtractExifWithReader searches for an EXIF blob using an `io.Reader`.
SearchFileAndExtractExif returns a slice from the beginning of the EXIF data to the end of the file (it's not practical to try and calculate where the data actually ends).
Visit recursively invokes a callback for every tag.
# Constants
ExifAddressableAreaStart is the absolute offset in the file that all offsets are relative to.
ExifDefaultFirstIfdOffset is essentially the number of bytes in addition to `ExifAddressableAreaStart` that you have to move in order to escape the rest of the header and get to the earliest point where we can put stuff (which has to be the first IFD).
ExifSignatureLength is the number of bytes in the EXIF signature (which customarily includes the first IFD offset).
Tag-ID + Tag-Type + Unit-Count + Value/Offset.
TagAltitudeId is the ID of the GPS altitude tag.
TagAltitudeRefId is the ID of the GPS altitude-orientation tag.
TagDatestampId is the ID of the GPS date tag.
TagGpsVersionId is the ID of the GPS version tag.
TagLatitudeId is the ID of the GPS latitude tag.
TagLatitudeRefId is the ID of the GPS latitude orientation tag.
TagLongitudeId is the ID of the GPS longitude tag.
TagLongitudeRefId is the ID of the GPS longitude-orientation tag.
TagTimestampId is the ID of the GPS time tag.
ThumbnailFqIfdPath is the fully-qualified IFD path that the thumbnail must be found in.
ThumbnailOffsetTagId returns the tag-ID of the thumbnail offset.
ThumbnailSizeTagId returns the tag-ID of the thumbnail size.
# Variables
No description provided by the author
No description provided by the author
ErrGpsCoordinatesNotValid means that some part of the geographic data was unparseable.
No description provided by the author
ErrNoGpsTags means that no GPS info was found.
ErrNoThumbnail means that no thumbnail was found.
ErrOffsetInvalid means that the file offset is not valid.
No description provided by the author
ErrTagNotFound indicates that the tag was not found.
ErrTagNotKnown indicates that the tag is not registered with us as a known tag.
ErrTagTypeNotValid means that the tag-type is not valid.
No description provided by the author
No description provided by the author
ValidGpsVersions is the list of recognized EXIF GPS versions/signatures.
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
ExifReadSeeker knows how to retrieve data from the EXIF blob relative to the beginning of the blob (so, absolute position (0) is the first byte of the EXIF data).
ExifTag is one simple representation of a tag in a flat list of all of them.
GpsDegrees is a high-level struct representing geographic data.
GpsInfo encapsulates all of the geographic information in one place.
Ifd represents a single, parsed IFD.
No description provided by the author
No description provided by the author
IfdByteEncoder converts an IB to raw bytes (for writing) while also figuring out all of the allocations and indirection that is required for extended data.
IfdEnumerate is the main enumeration type.
IfdIndex collects a bunch of IFD and tag information stored in several different ways in order to provide convenient lookups.
IfdTagEntry refers to a tag in the loaded EXIF block.
IndexedTag describes one index lookup result.
MiscellaneousExifData is reports additional data collected during the parse.
QueuedIfd is one IFD that has been identified but yet to be processed.
ScanOptions tweaks parser behavior/choices.
TagIndex is a tag-lookup facility.
# Interfaces
No description provided by the author
# Type aliases
ParsedTagVisitor is a callback used if wanting to visit through all tags and child IFDs from the current IFD and going down.
TagVisitorFn is called for each tag when enumerating through the EXIF.