Commit Graph

363 Commits (208788de28150f1ceba5fbfa2f3fc5f191ac3258)

Author SHA1 Message Date
Dustin Oprea 089999187e Merge pull request #3 from kszafran/patch-1
Fixed example in README
2019-03-14 15:06:55 -04:00
Dustin Oprea e1cf486e31 README.md: Add reference to JPEG example
- People are confused.
2019-03-07 21:18:44 -05:00
Dustin Oprea d9ab04aa47 utility.go: Add ExifFullTimestampString
- Added time examples.
- Added comments.
2019-03-06 11:58:49 -05:00
Dustin Oprea ef77760c37 README.md: Added additional usage instructions 2019-03-06 11:34:34 -05:00
Dustin Oprea 8dfa922c47 ifd_builder_test.go: Simplified example. 2019-02-26 12:58:27 -05:00
Dustin Oprea 467b10f9db fd_builder_test.go: Add writer example
Closes #9
2019-02-26 12:23:39 -05:00
Dustin Oprea 38a16c885e ifd_builder.go: Add NextIb() so can access sibling IBs 2019-02-26 12:23:16 -05:00
Dustin Oprea 0dfac8434c ifd_tag_entry.go: Add needed value getter 2019-02-26 12:16:32 -05:00
Dustin Oprea a30f27f681 gps.go: Fix known S2 mishandling that can lead to an invalid cell 2019-02-26 12:15:29 -05:00
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