Dustin Oprea
8d79b03fc5
utility.go: Added function comment. Formatted file.
2019-01-03 19:31:17 -05:00
Dustin Oprea
eb7eb2b610
ifd_enumerate.go: Skip tags with invalid types.
...
Fixes #4 .
2019-01-03 19:20:55 -05:00
Dustin Oprea
d480165b94
utility: Added function to parse timestamps.
2019-01-01 22:55:30 -05:00
Dustin Oprea
bb29f78ee7
ifd_enumerate_test.go: Added example for reading a single tag.
2019-01-01 01:34:56 -05:00
Dustin Oprea
f2396f7fc7
exif-read-tool/main.go: Can now enable verbosity.
2018-12-25 19:46:00 -05:00
Dustin Oprea
dda14b2db8
exif.go: Tightened length checks for brute-force search.
2018-12-25 19:45:46 -05:00
Dustin Oprea
bf0b550eff
exif.go: Check for a long-enough EXIF header when searching.
2018-12-25 18:58:44 -05:00
Dustin Oprea
5409475851
Fixed wording in comment.
2018-11-13 01:58:33 -05:00
Dustin Oprea
a5784ff653
Update README.md
...
Replaced call to obsolete IsExif() with SearchAndExtractExif().
2018-11-13 01:47:46 -05:00
Dustin Oprea
ab09051aaa
ifd_enumerate: Bugfix for incorrect read semantics.
...
- ...to make sure we get the right number of bytes.
2018-09-16 03:42:48 -04:00
Dustin Oprea
811286316f
Updated documentation for recent changes.
2018-08-01 13:10:51 -04:00
Dustin Oprea
5fcfbfd359
ci: Removed S2-incompatible, earlier versions from testing.
2018-08-01 08:44:10 -04:00
Dustin Oprea
9068786204
Rewired to use IFD-path strings instead of IfdIdentities.
...
- These are absolute representations of where an IFD is positioned with
respect to the other IFDs. There is a more-specific, "fully-qualified"
form of the IFD-path that allows you to express indices in order to
refer to specific siblings.
- Eliminates issues with IFDs at different levels potentially having the
same name (if that's what is required with a certain dataset/
datasource).
- There is a specific IFD registry that controls the heirarchy of IFDs
that we recognize and the tags associated with the child IFDs. This
allows custom hierarchies replacing even the TIFF specification for
which are expected in an image (so we can read other types of images
or any potential IFD hierarchy, even non-image ones).
- IFD and IB instances embed the IFD-path and FQ IFD-path that they were
found or built for.
2018-08-01 08:35:21 -04:00
Dustin Oprea
15cf52b558
ifd: Imp'd notion of IFD paths.
2018-07-28 17:00:47 -04:00
Dustin Oprea
840d133d71
ifd: Added formal IFD index.
...
- Used to browser and validate tag trees, while also allowing for custom/non-
standard IFDs. Will be used instead of the hard-coded IFDs.
- Not to be confused with the IFD-index we establish with the IFDs for a
particular image file.
2018-07-27 17:21:27 -04:00
Dustin Oprea
d3b45fae77
We now have to pass a specific tag-index in from the top.
...
- This will allow us to handle custom tags and, with a little more work,
custom IFDs.
2018-07-26 22:45:43 -04:00
Dustin Oprea
d8cdf29fa6
TagIndex: Refactored to prepare for custom tags.
...
- More specifically, to prepare the way to register non-standard IFDs
and tags.
2018-07-26 03:08:03 -04:00
Dustin Oprea
2349792faa
assets: Attached PNG standards documents to project.
2018-06-18 00:43:27 -04:00
Dustin Oprea
dfbe003c0e
Reorganized to not require GOPATH unless testing.
2018-06-16 09:49:14 -04:00
Dustin Oprea
7a8e5b005e
ifd: Added enumeration example.
2018-06-14 04:04:31 -04:00
Dustin Oprea
86422559be
ifd: Added recursive tag enumerator.
...
- We now embed a child-IFD index on the `Ifd`.
2018-06-14 03:52:12 -04:00
Dustin Oprea
71dbc9ff87
ifd_builder_encode: Now allow the IB to be empty.
...
- So we can install EXIF blocks into images that don't have them.
2018-06-13 06:16:09 -04:00
Dustin Oprea
235b1a5936
exif: Renamed ErrNotExif to ErrNoExif.
2018-06-13 05:51:28 -04:00
Dustin Oprea
dcd8d23b07
ci: Quoted (and corrected) interpretation of Go versions.
2018-06-13 01:22:21 -04:00
Dustin Oprea
d485d511fb
type: Fixed string format.
2018-06-13 01:19:28 -04:00
Dustin Oprea
8ffa183548
ci: Added Go 1.10 testing.
2018-06-13 01:18:20 -04:00
Dustin Oprea
1abace139c
type: Fix for ASCII value encodings having an extra NUL.
...
- Fixed some error messages for accuracy.
2018-06-13 00:48:30 -04:00
Dustin Oprea
186facf99e
ifd_builder: Fix for error from SetStandard functions not adding new tags.
2018-06-11 04:42:54 -04:00
Dustin Oprea
7e10e5db27
ifd_builder: Added ChildWithIfdIdentity().
...
- Adjusted some of the tag replacement functionality.
2018-06-10 18:45:38 -04:00
Dustin Oprea
f998692895
type: Fixed FromString encoding for ASCII.
...
- We were appending a newline rather than NUL.
2018-06-10 18:45:34 -04:00
Dustin Oprea
d79470a4f4
type: Now support marshaling from string to all types.
2018-06-10 03:25:44 -04:00
Dustin Oprea
9b70a9180c
ifd_enumerate: Added FindIfdFromRootIfd().
2018-06-10 00:13:00 -04:00
Dustin Oprea
80bab4b221
ci: master is now tested first.
2018-06-09 11:31:46 -04:00
Dustin Oprea
7f19a65f70
gps: Bugfix: GpsInfo method receivers now references.
2018-06-09 11:29:16 -04:00
Dustin Oprea
57f66ab0db
ifd_enumerate: Renamed GPS image.
2018-06-09 03:20:17 -04:00
Dustin Oprea
b9537b58c2
ifd_enumerate: Now parse the GPS info.
...
- Moved some IFD functionality out to its own file.
- Tweaked the permissions on some assets.
2018-06-09 02:11:24 -04:00
Dustin Oprea
1ce5b771db
ifd_enumerate: Can now elect to not resolve tag value.
...
- To support testing.
2018-06-08 00:41:28 -04:00
Dustin Oprea
4c3a9d79f1
ifd_enumerate: Properly handle unknown-type tags during the initial parse.
2018-06-07 23:18:36 -04:00
Dustin Oprea
cda05ba702
ifd_enumerate: Now extract and store value bytes immediately.
2018-06-07 22:51:40 -04:00
Dustin Oprea
4cd9e35801
ifd_enumerate: Implemented (*Ifd).ChildWithName() .
...
- Corrected some tabs that weren't correctly changed to spaces.
2018-06-07 21:36:14 -04:00
Dustin Oprea
f4db9f31af
tags: We now use a singleton TagIndex internally.
...
- We now embed the tags data so that we can be used in single,
distributable binaries..
2018-06-07 05:15:51 -04:00
Dustin Oprea
1c95c159fb
ifd_builder: Renamed "FromConfig" functions.
...
- ..to use the word "Standard" instead, instead of having both.
- Removed original NewStandardBuilderTag function. Just used by a couple
of tests and it conflicts with one of the renamings.
2018-06-06 19:00:53 -04:00
Dustin Oprea
92f24ca51b
header: Fixed-bytes now determined by byte-order.
2018-06-06 06:53:54 -04:00
Dustin Oprea
2eb57331ff
exif: Dropped requirement for incorrect/non-standard EXIF prefix.
2018-06-06 05:32:14 -04:00
Dustin Oprea
d05c9b4c81
ifd_tag_entry: Decoupled test from header semantics.
2018-06-06 05:26:13 -04:00
Dustin Oprea
4c58c1c84b
exif: Eliminated an offset constant. Just used for tests.
...
- Will simplify fixing the header issues we have. It's relative, any way
(won't be affected by the imminent changes to the header).
2018-06-06 05:17:56 -04:00
Dustin Oprea
1d7239382b
testing: Moved common testing code to test_common.
...
- Tweaked comments to be more concise.
2018-06-06 05:11:07 -04:00
Dustin Oprea
f1b0dd3a32
exif: Streamlined header-builder.
...
- The ParseExifHeader() function is now completely responsible for
header decomposition and offset information.
2018-06-06 04:56:18 -04:00
Dustin Oprea
7745cfe74c
exif: Deimplemented IsExif().
...
- exif
- Began deconstructing Exif type in favor of just defining those
methods as functions.
- Added additional tests.
2018-06-06 04:37:43 -04:00
Dustin Oprea
7fa077bb78
exif: Added test for ParseExifHeader.
...
- Tweaked the test names for correctness.
2018-06-06 03:52:26 -04:00