From 6e2cb00008cbf09e556b00f87603797fcaa47e09 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Mon, 16 Apr 2018 05:37:14 -0700 Subject: Depenancy upgrades and movign to dep. (#8630) --- vendor/github.com/rwcarlsen/goexif/.gitignore | 23 - vendor/github.com/rwcarlsen/goexif/README.md | 71 - .../goexif/exif/corrupt/huge_tag_exif.jpg | Bin 65536 -> 0 bytes .../goexif/exif/corrupt/infinite_loop_exif.jpg | Bin 3738 -> 0 bytes .../goexif/exif/corrupt/max_uint32_exif.jpg | Bin 65536 -> 0 bytes .../rwcarlsen/goexif/exif/example_test.go | 42 - vendor/github.com/rwcarlsen/goexif/exif/exif.go | 69 +- .../github.com/rwcarlsen/goexif/exif/exif_test.go | 202 -- vendor/github.com/rwcarlsen/goexif/exif/fields.go | 224 +- .../rwcarlsen/goexif/exif/regress_expected_test.go | 2293 -------------------- ...004-01-11-22-45-15-sep-2004-01-11-22-45-15a.jpg | Bin 4586 -> 0 bytes ...006-08-03-16-29-38-sep-2006-08-03-16-29-38a.jpg | Bin 9735 -> 0 bytes ...006-11-11-19-17-56-sep-2006-11-11-19-17-56a.jpg | Bin 35406 -> 0 bytes ...006-12-10-23-58-20-sep-2006-12-10-23-58-20a.jpg | Bin 8711 -> 0 bytes ...006-12-17-07-09-14-sep-2006-12-17-07-09-14a.jpg | Bin 38252 -> 0 bytes ...006-12-21-15-55-26-sep-2006-12-21-15-55-26a.jpg | Bin 16072 -> 0 bytes ...007-01-01-12-00-00-sep-2007-01-01-12-00-00a.jpg | Bin 17301 -> 0 bytes ...007-01-17-21-49-44-sep-2007-01-17-21-49-44a.jpg | Bin 7999 -> 0 bytes ...007-02-02-18-13-29-sep-2007-02-02-18-13-29a.jpg | Bin 39915 -> 0 bytes ...007-05-02-17-02-21-sep-2007-05-02-17-02-21a.jpg | Bin 11783 -> 0 bytes ...007-05-12-08-19-07-sep-2007-05-12-08-19-07a.jpg | Bin 35771 -> 0 bytes ...007-05-26-04-49-45-sep-2007-05-26-04-49-45a.jpg | Bin 35406 -> 0 bytes ...007-05-30-14-28-01-sep-2007-05-30-14-28-01a.jpg | Bin 35406 -> 0 bytes ...007-06-06-16-15-25-sep-2007-06-06-16-15-25a.jpg | Bin 35406 -> 0 bytes ...007-06-26-10-13-04-sep-2007-06-26-10-13-04a.jpg | Bin 7615 -> 0 bytes ...007-07-13-17-02-30-sep-2007-07-13-17-02-30a.jpg | Bin 21719 -> 0 bytes ...007-08-15-14-42-46-sep-2007-08-15-14-42-46a.jpg | Bin 11549 -> 0 bytes ...007-08-24-02-40-42-sep-2007-08-24-02-40-42a.jpg | Bin 7687 -> 0 bytes ...007-11-07-11-40-44-sep-2007-11-07-11-40-44a.jpg | Bin 11223 -> 0 bytes ...008-06-02-10-03-57-sep-2008-06-02-10-03-57a.jpg | Bin 9745 -> 0 bytes ...008-06-06-13-29-29-sep-2008-06-06-13-29-29a.jpg | Bin 11783 -> 0 bytes ...008-06-17-01-21-30-sep-2008-06-17-01-21-30a.jpg | Bin 14564 -> 0 bytes ...008-09-02-17-43-48-sep-2008-09-02-17-43-48a.jpg | Bin 5406 -> 0 bytes ...009-03-26-09-23-20-sep-2009-03-26-09-23-20a.jpg | Bin 10759 -> 0 bytes ...009-04-11-03-01-38-sep-2009-04-11-03-01-38a.jpg | Bin 43374 -> 0 bytes ...009-04-23-07-21-35-sep-2009-04-23-07-21-35a.jpg | Bin 37208 -> 0 bytes ...009-06-11-19-23-18-sep-2009-06-11-19-23-18a.jpg | Bin 7791 -> 0 bytes ...009-06-20-07-59-05-sep-2009-06-20-07-59-05a.jpg | Bin 13618 -> 0 bytes ...009-08-05-08-11-31-sep-2009-08-05-08-11-31a.jpg | Bin 9919 -> 0 bytes ...010-06-08-04-44-24-sep-2010-06-08-04-44-24a.jpg | Bin 10939 -> 0 bytes ...010-06-20-20-07-39-sep-2010-06-20-20-07-39a.jpg | Bin 8551 -> 0 bytes ...010-09-02-08-43-02-sep-2010-09-02-08-43-02a.jpg | Bin 19534 -> 0 bytes ...011-01-24-22-06-02-sep-2011-01-24-22-06-02a.jpg | Bin 29003 -> 0 bytes ...011-03-07-09-28-03-sep-2011-03-07-09-28-03a.jpg | Bin 10529 -> 0 bytes ...011-05-07-13-02-49-sep-2011-05-07-13-02-49a.jpg | Bin 23743 -> 0 bytes ...011-08-07-19-22-57-sep-2011-08-07-19-22-57a.jpg | Bin 9936 -> 0 bytes ...011-10-28-17-50-18-sep-2011-10-28-17-50-18a.jpg | Bin 7487 -> 0 bytes ...2011-10-28-18-25-43-sep-2011-10-28-18-25-43.jpg | Bin 7433 -> 0 bytes .../2011-11-18-15-38-34-sep-Photo11181538.jpg | Bin 12885 -> 0 bytes ...2012-06-02-10-12-28-sep-2012-06-02-10-12-28.jpg | Bin 32165 -> 0 bytes ...2012-09-21-22-07-34-sep-2012-09-21-22-07-34.jpg | Bin 10247 -> 0 bytes .../2012-12-19-21-38-40-sep-temple_square1.jpg | Bin 39182 -> 0 bytes .../samples/2012-12-21-11-15-19-sep-IMG_0001.jpg | Bin 25269 -> 0 bytes .../samples/2013-02-05-23-12-09-sep-DSCI0001.jpg | Bin 10854 -> 0 bytes ...099-08-12-19-59-29-sep-2099-08-12-19-59-29a.jpg | Bin 37491 -> 0 bytes ...216-11-15-11-46-51-sep-2216-11-15-11-46-51a.jpg | Bin 23011 -> 0 bytes .../samples/FailedHash-NoDate-sep-remembory.jpg | Bin 935 -> 0 bytes .../rwcarlsen/goexif/exif/samples/f1-exif.jpg | Bin 992 -> 0 bytes .../rwcarlsen/goexif/exif/samples/f2-exif.jpg | Bin 994 -> 0 bytes .../rwcarlsen/goexif/exif/samples/f3-exif.jpg | Bin 992 -> 0 bytes .../rwcarlsen/goexif/exif/samples/f4-exif.jpg | Bin 994 -> 0 bytes .../rwcarlsen/goexif/exif/samples/f5-exif.jpg | Bin 980 -> 0 bytes .../rwcarlsen/goexif/exif/samples/f6-exif.jpg | Bin 982 -> 0 bytes .../rwcarlsen/goexif/exif/samples/f7-exif.jpg | Bin 980 -> 0 bytes .../rwcarlsen/goexif/exif/samples/f8-exif.jpg | Bin 982 -> 0 bytes .../goexif/exif/samples/geodegrees_as_string.jpg | Bin 22420 -> 0 bytes .../goexif/exif/samples/has-lens-info.jpg | Bin 22493 -> 0 bytes .../github.com/rwcarlsen/goexif/exifstat/main.go | 60 - .../github.com/rwcarlsen/goexif/mknote/fields.go | 268 --- .../github.com/rwcarlsen/goexif/mknote/mknote.go | 70 - vendor/github.com/rwcarlsen/goexif/tiff/tag.go | 22 +- .../github.com/rwcarlsen/goexif/tiff/tiff_test.go | 235 -- 72 files changed, 174 insertions(+), 3405 deletions(-) delete mode 100644 vendor/github.com/rwcarlsen/goexif/.gitignore delete mode 100644 vendor/github.com/rwcarlsen/goexif/README.md delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/corrupt/huge_tag_exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/corrupt/infinite_loop_exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/corrupt/max_uint32_exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/example_test.go delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/exif_test.go delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/regress_expected_test.go delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2004-01-11-22-45-15-sep-2004-01-11-22-45-15a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2006-08-03-16-29-38-sep-2006-08-03-16-29-38a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2006-11-11-19-17-56-sep-2006-11-11-19-17-56a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-10-23-58-20-sep-2006-12-10-23-58-20a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-17-07-09-14-sep-2006-12-17-07-09-14a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-21-15-55-26-sep-2006-12-21-15-55-26a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-01-12-00-00-sep-2007-01-01-12-00-00a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-17-21-49-44-sep-2007-01-17-21-49-44a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-02-02-18-13-29-sep-2007-02-02-18-13-29a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-02-17-02-21-sep-2007-05-02-17-02-21a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-12-08-19-07-sep-2007-05-12-08-19-07a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-26-04-49-45-sep-2007-05-26-04-49-45a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-30-14-28-01-sep-2007-05-30-14-28-01a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-06-16-15-25-sep-2007-06-06-16-15-25a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-26-10-13-04-sep-2007-06-26-10-13-04a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-07-13-17-02-30-sep-2007-07-13-17-02-30a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-15-14-42-46-sep-2007-08-15-14-42-46a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-24-02-40-42-sep-2007-08-24-02-40-42a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2007-11-07-11-40-44-sep-2007-11-07-11-40-44a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-02-10-03-57-sep-2008-06-02-10-03-57a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-06-13-29-29-sep-2008-06-06-13-29-29a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-17-01-21-30-sep-2008-06-17-01-21-30a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2008-09-02-17-43-48-sep-2008-09-02-17-43-48a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2009-03-26-09-23-20-sep-2009-03-26-09-23-20a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-11-03-01-38-sep-2009-04-11-03-01-38a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-23-07-21-35-sep-2009-04-23-07-21-35a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-11-19-23-18-sep-2009-06-11-19-23-18a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-20-07-59-05-sep-2009-06-20-07-59-05a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2009-08-05-08-11-31-sep-2009-08-05-08-11-31a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-08-04-44-24-sep-2010-06-08-04-44-24a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-20-20-07-39-sep-2010-06-20-20-07-39a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2010-09-02-08-43-02-sep-2010-09-02-08-43-02a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2011-01-24-22-06-02-sep-2011-01-24-22-06-02a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2011-03-07-09-28-03-sep-2011-03-07-09-28-03a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2011-05-07-13-02-49-sep-2011-05-07-13-02-49a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2011-08-07-19-22-57-sep-2011-08-07-19-22-57a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-17-50-18-sep-2011-10-28-17-50-18a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-18-25-43-sep-2011-10-28-18-25-43.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2011-11-18-15-38-34-sep-Photo11181538.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2012-06-02-10-12-28-sep-2012-06-02-10-12-28.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2012-09-21-22-07-34-sep-2012-09-21-22-07-34.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-19-21-38-40-sep-temple_square1.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-21-11-15-19-sep-IMG_0001.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2013-02-05-23-12-09-sep-DSCI0001.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2099-08-12-19-59-29-sep-2099-08-12-19-59-29a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/2216-11-15-11-46-51-sep-2216-11-15-11-46-51a.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/FailedHash-NoDate-sep-remembory.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/f1-exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/f2-exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/f3-exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/f4-exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/f5-exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/f6-exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/f7-exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/f8-exif.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/geodegrees_as_string.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exif/samples/has-lens-info.jpg delete mode 100644 vendor/github.com/rwcarlsen/goexif/exifstat/main.go delete mode 100644 vendor/github.com/rwcarlsen/goexif/mknote/fields.go delete mode 100644 vendor/github.com/rwcarlsen/goexif/mknote/mknote.go delete mode 100644 vendor/github.com/rwcarlsen/goexif/tiff/tiff_test.go (limited to 'vendor/github.com/rwcarlsen') diff --git a/vendor/github.com/rwcarlsen/goexif/.gitignore b/vendor/github.com/rwcarlsen/goexif/.gitignore deleted file mode 100644 index 3866bbf31..000000000 --- a/vendor/github.com/rwcarlsen/goexif/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so -*.sw* - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe diff --git a/vendor/github.com/rwcarlsen/goexif/README.md b/vendor/github.com/rwcarlsen/goexif/README.md deleted file mode 100644 index b57ef20fc..000000000 --- a/vendor/github.com/rwcarlsen/goexif/README.md +++ /dev/null @@ -1,71 +0,0 @@ -goexif -====== - -Provides decoding of basic exif and tiff encoded data. Still in alpha - no guarantees. -Suggestions and pull requests are welcome. Functionality is split into two packages - "exif" and "tiff" -The exif package depends on the tiff package. -Documentation can be found at http://godoc.org/github.com/rwcarlsen/goexif - -Like goexif? - Bitcoin Cash tips welcome: 1DrU5V37nTXuv4vnRLVpahJEjhdATNgoBh - -To install, in a terminal type: - -``` -go get github.com/rwcarlsen/goexif/exif -``` - -Or if you just want the tiff package: - -``` -go get github.com/rwcarlsen/goexif/tiff -``` - -Example usage: - -```go -package main - -import ( - "fmt" - "log" - "os" - - "github.com/rwcarlsen/goexif/exif" - "github.com/rwcarlsen/goexif/mknote" -) - -func ExampleDecode() { - fname := "sample1.jpg" - - f, err := os.Open(fname) - if err != nil { - log.Fatal(err) - } - - // Optionally register camera makenote data parsing - currently Nikon and - // Canon are supported. - exif.RegisterParsers(mknote.All...) - - x, err := exif.Decode(f) - if err != nil { - log.Fatal(err) - } - - camModel, _ := x.Get(exif.Model) // normally, don't ignore errors! - fmt.Println(camModel.StringVal()) - - focal, _ := x.Get(exif.FocalLength) - numer, denom, _ := focal.Rat2(0) // retrieve first (only) rat. value - fmt.Printf("%v/%v", numer, denom) - - // Two convenience functions exist for date/time taken and GPS coords: - tm, _ := x.DateTime() - fmt.Println("Taken: ", tm) - - lat, long, _ := x.LatLong() - fmt.Println("lat, long: ", lat, ", ", long) -} -``` - - -[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/5e166f74cdb82b999ccd84e3c4dc4348 "githalytics.com")](http://githalytics.com/rwcarlsen/goexif) diff --git a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/huge_tag_exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/corrupt/huge_tag_exif.jpg deleted file mode 100644 index ffb31743d..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/huge_tag_exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/infinite_loop_exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/corrupt/infinite_loop_exif.jpg deleted file mode 100644 index 6b0994713..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/infinite_loop_exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/max_uint32_exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/corrupt/max_uint32_exif.jpg deleted file mode 100644 index 2a51b0ba0..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/max_uint32_exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/example_test.go b/vendor/github.com/rwcarlsen/goexif/exif/example_test.go deleted file mode 100644 index 45fd5d4ad..000000000 --- a/vendor/github.com/rwcarlsen/goexif/exif/example_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package exif_test - -import ( - "fmt" - "log" - "os" - - "github.com/rwcarlsen/goexif/exif" - "github.com/rwcarlsen/goexif/mknote" -) - -func ExampleDecode() { - fname := "sample1.jpg" - - f, err := os.Open(fname) - if err != nil { - log.Fatal(err) - } - - // Optionally register camera makenote data parsing - currently Nikon and - // Canon are supported. - exif.RegisterParsers(mknote.All...) - - x, err := exif.Decode(f) - if err != nil { - log.Fatal(err) - } - - camModel, _ := x.Get(exif.Model) // normally, don't ignore errors! - fmt.Println(camModel.StringVal()) - - focal, _ := x.Get(exif.FocalLength) - numer, denom, _ := focal.Rat2(0) // retrieve first (only) rat. value - fmt.Printf("%v/%v", numer, denom) - - // Two convenience functions exist for date/time taken and GPS coords: - tm, _ := x.DateTime() - fmt.Println("Taken: ", tm) - - lat, long, _ := x.LatLong() - fmt.Println("lat, long: ", lat, ", ", long) -} diff --git a/vendor/github.com/rwcarlsen/goexif/exif/exif.go b/vendor/github.com/rwcarlsen/goexif/exif/exif.go index b420729da..87166ee4e 100644 --- a/vendor/github.com/rwcarlsen/goexif/exif/exif.go +++ b/vendor/github.com/rwcarlsen/goexif/exif/exif.go @@ -201,14 +201,16 @@ type Exif struct { Raw []byte } -// Decode parses EXIF-encoded data from r and returns a queryable Exif -// object. After the exif data section is called and the tiff structure -// decoded, each registered parser is called (in order of registration). If -// one parser returns an error, decoding terminates and the remaining -// parsers are not called. -// The error can be inspected with functions such as IsCriticalError to -// determine whether the returned object might still be usable. +// Decode parses EXIF data from r (a TIFF, JPEG, or raw EXIF block) +// and returns a queryable Exif object. After the EXIF data section is +// called and the TIFF structure is decoded, each registered parser is +// called (in order of registration). If one parser returns an error, +// decoding terminates and the remaining parsers are not called. +// +// The error can be inspected with functions such as IsCriticalError +// to determine whether the returned object might still be usable. func Decode(r io.Reader) (*Exif, error) { + // EXIF data in JPEG is stored in the APP1 marker. EXIF data uses the TIFF // format to store data. // If we're parsing a TIFF image, we don't need to strip away any data. @@ -216,15 +218,14 @@ func Decode(r io.Reader) (*Exif, error) { // marker and also the EXIF header. header := make([]byte, 4) - n, err := r.Read(header) + n, err := io.ReadFull(r, header) if err != nil { - return nil, err - } - if n < len(header) { - return nil, errors.New("exif: short read on header") + return nil, fmt.Errorf("exif: error reading 4 byte header, got %d, %v", n, err) } var isTiff bool + var isRawExif bool + var assumeJPEG bool switch string(header) { case "II*\x00": // TIFF - Little endian (Intel) @@ -232,8 +233,11 @@ func Decode(r io.Reader) (*Exif, error) { case "MM\x00*": // TIFF - Big endian (Motorola) isTiff = true + case "Exif": + isRawExif = true default: // Not TIFF, assume JPEG + assumeJPEG = true } // Put the header bytes back into the reader. @@ -241,9 +245,20 @@ func Decode(r io.Reader) (*Exif, error) { var ( er *bytes.Reader tif *tiff.Tiff + sec *appSec ) - if isTiff { + switch { + case isRawExif: + var header [6]byte + if _, err := io.ReadFull(r, header[:]); err != nil { + return nil, fmt.Errorf("exif: unexpected raw exif header read error") + } + if got, want := string(header[:]), "Exif\x00\x00"; got != want { + return nil, fmt.Errorf("exif: unexpected raw exif header; got %q, want %q", got, want) + } + fallthrough + case isTiff: // Functions below need the IFDs from the TIFF data to be stored in a // *bytes.Reader. We use TeeReader to get a copy of the bytes as a // side-effect of tiff.Decode() doing its work. @@ -251,9 +266,8 @@ func Decode(r io.Reader) (*Exif, error) { tr := io.TeeReader(r, b) tif, err = tiff.Decode(tr) er = bytes.NewReader(b.Bytes()) - } else { + case assumeJPEG: // Locate the JPEG APP1 header. - var sec *appSec sec, err = newAppSec(jpeg_APP1, r) if err != nil { return nil, err @@ -368,8 +382,27 @@ func (x *Exif) DateTime() (time.Time, error) { exifTimeLayout := "2006:01:02 15:04:05" dateStr := strings.TrimRight(string(tag.Val), "\x00") // TODO(bradfitz,mpl): look for timezone offset, GPS time, etc. - // For now, just always return the time.Local timezone. - return time.ParseInLocation(exifTimeLayout, dateStr, time.Local) + timeZone := time.Local + if tz, _ := x.TimeZone(); tz != nil { + timeZone = tz + } + return time.ParseInLocation(exifTimeLayout, dateStr, timeZone) +} + +func (x *Exif) TimeZone() (*time.Location, error) { + // TODO: parse more timezone fields (e.g. Nikon WorldTime). + timeInfo, err := x.Get("Canon.TimeInfo") + if err != nil { + return nil, err + } + if timeInfo.Count < 2 { + return nil, errors.New("Canon.TimeInfo does not contain timezone") + } + offsetMinutes, err := timeInfo.Int(1) + if err != nil { + return nil, err + } + return time.FixedZone("", offsetMinutes*60), nil } func ratFloat(num, dem int64) float64 { @@ -574,7 +607,7 @@ func newAppSec(marker byte, r io.Reader) (*appSec, error) { } dataLenBytes := make([]byte, 2) - for k,_ := range dataLenBytes { + for k, _ := range dataLenBytes { c, err := br.ReadByte() if err != nil { return nil, err diff --git a/vendor/github.com/rwcarlsen/goexif/exif/exif_test.go b/vendor/github.com/rwcarlsen/goexif/exif/exif_test.go deleted file mode 100644 index c53f1ddda..000000000 --- a/vendor/github.com/rwcarlsen/goexif/exif/exif_test.go +++ /dev/null @@ -1,202 +0,0 @@ -package exif - -//go:generate go run regen_regress.go -- regress_expected_test.go -//go:generate go fmt regress_expected_test.go - -import ( - "flag" - "fmt" - "math" - "os" - "path/filepath" - "strings" - "testing" - - "github.com/rwcarlsen/goexif/tiff" -) - -var dataDir = flag.String("test_data_dir", ".", "Directory where the data files for testing are located") - -func TestDecode(t *testing.T) { - fpath := filepath.Join(*dataDir, "samples") - f, err := os.Open(fpath) - if err != nil { - t.Fatalf("Could not open sample directory '%s': %v", fpath, err) - } - - names, err := f.Readdirnames(0) - if err != nil { - t.Fatalf("Could not read sample directory '%s': %v", fpath, err) - } - - cnt := 0 - for _, name := range names { - if !strings.HasSuffix(name, ".jpg") { - t.Logf("skipping non .jpg file %v", name) - continue - } - t.Logf("testing file %v", name) - f, err := os.Open(filepath.Join(fpath, name)) - if err != nil { - t.Fatal(err) - } - - x, err := Decode(f) - if err != nil { - t.Fatal(err) - } else if x == nil { - t.Fatalf("No error and yet %v was not decoded", name) - } - - t.Logf("checking pic %v", name) - x.Walk(&walker{name, t}) - cnt++ - } - if cnt != len(regressExpected) { - t.Errorf("Did not process enough samples, got %d, want %d", cnt, len(regressExpected)) - } -} - -type walker struct { - picName string - t *testing.T -} - -func (w *walker) Walk(field FieldName, tag *tiff.Tag) error { - // this needs to be commented out when regenerating regress expected vals - pic := regressExpected[w.picName] - if pic == nil { - w.t.Errorf(" regression data not found") - return nil - } - - exp, ok := pic[field] - if !ok { - w.t.Errorf(" regression data does not have field %v", field) - return nil - } - - s := tag.String() - if tag.Count == 1 && s != "\"\"" { - s = fmt.Sprintf("[%s]", s) - } - got := tag.String() - - if exp != got { - fmt.Println("s: ", s) - fmt.Printf("len(s)=%v\n", len(s)) - w.t.Errorf(" field %v bad tag: expected '%s', got '%s'", field, exp, got) - } - return nil -} - -func TestMarshal(t *testing.T) { - name := filepath.Join(*dataDir, "sample1.jpg") - f, err := os.Open(name) - if err != nil { - t.Fatalf("%v\n", err) - } - defer f.Close() - - x, err := Decode(f) - if err != nil { - t.Fatal(err) - } - if x == nil { - t.Fatal("bad err") - } - - b, err := x.MarshalJSON() - if err != nil { - t.Fatal(err) - } - - t.Logf("%s", b) -} - -func testSingleParseDegreesString(t *testing.T, s string, w float64) { - g, err := parseTagDegreesString(s) - if err != nil { - t.Fatal(err) - } - if math.Abs(w-g) > 1e-10 { - t.Errorf("Wrong parsing result %s: Want %.12f, got %.12f", s, w, g) - } -} - -func TestParseTagDegreesString(t *testing.T) { - // semicolon as decimal mark - testSingleParseDegreesString(t, "52,00000,50,00000,34,01180", 52.842781055556) // comma as separator - testSingleParseDegreesString(t, "52,00000;50,00000;34,01180", 52.842781055556) // semicolon as separator - - // point as decimal mark - testSingleParseDegreesString(t, "14.00000,44.00000,34.01180", 14.742781055556) // comma as separator - testSingleParseDegreesString(t, "14.00000;44.00000;34.01180", 14.742781055556) // semicolon as separator - testSingleParseDegreesString(t, "14.00000;44.00000,34.01180", 14.742781055556) // mixed separators - - testSingleParseDegreesString(t, "-008.0,30.0,03.6", -8.501) // leading zeros - - // no decimal places - testSingleParseDegreesString(t, "-10,15,54", -10.265) - testSingleParseDegreesString(t, "-10;15;54", -10.265) - - // incorrect mix of comma and point as decimal mark - s := "-17,00000,15.00000,04.80000" - if _, err := parseTagDegreesString(s); err == nil { - t.Error("parseTagDegreesString: false positive for " + s) - } -} - -// Make sure we error out early when a tag had a count of MaxUint32 -func TestMaxUint32CountError(t *testing.T) { - name := filepath.Join(*dataDir, "corrupt/max_uint32_exif.jpg") - f, err := os.Open(name) - if err != nil { - t.Fatalf("%v\n", err) - } - defer f.Close() - - _, err = Decode(f) - if err == nil { - t.Fatal("no error on bad exif data") - } - if !strings.Contains(err.Error(), "invalid Count offset") { - t.Fatal("wrong error:", err.Error()) - } -} - -// Make sure we error out early with tag data sizes larger than the image file -func TestHugeTagError(t *testing.T) { - name := filepath.Join(*dataDir, "corrupt/huge_tag_exif.jpg") - f, err := os.Open(name) - if err != nil { - t.Fatalf("%v\n", err) - } - defer f.Close() - - _, err = Decode(f) - if err == nil { - t.Fatal("no error on bad exif data") - } - if !strings.Contains(err.Error(), "short read") { - t.Fatal("wrong error:", err.Error()) - } -} - -// Check for a 0-length tag value -func TestZeroLengthTagError(t *testing.T) { - name := filepath.Join(*dataDir, "corrupt/infinite_loop_exif.jpg") - f, err := os.Open(name) - if err != nil { - t.Fatalf("%v\n", err) - } - defer f.Close() - - _, err = Decode(f) - if err == nil { - t.Fatal("no error on bad exif data") - } - if !strings.Contains(err.Error(), "zero length tag value") { - t.Fatal("wrong error:", err.Error()) - } -} diff --git a/vendor/github.com/rwcarlsen/goexif/exif/fields.go b/vendor/github.com/rwcarlsen/goexif/exif/fields.go index 0388d2390..734034de6 100644 --- a/vendor/github.com/rwcarlsen/goexif/exif/fields.go +++ b/vendor/github.com/rwcarlsen/goexif/exif/fields.go @@ -9,127 +9,127 @@ const UnknownPrefix = "UnknownTag_" // Primary EXIF fields const ( ImageWidth FieldName = "ImageWidth" - ImageLength = "ImageLength" // Image height called Length by EXIF spec - BitsPerSample = "BitsPerSample" - Compression = "Compression" - PhotometricInterpretation = "PhotometricInterpretation" - Orientation = "Orientation" - SamplesPerPixel = "SamplesPerPixel" - PlanarConfiguration = "PlanarConfiguration" - YCbCrSubSampling = "YCbCrSubSampling" - YCbCrPositioning = "YCbCrPositioning" - XResolution = "XResolution" - YResolution = "YResolution" - ResolutionUnit = "ResolutionUnit" - DateTime = "DateTime" - ImageDescription = "ImageDescription" - Make = "Make" - Model = "Model" - Software = "Software" - Artist = "Artist" - Copyright = "Copyright" - ExifIFDPointer = "ExifIFDPointer" - GPSInfoIFDPointer = "GPSInfoIFDPointer" - InteroperabilityIFDPointer = "InteroperabilityIFDPointer" - ExifVersion = "ExifVersion" - FlashpixVersion = "FlashpixVersion" - ColorSpace = "ColorSpace" - ComponentsConfiguration = "ComponentsConfiguration" - CompressedBitsPerPixel = "CompressedBitsPerPixel" - PixelXDimension = "PixelXDimension" - PixelYDimension = "PixelYDimension" - MakerNote = "MakerNote" - UserComment = "UserComment" - RelatedSoundFile = "RelatedSoundFile" - DateTimeOriginal = "DateTimeOriginal" - DateTimeDigitized = "DateTimeDigitized" - SubSecTime = "SubSecTime" - SubSecTimeOriginal = "SubSecTimeOriginal" - SubSecTimeDigitized = "SubSecTimeDigitized" - ImageUniqueID = "ImageUniqueID" - ExposureTime = "ExposureTime" - FNumber = "FNumber" - ExposureProgram = "ExposureProgram" - SpectralSensitivity = "SpectralSensitivity" - ISOSpeedRatings = "ISOSpeedRatings" - OECF = "OECF" - ShutterSpeedValue = "ShutterSpeedValue" - ApertureValue = "ApertureValue" - BrightnessValue = "BrightnessValue" - ExposureBiasValue = "ExposureBiasValue" - MaxApertureValue = "MaxApertureValue" - SubjectDistance = "SubjectDistance" - MeteringMode = "MeteringMode" - LightSource = "LightSource" - Flash = "Flash" - FocalLength = "FocalLength" - SubjectArea = "SubjectArea" - FlashEnergy = "FlashEnergy" - SpatialFrequencyResponse = "SpatialFrequencyResponse" - FocalPlaneXResolution = "FocalPlaneXResolution" - FocalPlaneYResolution = "FocalPlaneYResolution" - FocalPlaneResolutionUnit = "FocalPlaneResolutionUnit" - SubjectLocation = "SubjectLocation" - ExposureIndex = "ExposureIndex" - SensingMethod = "SensingMethod" - FileSource = "FileSource" - SceneType = "SceneType" - CFAPattern = "CFAPattern" - CustomRendered = "CustomRendered" - ExposureMode = "ExposureMode" - WhiteBalance = "WhiteBalance" - DigitalZoomRatio = "DigitalZoomRatio" - FocalLengthIn35mmFilm = "FocalLengthIn35mmFilm" - SceneCaptureType = "SceneCaptureType" - GainControl = "GainControl" - Contrast = "Contrast" - Saturation = "Saturation" - Sharpness = "Sharpness" - DeviceSettingDescription = "DeviceSettingDescription" - SubjectDistanceRange = "SubjectDistanceRange" - LensMake = "LensMake" - LensModel = "LensModel" + ImageLength FieldName = "ImageLength" // Image height called Length by EXIF spec + BitsPerSample FieldName = "BitsPerSample" + Compression FieldName = "Compression" + PhotometricInterpretation FieldName = "PhotometricInterpretation" + Orientation FieldName = "Orientation" + SamplesPerPixel FieldName = "SamplesPerPixel" + PlanarConfiguration FieldName = "PlanarConfiguration" + YCbCrSubSampling FieldName = "YCbCrSubSampling" + YCbCrPositioning FieldName = "YCbCrPositioning" + XResolution FieldName = "XResolution" + YResolution FieldName = "YResolution" + ResolutionUnit FieldName = "ResolutionUnit" + DateTime FieldName = "DateTime" + ImageDescription FieldName = "ImageDescription" + Make FieldName = "Make" + Model FieldName = "Model" + Software FieldName = "Software" + Artist FieldName = "Artist" + Copyright FieldName = "Copyright" + ExifIFDPointer FieldName = "ExifIFDPointer" + GPSInfoIFDPointer FieldName = "GPSInfoIFDPointer" + InteroperabilityIFDPointer FieldName = "InteroperabilityIFDPointer" + ExifVersion FieldName = "ExifVersion" + FlashpixVersion FieldName = "FlashpixVersion" + ColorSpace FieldName = "ColorSpace" + ComponentsConfiguration FieldName = "ComponentsConfiguration" + CompressedBitsPerPixel FieldName = "CompressedBitsPerPixel" + PixelXDimension FieldName = "PixelXDimension" + PixelYDimension FieldName = "PixelYDimension" + MakerNote FieldName = "MakerNote" + UserComment FieldName = "UserComment" + RelatedSoundFile FieldName = "RelatedSoundFile" + DateTimeOriginal FieldName = "DateTimeOriginal" + DateTimeDigitized FieldName = "DateTimeDigitized" + SubSecTime FieldName = "SubSecTime" + SubSecTimeOriginal FieldName = "SubSecTimeOriginal" + SubSecTimeDigitized FieldName = "SubSecTimeDigitized" + ImageUniqueID FieldName = "ImageUniqueID" + ExposureTime FieldName = "ExposureTime" + FNumber FieldName = "FNumber" + ExposureProgram FieldName = "ExposureProgram" + SpectralSensitivity FieldName = "SpectralSensitivity" + ISOSpeedRatings FieldName = "ISOSpeedRatings" + OECF FieldName = "OECF" + ShutterSpeedValue FieldName = "ShutterSpeedValue" + ApertureValue FieldName = "ApertureValue" + BrightnessValue FieldName = "BrightnessValue" + ExposureBiasValue FieldName = "ExposureBiasValue" + MaxApertureValue FieldName = "MaxApertureValue" + SubjectDistance FieldName = "SubjectDistance" + MeteringMode FieldName = "MeteringMode" + LightSource FieldName = "LightSource" + Flash FieldName = "Flash" + FocalLength FieldName = "FocalLength" + SubjectArea FieldName = "SubjectArea" + FlashEnergy FieldName = "FlashEnergy" + SpatialFrequencyResponse FieldName = "SpatialFrequencyResponse" + FocalPlaneXResolution FieldName = "FocalPlaneXResolution" + FocalPlaneYResolution FieldName = "FocalPlaneYResolution" + FocalPlaneResolutionUnit FieldName = "FocalPlaneResolutionUnit" + SubjectLocation FieldName = "SubjectLocation" + ExposureIndex FieldName = "ExposureIndex" + SensingMethod FieldName = "SensingMethod" + FileSource FieldName = "FileSource" + SceneType FieldName = "SceneType" + CFAPattern FieldName = "CFAPattern" + CustomRendered FieldName = "CustomRendered" + ExposureMode FieldName = "ExposureMode" + WhiteBalance FieldName = "WhiteBalance" + DigitalZoomRatio FieldName = "DigitalZoomRatio" + FocalLengthIn35mmFilm FieldName = "FocalLengthIn35mmFilm" + SceneCaptureType FieldName = "SceneCaptureType" + GainControl FieldName = "GainControl" + Contrast FieldName = "Contrast" + Saturation FieldName = "Saturation" + Sharpness FieldName = "Sharpness" + DeviceSettingDescription FieldName = "DeviceSettingDescription" + SubjectDistanceRange FieldName = "SubjectDistanceRange" + LensMake FieldName = "LensMake" + LensModel FieldName = "LensModel" ) // thumbnail fields const ( - ThumbJPEGInterchangeFormat = "ThumbJPEGInterchangeFormat" // offset to thumb jpeg SOI - ThumbJPEGInterchangeFormatLength = "ThumbJPEGInterchangeFormatLength" // byte length of thumb + ThumbJPEGInterchangeFormat FieldName = "ThumbJPEGInterchangeFormat" // offset to thumb jpeg SOI + ThumbJPEGInterchangeFormatLength FieldName = "ThumbJPEGInterchangeFormatLength" // byte length of thumb ) // GPS fields const ( GPSVersionID FieldName = "GPSVersionID" - GPSLatitudeRef = "GPSLatitudeRef" - GPSLatitude = "GPSLatitude" - GPSLongitudeRef = "GPSLongitudeRef" - GPSLongitude = "GPSLongitude" - GPSAltitudeRef = "GPSAltitudeRef" - GPSAltitude = "GPSAltitude" - GPSTimeStamp = "GPSTimeStamp" - GPSSatelites = "GPSSatelites" - GPSStatus = "GPSStatus" - GPSMeasureMode = "GPSMeasureMode" - GPSDOP = "GPSDOP" - GPSSpeedRef = "GPSSpeedRef" - GPSSpeed = "GPSSpeed" - GPSTrackRef = "GPSTrackRef" - GPSTrack = "GPSTrack" - GPSImgDirectionRef = "GPSImgDirectionRef" - GPSImgDirection = "GPSImgDirection" - GPSMapDatum = "GPSMapDatum" - GPSDestLatitudeRef = "GPSDestLatitudeRef" - GPSDestLatitude = "GPSDestLatitude" - GPSDestLongitudeRef = "GPSDestLongitudeRef" - GPSDestLongitude = "GPSDestLongitude" - GPSDestBearingRef = "GPSDestBearingRef" - GPSDestBearing = "GPSDestBearing" - GPSDestDistanceRef = "GPSDestDistanceRef" - GPSDestDistance = "GPSDestDistance" - GPSProcessingMethod = "GPSProcessingMethod" - GPSAreaInformation = "GPSAreaInformation" - GPSDateStamp = "GPSDateStamp" - GPSDifferential = "GPSDifferential" + GPSLatitudeRef FieldName = "GPSLatitudeRef" + GPSLatitude FieldName = "GPSLatitude" + GPSLongitudeRef FieldName = "GPSLongitudeRef" + GPSLongitude FieldName = "GPSLongitude" + GPSAltitudeRef FieldName = "GPSAltitudeRef" + GPSAltitude FieldName = "GPSAltitude" + GPSTimeStamp FieldName = "GPSTimeStamp" + GPSSatelites FieldName = "GPSSatelites" + GPSStatus FieldName = "GPSStatus" + GPSMeasureMode FieldName = "GPSMeasureMode" + GPSDOP FieldName = "GPSDOP" + GPSSpeedRef FieldName = "GPSSpeedRef" + GPSSpeed FieldName = "GPSSpeed" + GPSTrackRef FieldName = "GPSTrackRef" + GPSTrack FieldName = "GPSTrack" + GPSImgDirectionRef FieldName = "GPSImgDirectionRef" + GPSImgDirection FieldName = "GPSImgDirection" + GPSMapDatum FieldName = "GPSMapDatum" + GPSDestLatitudeRef FieldName = "GPSDestLatitudeRef" + GPSDestLatitude FieldName = "GPSDestLatitude" + GPSDestLongitudeRef FieldName = "GPSDestLongitudeRef" + GPSDestLongitude FieldName = "GPSDestLongitude" + GPSDestBearingRef FieldName = "GPSDestBearingRef" + GPSDestBearing FieldName = "GPSDestBearing" + GPSDestDistanceRef FieldName = "GPSDestDistanceRef" + GPSDestDistance FieldName = "GPSDestDistance" + GPSProcessingMethod FieldName = "GPSProcessingMethod" + GPSAreaInformation FieldName = "GPSAreaInformation" + GPSDateStamp FieldName = "GPSDateStamp" + GPSDifferential FieldName = "GPSDifferential" ) // interoperability fields diff --git a/vendor/github.com/rwcarlsen/goexif/exif/regress_expected_test.go b/vendor/github.com/rwcarlsen/goexif/exif/regress_expected_test.go deleted file mode 100644 index bf3998189..000000000 --- a/vendor/github.com/rwcarlsen/goexif/exif/regress_expected_test.go +++ /dev/null @@ -1,2293 +0,0 @@ -package exif - -var regressExpected = map[string]map[FieldName]string{ - "2004-01-11-22-45-15-sep-2004-01-11-22-45-15a.jpg": map[FieldName]string{ - PixelXDimension: `1600`, - InteroperabilityIFDPointer: `1009`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - Make: `"Samsung Techwin"`, - DateTimeOriginal: `"2004:01:11 22:45:15"`, - DateTimeDigitized: `"2004:01:11 22:45:15"`, - ImageDescription: `"SAMSUNG DIGITAL CAMERA "`, - ExifVersion: `"0220"`, - MeteringMode: `2`, - Flash: `1`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - FlashpixVersion: `"0100"`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormat: `1039`, - MaxApertureValue: `"32/10"`, - ExposureProgram: `2`, - Software: `"M5011S-1031"`, - DateTime: `"2004:01:11 22:45:19"`, - FNumber: `"320/100"`, - ISOSpeedRatings: `150`, - ComponentsConfiguration: `""`, - CompressedBitsPerPixel: `"2/1"`, - RelatedSoundFile: `""`, - XResolution: `"72/1"`, - ExifIFDPointer: `251`, - ExposureTime: `"1000/30000"`, - LightSource: `0`, - FocalLength: `"82/11"`, - ColorSpace: `1`, - PixelYDimension: `1200`, - FileSource: `""`, - Model: `"U-CA 501"`, - ThumbJPEGInterchangeFormatLength: `3530`, - ExposureBiasValue: `"95/10"`, - }, - "2006-08-03-16-29-38-sep-2006-08-03-16-29-38a.jpg": map[FieldName]string{ - ThumbJPEGInterchangeFormat: `5108`, - ThumbJPEGInterchangeFormatLength: `4323`, - MaxApertureValue: `"95/32"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `196`, - ExposureTime: `"1/1500"`, - InteroperabilityIndex: `"R98"`, - FocalPlaneXResolution: `"2816000/225"`, - YResolution: `"180/1"`, - DateTime: `"2006:08:03 16:29:38"`, - ShutterSpeedValue: `"338/32"`, - ApertureValue: `"95/32"`, - FocalLength: `"5800/1000"`, - FlashpixVersion: `"0100"`, - Make: `"Canon"`, - DateTimeOriginal: `"2006:08:03 16:29:38"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `2824`, - ExposureMode: `0`, - SceneCaptureType: `0`, - FNumber: `"28/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - SensingMethod: `2`, - DateTimeDigitized: `"2006:08:03 16:29:38"`, - CompressedBitsPerPixel: `"5/1"`, - MeteringMode: `5`, - MakerNote: `""`, - UserComment: `""`, - PixelXDimension: `2816`, - Model: `"Canon PowerShot SD600"`, - ExposureBiasValue: `"0/3"`, - PixelYDimension: `2112`, - FocalPlaneResolutionUnit: `2`, - DigitalZoomRatio: `"2816/2816"`, - Orientation: `6`, - XResolution: `"180/1"`, - ExifVersion: `"0220"`, - Flash: `24`, - FocalPlaneYResolution: `"2112000/169"`, - CustomRendered: `0`, - }, - "2006-11-11-19-17-56-sep-2006-11-11-19-17-56a.jpg": map[FieldName]string{ - FNumber: `"28/10"`, - ExposureProgram: `2`, - Software: `"E3200v1.1"`, - DateTime: `"2006:11:11 19:17:56"`, - ExposureTime: `"10/601"`, - ISOSpeedRatings: `50`, - ComponentsConfiguration: `""`, - CompressedBitsPerPixel: `"4/1"`, - Saturation: `0`, - XResolution: `"300/1"`, - ExifIFDPointer: `284`, - ExposureBiasValue: `"0/10"`, - LightSource: `0`, - FocalLength: `"58/10"`, - ColorSpace: `1`, - PixelYDimension: `1536`, - FileSource: `""`, - Model: `"E3200"`, - ThumbJPEGInterchangeFormatLength: `4546`, - DateTimeDigitized: `"2006:11:11 19:17:56"`, - PixelXDimension: `2048`, - InteroperabilityIFDPointer: `1026`, - SceneType: `""`, - DigitalZoomRatio: `"0/100"`, - GainControl: `0`, - Make: `"NIKON"`, - DateTimeOriginal: `"2006:11:11 19:17:56"`, - InteroperabilityIndex: `"R98"`, - ImageDescription: `" "`, - Sharpness: `0`, - YCbCrPositioning: `2`, - ExifVersion: `"0220"`, - MeteringMode: `5`, - Flash: `25`, - FocalLengthIn35mmFilm: `38`, - SubjectDistanceRange: `0`, - Orientation: `1`, - ResolutionUnit: `2`, - MaxApertureValue: `"30/10"`, - FlashpixVersion: `"0100"`, - WhiteBalance: `0`, - YResolution: `"300/1"`, - ThumbJPEGInterchangeFormat: `4596`, - CustomRendered: `1`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Contrast: `0`, - MakerNote: `""`, - UserComment: `" "`, - }, - "2006-12-10-23-58-20-sep-2006-12-10-23-58-20a.jpg": map[FieldName]string{ - Model: `"Canon PowerShot A80"`, - ExposureBiasValue: `"0/3"`, - PixelYDimension: `1704`, - FocalPlaneResolutionUnit: `2`, - FocalPlaneYResolution: `"1704000/210"`, - CustomRendered: `0`, - DigitalZoomRatio: `"2272/2272"`, - Orientation: `1`, - XResolution: `"180/1"`, - ExifVersion: `"0220"`, - Flash: `24`, - ThumbJPEGInterchangeFormat: `2036`, - ThumbJPEGInterchangeFormatLength: `6465`, - MaxApertureValue: `"95/32"`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `196`, - ExposureTime: `"1/80"`, - FocalLength: `"250/32"`, - FlashpixVersion: `"0100"`, - FocalPlaneXResolution: `"2272000/280"`, - YResolution: `"180/1"`, - DateTime: `"2006:12:10 23:58:20"`, - ShutterSpeedValue: `"202/32"`, - ApertureValue: `"95/32"`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Make: `"Canon"`, - DateTimeOriginal: `"2006:12:10 23:58:20"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `1844`, - FNumber: `"28/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - UserComment: `""`, - PixelXDimension: `2272`, - SensingMethod: `2`, - DateTimeDigitized: `"2006:12:10 23:58:20"`, - CompressedBitsPerPixel: `"3/1"`, - MeteringMode: `5`, - MakerNote: `""`, - }, - "2006-12-17-07-09-14-sep-2006-12-17-07-09-14a.jpg": map[FieldName]string{ - WhiteBalance: `0`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormatLength: `7063`, - ExposureBiasValue: `"0/10"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `1536`, - ExposureMode: `0`, - InteroperabilityIndex: `"R98"`, - Make: `"PENTAX Corporation"`, - DateTimeDigitized: `"2006:12:17 07:09:14"`, - PixelXDimension: `2048`, - InteroperabilityIFDPointer: `31048`, - CustomRendered: `0`, - DateTime: `"2006:12:17 07:09:14"`, - ExposureProgram: `2`, - FocalLengthIn35mmFilm: `38`, - Saturation: `0`, - XResolution: `"72/1"`, - ISOSpeedRatings: `64`, - ExifVersion: `"0220"`, - CompressedBitsPerPixel: `"5725504/3145728"`, - Flash: `24`, - Model: `"PENTAX Optio S6"`, - ThumbJPEGInterchangeFormat: `31172`, - MaxApertureValue: `"27/10"`, - FocalLength: `"62/10"`, - ColorSpace: `1`, - DateTimeOriginal: `"2006:12:17 07:09:14"`, - MakerNote: `""`, - DigitalZoomRatio: `"100/100"`, - SceneCaptureType: `0`, - Contrast: `0`, - Software: `"Optio S6 Ver 1.00"`, - FNumber: `"270/100"`, - Sharpness: `0`, - ComponentsConfiguration: `""`, - MeteringMode: `5`, - SubjectDistanceRange: `2`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `586`, - ExposureTime: `"1/160"`, - }, - "2006-12-21-15-55-26-sep-2006-12-21-15-55-26a.jpg": map[FieldName]string{ - DateTimeDigitized: `"2006:12:21 15:55:26"`, - CompressedBitsPerPixel: `"8/1"`, - MeteringMode: `3`, - MakerNote: `""`, - PixelXDimension: `2592`, - Saturation: `0`, - ImageDescription: `" "`, - Model: `"DSC-W15"`, - ExposureBiasValue: `"-20/10"`, - PixelYDimension: `1944`, - Orientation: `1`, - XResolution: `"72/1"`, - ISOSpeedRatings: `100`, - ExifVersion: `"0220"`, - Flash: `79`, - CustomRendered: `0`, - ThumbJPEGInterchangeFormat: `2484`, - ThumbJPEGInterchangeFormatLength: `13571`, - ExposureProgram: `2`, - MaxApertureValue: `"48/16"`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `256`, - ExposureTime: `"10/400"`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - YResolution: `"72/1"`, - DateTime: `"2006:12:21 15:55:26"`, - LightSource: `0`, - FocalLength: `"79/10"`, - FlashpixVersion: `"0100"`, - Contrast: `0`, - Make: `"SONY"`, - DateTimeOriginal: `"2006:12:21 15:55:26"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `2278`, - ExposureMode: `1`, - SceneCaptureType: `0`, - FNumber: `"28/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - Sharpness: `0`, - }, - "2007-01-01-12-00-00-sep-2007-01-01-12-00-00a.jpg": map[FieldName]string{ - MaxApertureValue: `"286/100"`, - ExposureIndex: `"200/1"`, - ThumbJPEGInterchangeFormat: `13848`, - ThumbJPEGInterchangeFormatLength: `3436`, - ExposureProgram: `2`, - ExposureTime: `"8942/1000000"`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `340`, - ApertureValue: `"286/100"`, - LightSource: `0`, - FocalLength: `"60/10"`, - FlashpixVersion: `"0100"`, - YResolution: `"480/1"`, - Software: `"KODAK EASYSHARE C713 ZOOM DIGITAL CAMERA"`, - ShutterSpeedValue: `"680/100"`, - InteroperabilityIFDPointer: `13816`, - ExposureMode: `0`, - FocalLengthIn35mmFilm: `36`, - SceneCaptureType: `0`, - Contrast: `0`, - Make: `"EASTMAN KODAK COMPANY"`, - DateTimeOriginal: `"2007:01:01 12:00:00"`, - ComponentsConfiguration: `""`, - WhiteBalance: `0`, - Sharpness: `0`, - FNumber: `"270/100"`, - ColorSpace: `1`, - FileSource: `""`, - PixelXDimension: `1280`, - SensingMethod: `2`, - GainControl: `2`, - Saturation: `0`, - SubjectDistanceRange: `0`, - DateTimeDigitized: `"2007:01:01 12:00:00"`, - MeteringMode: `5`, - MakerNote: `""`, - Model: `"KODAK EASYSHARE C713 ZOOM DIGITAL CAMERA"`, - ExposureBiasValue: `"0/10"`, - PixelYDimension: `960`, - ExifVersion: `"0221"`, - Flash: `25`, - CustomRendered: `0`, - DigitalZoomRatio: `"0/10"`, - Orientation: `1`, - XResolution: `"480/1"`, - ISOSpeedRatings: `200`, - }, - "2007-01-17-21-49-44-sep-2007-01-17-21-49-44a.jpg": map[FieldName]string{ - XResolution: `"180/1"`, - ISOSpeedRatings: `50`, - ExifVersion: `"0220"`, - Flash: `24`, - CustomRendered: `0`, - Orientation: `1`, - ThumbJPEGInterchangeFormatLength: `7024`, - ExposureProgram: `2`, - MaxApertureValue: `"297/100"`, - ThumbJPEGInterchangeFormat: `956`, - YCbCrPositioning: `2`, - ExifIFDPointer: `266`, - ExposureTime: `"1/30"`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - Software: `"1.00.018PR "`, - DateTime: `"2007:01:17 21:49:44"`, - ShutterSpeedValue: `"491/100"`, - ApertureValue: `"33/10"`, - LightSource: `0`, - FocalLength: `"73/10"`, - FlashpixVersion: `"0100"`, - YResolution: `"180/1"`, - DateTimeOriginal: `"2007:01:17 21:49:44"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `832`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Make: `"Digital Camera "`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - FNumber: `"33/10"`, - MeteringMode: `2`, - MakerNote: `"6106789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456"`, - PixelXDimension: `2816`, - SensingMethod: `2`, - DateTimeDigitized: `"2007:01:17 21:49:44"`, - Model: `"6MP-9Y8 "`, - ExposureBiasValue: `"0/10"`, - PixelYDimension: `2112`, - ImageDescription: `"Digital image "`, - }, - "2007-02-02-18-13-29-sep-2007-02-02-18-13-29a.jpg": map[FieldName]string{ - Software: `"Optio S5z Ver 1.00 "`, - FNumber: `"26/10"`, - Sharpness: `0`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `586`, - ExposureTime: `"1/60"`, - ComponentsConfiguration: `""`, - MeteringMode: `5`, - SubjectDistanceRange: `2`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormatLength: `8800`, - ExposureBiasValue: `"0/3"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `1920`, - WhiteBalance: `0`, - Make: `"PENTAX Corporation "`, - DateTimeDigitized: `"2007:02:02 18:13:29"`, - PixelXDimension: `2560`, - InteroperabilityIFDPointer: `30974`, - CustomRendered: `0`, - ExposureMode: `0`, - InteroperabilityIndex: `"R98"`, - DateTime: `"2007:02:02 18:13:29"`, - ExposureProgram: `2`, - XResolution: `"72/1"`, - ISOSpeedRatings: `200`, - ExifVersion: `"0220"`, - CompressedBitsPerPixel: `"27033600/4915200"`, - Flash: `25`, - FocalLengthIn35mmFilm: `35`, - Saturation: `0`, - Model: `"PENTAX Optio S5z "`, - ThumbJPEGInterchangeFormat: `31098`, - MaxApertureValue: `"28/10"`, - FocalLength: `"580/100"`, - ColorSpace: `1`, - DateTimeOriginal: `"2007:02:02 18:13:29"`, - MakerNote: `""`, - DigitalZoomRatio: `"0/0"`, - SceneCaptureType: `0`, - Contrast: `0`, - }, - "2007-05-02-17-02-21-sep-2007-05-02-17-02-21a.jpg": map[FieldName]string{ - UserComment: `""`, - PixelXDimension: `1600`, - SensingMethod: `2`, - DateTimeDigitized: `"2007:05:02 17:02:21"`, - CompressedBitsPerPixel: `"3/1"`, - MeteringMode: `5`, - MakerNote: `""`, - Model: `"Canon IXY DIGITAL 55"`, - ExposureBiasValue: `"0/3"`, - PixelYDimension: `1200`, - FocalPlaneResolutionUnit: `2`, - FocalPlaneYResolution: `"1200000/168"`, - CustomRendered: `0`, - DigitalZoomRatio: `"2592/2592"`, - Orientation: `1`, - XResolution: `"180/1"`, - ExifVersion: `"0220"`, - Flash: `9`, - ThumbJPEGInterchangeFormat: `5108`, - ThumbJPEGInterchangeFormatLength: `6306`, - MaxApertureValue: `"107/32"`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `196`, - ExposureTime: `"1/60"`, - FocalLength: `"7109/1000"`, - FlashpixVersion: `"0100"`, - FocalPlaneXResolution: `"1600000/225"`, - YResolution: `"180/1"`, - DateTime: `"2007:05:02 17:02:21"`, - ShutterSpeedValue: `"189/32"`, - ApertureValue: `"107/32"`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Make: `"Canon"`, - DateTimeOriginal: `"2007:05:02 17:02:21"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `2226`, - FNumber: `"32/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - }, - "2007-05-12-08-19-07-sep-2007-05-12-08-19-07a.jpg": map[FieldName]string{ - Model: `"EX-Z70 "`, - ExposureBiasValue: `"0/3"`, - PixelYDimension: `480`, - CustomRendered: `0`, - DigitalZoomRatio: `"0/0"`, - Orientation: `1`, - XResolution: `"72/1"`, - ExifVersion: `"0221"`, - Flash: `16`, - ThumbJPEGInterchangeFormat: `27422`, - ThumbJPEGInterchangeFormatLength: `8332`, - ExposureProgram: `2`, - MaxApertureValue: `"33/10"`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `282`, - ExposureTime: `"1/50"`, - FocalLength: `"630/100"`, - FlashpixVersion: `"0100"`, - YResolution: `"72/1"`, - Software: `"1.00 "`, - DateTime: `"2007:06:17 22:56:38"`, - LightSource: `0`, - ExposureMode: `0`, - FocalLengthIn35mmFilm: `38`, - SceneCaptureType: `0`, - Contrast: `0`, - Make: `"CASIO COMPUTER CO.,LTD."`, - DateTimeOriginal: `"2007:05:12 08:19:07"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `27298`, - Sharpness: `0`, - FNumber: `"31/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - PixelXDimension: `640`, - GainControl: `2`, - Saturation: `0`, - DateTimeDigitized: `"2007:06:17 22:56:38"`, - CompressedBitsPerPixel: `"252746/307200"`, - MeteringMode: `5`, - MakerNote: `""`, - }, - "2007-05-26-04-49-45-sep-2007-05-26-04-49-45a.jpg": map[FieldName]string{ - ThumbJPEGInterchangeFormat: `4596`, - ThumbJPEGInterchangeFormatLength: `10120`, - ExposureProgram: `2`, - MaxApertureValue: `"34/10"`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `284`, - ExposureTime: `"10/3486"`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - YResolution: `"300/1"`, - Software: `"COOLPIX L3v1.2"`, - DateTime: `"2007:05:26 04:49:45"`, - LightSource: `0`, - FocalLength: `"63/10"`, - FlashpixVersion: `"0100"`, - Contrast: `0`, - Make: `"NIKON"`, - DateTimeOriginal: `"2007:05:26 04:49:45"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `1026`, - ExposureMode: `0`, - FocalLengthIn35mmFilm: `38`, - SceneCaptureType: `2`, - FNumber: `"32/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - Sharpness: `0`, - Saturation: `0`, - DateTimeDigitized: `"2007:05:26 04:49:45"`, - CompressedBitsPerPixel: `"4/1"`, - MeteringMode: `5`, - MakerNote: `""`, - UserComment: `" "`, - PixelXDimension: `2592`, - GainControl: `0`, - SubjectDistanceRange: `0`, - ImageDescription: `" "`, - Model: `"COOLPIX L3"`, - ExposureBiasValue: `"0/10"`, - PixelYDimension: `1944`, - Orientation: `1`, - XResolution: `"300/1"`, - ISOSpeedRatings: `50`, - ExifVersion: `"0220"`, - Flash: `24`, - CustomRendered: `0`, - DigitalZoomRatio: `"0/100"`, - }, - "2007-05-30-14-28-01-sep-2007-05-30-14-28-01a.jpg": map[FieldName]string{ - CompressedBitsPerPixel: `"2/1"`, - MeteringMode: `5`, - UserComment: `" "`, - GainControl: `1`, - Saturation: `0`, - SubjectDistanceRange: `0`, - ExifIFDPointer: `284`, - ExposureTime: `"10/40"`, - InteroperabilityIndex: `"R98"`, - Software: `"COOLPIX S6V1.0"`, - ImageDescription: `" "`, - Model: `"COOLPIX S6"`, - XResolution: `"300/1"`, - ISOSpeedRatings: `53`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `1026`, - CustomRendered: `0`, - DigitalZoomRatio: `"0/100"`, - Make: `"NIKON"`, - Orientation: `1`, - Contrast: `0`, - FocalLengthIn35mmFilm: `35`, - SceneCaptureType: `0`, - FileSource: `""`, - FNumber: `"30/10"`, - ExposureProgram: `2`, - DateTimeDigitized: `"2007:05:30 14:28:01"`, - MakerNote: `""`, - PixelXDimension: `2816`, - SceneType: `""`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExposureBiasValue: `"0/10"`, - LightSource: `0`, - FocalLength: `"58/10"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `2112`, - YResolution: `"300/1"`, - DateTime: `"2007:05:30 14:28:01"`, - Flash: `16`, - ExposureMode: `0`, - ExifVersion: `"0220"`, - DateTimeOriginal: `"2007:05:30 14:28:01"`, - MaxApertureValue: `"32/10"`, - ColorSpace: `1`, - WhiteBalance: `0`, - Sharpness: `0`, - ThumbJPEGInterchangeFormat: `4596`, - ThumbJPEGInterchangeFormatLength: `5274`, - }, - "2007-06-06-16-15-25-sep-2007-06-06-16-15-25a.jpg": map[FieldName]string{ - ExifVersion: `"0220"`, - DateTimeOriginal: `"2007:06:06 16:15:25"`, - Flash: `24`, - ExposureMode: `0`, - ThumbJPEGInterchangeFormat: `4596`, - ThumbJPEGInterchangeFormatLength: `5967`, - MaxApertureValue: `"30/10"`, - ColorSpace: `1`, - WhiteBalance: `0`, - Sharpness: `0`, - ExifIFDPointer: `284`, - ExposureTime: `"10/2870"`, - CompressedBitsPerPixel: `"2/1"`, - MeteringMode: `5`, - UserComment: `" "`, - GainControl: `0`, - Saturation: `0`, - SubjectDistanceRange: `0`, - InteroperabilityIndex: `"R98"`, - ImageDescription: `" "`, - Model: `"E3700"`, - Software: `"E3700v1.2"`, - Make: `"NIKON"`, - Orientation: `1`, - XResolution: `"300/1"`, - ISOSpeedRatings: `50`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `1026`, - CustomRendered: `0`, - DigitalZoomRatio: `"0/100"`, - FocalLengthIn35mmFilm: `35`, - SceneCaptureType: `0`, - Contrast: `0`, - FNumber: `"48/10"`, - ExposureProgram: `2`, - FileSource: `""`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - DateTimeDigitized: `"2007:06:06 16:15:25"`, - MakerNote: `""`, - PixelXDimension: `2048`, - SceneType: `""`, - YResolution: `"300/1"`, - DateTime: `"2007:06:06 16:15:25"`, - ExposureBiasValue: `"0/10"`, - LightSource: `0`, - FocalLength: `"54/10"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `1536`, - }, - "2007-06-26-10-13-04-sep-2007-06-26-10-13-04a.jpg": map[FieldName]string{ - ColorSpace: `1`, - FileSource: `""`, - FNumber: `"3/1"`, - CompressedBitsPerPixel: `"6389872/3145728"`, - MeteringMode: `2`, - MakerNote: `""`, - PixelXDimension: `2048`, - SensingMethod: `2`, - DateTimeDigitized: `"2007:06:26 10:13:04"`, - Model: `"DV"`, - Copyright: `"Copyright2004"`, - ExposureBiasValue: `"1/4"`, - PixelYDimension: `1536`, - ImageDescription: `"My beautiful picture"`, - XResolution: `"320/1"`, - ISOSpeedRatings: `100`, - ExifVersion: `"0210"`, - Flash: `0`, - Orientation: `1`, - ThumbJPEGInterchangeFormatLength: `6292`, - ExposureProgram: `3`, - MaxApertureValue: `"3/1"`, - ExposureIndex: `"146/1"`, - ThumbJPEGInterchangeFormat: `1306`, - YCbCrPositioning: `2`, - ExposureTime: `"23697424/268435456"`, - ExifIFDPointer: `262`, - RelatedSoundFile: `"RelatedSound"`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - Software: `"DVWare 1.0"`, - DateTime: `"2007:06:26 10:13:04"`, - ShutterSpeedValue: `"7/1"`, - ApertureValue: `"3/1"`, - LightSource: `0`, - FlashpixVersion: `"0100"`, - YResolution: `"384/1"`, - DateTimeOriginal: `"2007:06:26 10:13:04"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `1170`, - Make: `"CEC"`, - }, - "2007-07-13-17-02-30-sep-2007-07-13-17-02-30a.jpg": map[FieldName]string{ - Software: `"Ver 1.00 "`, - DateTime: `"2007:07:13 17:02:30"`, - FNumber: `"48/10"`, - ExposureProgram: `2`, - RelatedSoundFile: `" "`, - Saturation: `0`, - XResolution: `"72/1"`, - ExifIFDPointer: `266`, - ExposureTime: `"1/110"`, - ISOSpeedRatings: `64`, - ComponentsConfiguration: `""`, - ColorSpace: `1`, - PixelYDimension: `2736`, - FileSource: `""`, - Model: `"ViviCam X30 "`, - ThumbJPEGInterchangeFormatLength: `20544`, - ShutterSpeedValue: `"678/100"`, - ExposureBiasValue: `"0/10"`, - LightSource: `0`, - DigitalZoomRatio: `"100/100"`, - GainControl: `0`, - InteroperabilityIndex: `"R98"`, - Make: `"Vivitar"`, - DateTimeOriginal: `"2007:07:13 17:02:30"`, - DateTimeDigitized: `"2007:07:13 17:02:30"`, - PixelXDimension: `3648`, - InteroperabilityIFDPointer: `1010`, - ImageDescription: `"Digital StillCamera"`, - Sharpness: `0`, - Flash: `0`, - FocalLengthIn35mmFilm: `35`, - SubjectDistanceRange: `0`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifVersion: `"0220"`, - MeteringMode: `2`, - WhiteBalance: `0`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormat: `1156`, - ApertureValue: `"45/10"`, - MaxApertureValue: `"30/10"`, - FlashpixVersion: `"0100"`, - MakerNote: `""`, - CustomRendered: `0`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Contrast: `0`, - }, - "2007-08-15-14-42-46-sep-2007-08-15-14-42-46a.jpg": map[FieldName]string{ - Model: `"KODAK C663 ZOOM DIGITAL CAMERA"`, - ShutterSpeedValue: `"73/10"`, - DigitalZoomRatio: `"0/100"`, - FocalLengthIn35mmFilm: `66`, - SceneCaptureType: `0`, - Contrast: `0`, - Make: `"EASTMAN KODAK COMPANY"`, - Orientation: `1`, - XResolution: `"230/1"`, - CustomRendered: `0`, - ISOSpeedRatings: `80`, - ComponentsConfiguration: `""`, - FNumber: `"36/10"`, - ExposureProgram: `2`, - FileSource: `""`, - PixelXDimension: `2832`, - SensingMethod: `2`, - SceneType: `""`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - DateTimeDigitized: `"2007:08:15 14:42:46"`, - MakerNote: `""`, - FocalLength: `"110/10"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `2128`, - YResolution: `"230/1"`, - ApertureValue: `"37/10"`, - ExposureBiasValue: `"0/3"`, - LightSource: `0`, - ExposureMode: `0`, - ExifVersion: `"0221"`, - DateTimeOriginal: `"2007:08:15 14:42:46"`, - Flash: `24`, - MaxApertureValue: `"37/10"`, - ColorSpace: `1`, - ExposureIndex: `"80/1"`, - WhiteBalance: `0`, - Sharpness: `0`, - ThumbJPEGInterchangeFormat: `8472`, - ThumbJPEGInterchangeFormatLength: `3060`, - ExposureTime: `"1/160"`, - MeteringMode: `5`, - ExifIFDPointer: `320`, - GainControl: `0`, - Saturation: `0`, - SubjectDistanceRange: `0`, - }, - "2007-08-24-02-40-42-sep-2007-08-24-02-40-42a.jpg": map[FieldName]string{ - ThumbJPEGInterchangeFormat: `5108`, - ThumbJPEGInterchangeFormatLength: `2084`, - MaxApertureValue: `"147/32"`, - ColorSpace: `1`, - WhiteBalance: `0`, - ExifIFDPointer: `196`, - ExposureTime: `"1/400"`, - CompressedBitsPerPixel: `"5/1"`, - MeteringMode: `5`, - UserComment: `""`, - InteroperabilityIndex: `"R98"`, - Model: `"Canon PowerShot SD450"`, - ShutterSpeedValue: `"277/32"`, - FocalPlaneResolutionUnit: `2`, - DigitalZoomRatio: `"2592/2592"`, - Make: `"Canon"`, - Orientation: `1`, - XResolution: `"180/1"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `2206`, - FocalPlaneYResolution: `"1944000/168"`, - CustomRendered: `0`, - SceneCaptureType: `0`, - FNumber: `"100/10"`, - FileSource: `""`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - DateTimeDigitized: `"2007:08:24 02:40:42"`, - MakerNote: `""`, - PixelXDimension: `2592`, - SensingMethod: `2`, - FocalPlaneXResolution: `"2592000/225"`, - YResolution: `"180/1"`, - DateTime: `"2007:08:24 02:40:42"`, - ApertureValue: `"213/32"`, - ExposureBiasValue: `"0/3"`, - FocalLength: `"17400/1000"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `1944`, - ExifVersion: `"0220"`, - DateTimeOriginal: `"2007:08:24 02:40:42"`, - Flash: `24`, - ExposureMode: `0`, - }, - "2007-11-07-11-40-44-sep-2007-11-07-11-40-44a.jpg": map[FieldName]string{ - YResolution: `"72/1"`, - Copyright: `" "`, - ThumbJPEGInterchangeFormat: `1306`, - ApertureValue: `"600/100"`, - MaxApertureValue: `"360/100"`, - FlashpixVersion: `"0100"`, - WhiteBalance: `0`, - MakerNote: `""`, - SensingMethod: `2`, - CustomRendered: `1`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Software: `"Digital Camera FinePix Z1 Ver1.00"`, - DateTime: `"2007:11:07 11:40:44"`, - FNumber: `"800/100"`, - ExposureProgram: `2`, - XResolution: `"72/1"`, - ExifIFDPointer: `294`, - ExposureTime: `"10/2000"`, - ISOSpeedRatings: `64`, - ComponentsConfiguration: `""`, - CompressedBitsPerPixel: `"20/10"`, - PixelYDimension: `1944`, - Model: `"FinePix Z1 "`, - ThumbJPEGInterchangeFormatLength: `9900`, - ShutterSpeedValue: `"764/100"`, - ExposureBiasValue: `"0/100"`, - LightSource: `0`, - FocalLength: `"610/100"`, - ColorSpace: `1`, - FocalPlaneXResolution: `"4442/1"`, - FileSource: `""`, - InteroperabilityIndex: `"R98"`, - Make: `"FUJIFILM"`, - DateTimeOriginal: `"2007:11:07 11:40:44"`, - DateTimeDigitized: `"2007:11:07 11:40:44"`, - BrightnessValue: `"906/100"`, - PixelXDimension: `2592`, - InteroperabilityIFDPointer: `1158`, - SceneType: `""`, - FocalPlaneResolutionUnit: `3`, - Sharpness: `0`, - SubjectDistanceRange: `0`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifVersion: `"0220"`, - MeteringMode: `5`, - Flash: `16`, - FocalPlaneYResolution: `"4442/1"`, - }, - "2008-06-02-10-03-57-sep-2008-06-02-10-03-57a.jpg": map[FieldName]string{ - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - Sharpness: `0`, - FNumber: `"2800/1000"`, - CompressedBitsPerPixel: `"5896224/3145728"`, - MeteringMode: `4`, - MakerNote: `""`, - PixelXDimension: `2048`, - SensingMethod: `2`, - DateTimeDigitized: `"2008:06:13 06:16:19"`, - Copyright: `"Copyright 2006"`, - ExposureBiasValue: `"0/10"`, - PixelYDimension: `1536`, - Model: `"i533"`, - XResolution: `"288/3"`, - ISOSpeedRatings: `100`, - ExifVersion: `"0220"`, - Flash: `65`, - DigitalZoomRatio: `"100/100"`, - Orientation: `1`, - ThumbJPEGInterchangeFormatLength: `5972`, - ExposureProgram: `7`, - MaxApertureValue: `"2970/1000"`, - ThumbJPEGInterchangeFormat: `3756`, - YCbCrPositioning: `2`, - ExifIFDPointer: `226`, - ExposureTime: `"10/600"`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - Software: `"00.00.1240a"`, - DateTime: `"2008:06:13 06:16:19"`, - ShutterSpeedValue: `"5907/1000"`, - ApertureValue: `"2970/1000"`, - LightSource: `4`, - FocalLength: `"6200/1000"`, - FlashpixVersion: `"0100"`, - YResolution: `"288/3"`, - DateTimeOriginal: `"2008:06:02 10:03:57"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `3620`, - ExposureMode: `0`, - Make: `"Polaroid"`, - }, - "2008-06-06-13-29-29-sep-2008-06-06-13-29-29a.jpg": map[FieldName]string{ - PixelXDimension: `1600`, - InteroperabilityIFDPointer: `3334`, - DigitalZoomRatio: `"3072/3072"`, - InteroperabilityIndex: `"R98"`, - Make: `"Canon"`, - DateTimeOriginal: `"2008:06:06 13:29:29"`, - DateTimeDigitized: `"2008:06:06 13:29:29"`, - FocalPlaneResolutionUnit: `2`, - ExifVersion: `"0220"`, - MeteringMode: `5`, - Flash: `16`, - FocalPlaneYResolution: `"1200000/169"`, - Orientation: `6`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - MaxApertureValue: `"116/32"`, - FlashpixVersion: `"0100"`, - WhiteBalance: `0`, - YResolution: `"180/1"`, - ThumbJPEGInterchangeFormat: `5108`, - ApertureValue: `"116/32"`, - CustomRendered: `0`, - ExposureMode: `0`, - SceneCaptureType: `0`, - MakerNote: `""`, - UserComment: `""`, - SensingMethod: `2`, - DateTime: `"2008:06:06 13:29:29"`, - FNumber: `"35/10"`, - ISOSpeedRatings: `80`, - ComponentsConfiguration: `""`, - CompressedBitsPerPixel: `"5/1"`, - XResolution: `"180/1"`, - ExifIFDPointer: `196`, - ExposureTime: `"1/320"`, - ExposureBiasValue: `"0/3"`, - FocalLength: `"8462/1000"`, - ColorSpace: `1`, - PixelYDimension: `1200`, - FocalPlaneXResolution: `"1600000/225"`, - Model: `"Canon DIGITAL IXUS 75"`, - ThumbJPEGInterchangeFormatLength: `6594`, - ShutterSpeedValue: `"266/32"`, - FileSource: `""`, - }, - "2008-06-17-01-21-30-sep-2008-06-17-01-21-30a.jpg": map[FieldName]string{ - MaxApertureValue: `"30/10"`, - ThumbJPEGInterchangeFormat: `1041`, - ThumbJPEGInterchangeFormatLength: `13506`, - ExposureProgram: `2`, - ExposureTime: `"10/326"`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `253`, - LightSource: `0`, - FocalLength: `"645/100"`, - FlashpixVersion: `"0100"`, - YResolution: `"72/1"`, - Software: `"A520_CT019"`, - DateTime: `"2008:06:17 01:22:13"`, - InteroperabilityIFDPointer: `1011`, - Make: `"Polaroid"`, - DateTimeOriginal: `"2008:06:17 01:21:30"`, - ComponentsConfiguration: `""`, - FNumber: `"28/10"`, - ColorSpace: `1`, - FileSource: `""`, - UserComment: `""`, - PixelXDimension: `2592`, - DateTimeDigitized: `"2008:06:17 01:21:30"`, - CompressedBitsPerPixel: `"2/1"`, - MeteringMode: `2`, - PixelYDimension: `1944`, - ImageDescription: `"DCFC1247.JPG "`, - Model: `"5MP Digital Camera"`, - ExposureBiasValue: `"0/10"`, - ExifVersion: `"0220"`, - Flash: `0`, - Orientation: `1`, - XResolution: `"72/1"`, - ISOSpeedRatings: `100`, - }, - "2008-09-02-17-43-48-sep-2008-09-02-17-43-48a.jpg": map[FieldName]string{ - ImageDescription: `" "`, - Model: `"Z550a"`, - YResolution: `"72/1"`, - Software: `"R6GA004 prgCXC1250583_GENERIC_M 2.0"`, - DateTime: `"2008:09:02 17:43:48"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `1024`, - Make: `"Sony Ericsson"`, - Orientation: `1`, - XResolution: `"72/1"`, - ExifVersion: `"0220"`, - DateTimeOriginal: `"2008:09:02 17:43:48"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `612`, - ThumbJPEGInterchangeFormat: `748`, - ThumbJPEGInterchangeFormatLength: `4641`, - ColorSpace: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `302`, - DateTimeDigitized: `"2008:09:02 17:43:48"`, - PixelXDimension: `1280`, - InteroperabilityIndex: `"R98"`, - }, - "2009-03-26-09-23-20-sep-2009-03-26-09-23-20a.jpg": map[FieldName]string{ - FocalLength: `"5800/1000"`, - ColorSpace: `1`, - PixelYDimension: `2304`, - FocalPlaneXResolution: `"3072000/225"`, - Model: `"Canon PowerShot SD750"`, - ThumbJPEGInterchangeFormatLength: `5513`, - ShutterSpeedValue: `"287/32"`, - ExposureBiasValue: `"0/3"`, - FileSource: `""`, - InteroperabilityIFDPointer: `3334`, - DigitalZoomRatio: `"3072/3072"`, - InteroperabilityIndex: `"R98"`, - Make: `"Canon"`, - DateTimeOriginal: `"2009:03:26 09:23:20"`, - DateTimeDigitized: `"2009:03:26 09:23:20"`, - PixelXDimension: `3072`, - FocalPlaneResolutionUnit: `2`, - MeteringMode: `5`, - Flash: `24`, - FocalPlaneYResolution: `"2304000/169"`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifVersion: `"0220"`, - FlashpixVersion: `"0100"`, - WhiteBalance: `0`, - YResolution: `"180/1"`, - ThumbJPEGInterchangeFormat: `5108`, - ApertureValue: `"95/32"`, - MaxApertureValue: `"95/32"`, - ExposureMode: `0`, - SceneCaptureType: `0`, - MakerNote: `""`, - UserComment: `""`, - SensingMethod: `2`, - CustomRendered: `0`, - DateTime: `"2009:03:26 09:23:20"`, - FNumber: `"28/10"`, - ComponentsConfiguration: `""`, - CompressedBitsPerPixel: `"5/1"`, - XResolution: `"180/1"`, - ExifIFDPointer: `196`, - ExposureTime: `"1/500"`, - ISOSpeedRatings: `160`, - }, - "2009-04-11-03-01-38-sep-2009-04-11-03-01-38a.jpg": map[FieldName]string{ - ThumbJPEGInterchangeFormat: `33660`, - MaxApertureValue: `"30/10"`, - FlashpixVersion: `"0100"`, - WhiteBalance: `0`, - YResolution: `"300/1"`, - UserComment: `" "`, - CustomRendered: `0`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Contrast: `0`, - MakerNote: `""`, - DateTime: `"2009:04:11 03:01:38"`, - FNumber: `"28/10"`, - ExposureProgram: `2`, - Software: `"COOLPIX L18 V1.1"`, - ExifIFDPointer: `230`, - ExposureTime: `"1/250"`, - ISOSpeedRatings: `227`, - ComponentsConfiguration: `""`, - CompressedBitsPerPixel: `"4/1"`, - Saturation: `0`, - XResolution: `"300/1"`, - ThumbJPEGInterchangeFormatLength: `9697`, - ExposureBiasValue: `"0/10"`, - LightSource: `0`, - FocalLength: `"5700/1000"`, - ColorSpace: `1`, - PixelYDimension: `2448`, - FileSource: `""`, - Model: `"COOLPIX L18"`, - DateTimeOriginal: `"2009:04:11 03:01:38"`, - DateTimeDigitized: `"2009:04:11 03:01:38"`, - PixelXDimension: `3264`, - InteroperabilityIFDPointer: `33536`, - SceneType: `""`, - DigitalZoomRatio: `"0/100"`, - GainControl: `1`, - Make: `"NIKON"`, - InteroperabilityIndex: `"R98"`, - Sharpness: `1`, - ImageDescription: `" "`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifVersion: `"0220"`, - MeteringMode: `5`, - Flash: `24`, - FocalLengthIn35mmFilm: `35`, - SubjectDistanceRange: `0`, - Orientation: `1`, - }, - "2009-04-23-07-21-35-sep-2009-04-23-07-21-35a.jpg": map[FieldName]string{ - Sharpness: `0`, - MeteringMode: `5`, - Flash: `9`, - FocalLengthIn35mmFilm: `35`, - SubjectDistanceRange: `3`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifVersion: `"0220"`, - WhiteBalance: `0`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormat: `31176`, - MaxApertureValue: `"28/10"`, - FlashpixVersion: `"0100"`, - Contrast: `0`, - MakerNote: `""`, - CustomRendered: `0`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Software: `"Optio S50 Ver 1.00"`, - DateTime: `"2009:04:23 07:21:35"`, - FNumber: `"26/10"`, - ComponentsConfiguration: `""`, - CompressedBitsPerPixel: `"13301888/4915200"`, - Saturation: `0`, - XResolution: `"72/1"`, - ExifIFDPointer: `590`, - ExposureTime: `"1/40"`, - ISOSpeedRatings: `100`, - ColorSpace: `1`, - PixelYDimension: `1920`, - Model: `"PENTAX Optio S50"`, - ThumbJPEGInterchangeFormatLength: `6015`, - ExposureBiasValue: `"0/10"`, - FocalLength: `"58/10"`, - InteroperabilityIFDPointer: `31040`, - DigitalZoomRatio: `"0/100"`, - InteroperabilityIndex: `"R98"`, - Make: `"PENTAX Corporation"`, - DateTimeOriginal: `"2009:04:23 07:21:35"`, - DateTimeDigitized: `"2009:04:23 07:21:35"`, - PixelXDimension: `2560`, - }, - "2009-06-11-19-23-18-sep-2009-06-11-19-23-18a.jpg": map[FieldName]string{ - ThumbJPEGInterchangeFormat: `606`, - ThumbJPEGInterchangeFormatLength: `7150`, - ExposureProgram: `1`, - ColorSpace: `65535`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `264`, - ExposureTime: `"1/4"`, - DateTimeDigitized: `"2009:06:11 19:23:18"`, - MeteringMode: `1`, - PixelXDimension: `1400`, - PixelYDimension: `2100`, - Model: `"Canon EOS DIGITAL REBEL XTi"`, - YResolution: `"3500000/10000"`, - Software: `"Adobe Photoshop CS3 Macintosh"`, - DateTime: `"2009:06:23 18:42:05"`, - ApertureValue: `"11257/1627"`, - ExposureBiasValue: `"0/1"`, - FocalLength: `"47/1"`, - Make: `"Canon"`, - Orientation: `1`, - XResolution: `"3500000/10000"`, - ISOSpeedRatings: `200`, - ExifVersion: `"0220"`, - DateTimeOriginal: `"2009:06:11 19:23:18"`, - Flash: `16`, - }, - "2009-06-20-07-59-05-sep-2009-06-20-07-59-05a.jpg": map[FieldName]string{ - DateTimeOriginal: `"2009:06:20 07:59:05"`, - Flash: `89`, - ExposureMode: `0`, - ExifVersion: `"0221"`, - ThumbJPEGInterchangeFormatLength: `4569`, - MaxApertureValue: `"36/10"`, - ColorSpace: `1`, - ExposureIndex: `"160/1"`, - WhiteBalance: `0`, - Sharpness: `0`, - ThumbJPEGInterchangeFormat: `9032`, - ExposureTime: `"1/500"`, - MeteringMode: `5`, - GainControl: `2`, - Saturation: `0`, - SubjectDistanceRange: `0`, - InteroperabilityIndex: `"R98"`, - ExifIFDPointer: `514`, - ShutterSpeedValue: `"9/1"`, - Model: `"KODAK EASYSHARE Z710 ZOOM DIGITAL CAMERA"`, - Orientation: `1`, - XResolution: `"480/1"`, - ISOSpeedRatings: `160`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `8728`, - CustomRendered: `0`, - DigitalZoomRatio: `"0/100"`, - Make: `"EASTMAN KODAK COMPANY"`, - SceneCaptureType: `0`, - Contrast: `0`, - FocalLengthIn35mmFilm: `337`, - ExposureProgram: `2`, - FileSource: `""`, - FNumber: `"35/10"`, - YCbCrPositioning: `1`, - DateTimeDigitized: `"2009:06:20 07:59:05"`, - MakerNote: `""`, - PixelXDimension: `3072`, - SensingMethod: `2`, - SceneType: `""`, - ResolutionUnit: `2`, - ApertureValue: `"36/10"`, - ExposureBiasValue: `"0/3"`, - LightSource: `0`, - FocalLength: `"559/10"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `2304`, - YResolution: `"480/1"`, - }, - "2009-08-05-08-11-31-sep-2009-08-05-08-11-31a.jpg": map[FieldName]string{ - XResolution: `"72/1"`, - ISOSpeedRatings: `100`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `1158`, - FocalPlaneYResolution: `"5292/1"`, - CustomRendered: `0`, - Make: `"FUJIFILM"`, - Orientation: `1`, - SceneCaptureType: `0`, - FileSource: `""`, - FNumber: `"400/100"`, - ExposureProgram: `2`, - DateTimeDigitized: `"2009:08:05 08:11:31"`, - MakerNote: `"FUJIFILM0130" !"#,012NORMAL d"`, - PixelXDimension: `2848`, - SensingMethod: `2`, - SceneType: `""`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - Copyright: `" "`, - ApertureValue: `"400/100"`, - ExposureBiasValue: `"0/100"`, - LightSource: `0`, - FocalLength: `"720/100"`, - FlashpixVersion: `"0100"`, - YResolution: `"72/1"`, - DateTime: `"2009:08:05 08:11:31"`, - PixelYDimension: `2136`, - FocalPlaneXResolution: `"5292/1"`, - Flash: `16`, - ExposureMode: `0`, - ExifVersion: `"0220"`, - DateTimeOriginal: `"2009:08:05 08:11:31"`, - MaxApertureValue: `"300/100"`, - ColorSpace: `1`, - WhiteBalance: `1`, - Sharpness: `0`, - ThumbJPEGInterchangeFormat: `1306`, - ThumbJPEGInterchangeFormatLength: `8596`, - CompressedBitsPerPixel: `"20/10"`, - BrightnessValue: `"719/100"`, - MeteringMode: `5`, - SubjectDistanceRange: `0`, - InteroperabilityIndex: `"R98"`, - ExifIFDPointer: `294`, - ExposureTime: `"10/3000"`, - ShutterSpeedValue: `"820/100"`, - FocalPlaneResolutionUnit: `3`, - Model: `"FinePix E550 "`, - Software: `"Digital Camera FinePix E550 Ver1.00"`, - }, - "2010-06-08-04-44-24-sep-2010-06-08-04-44-24a.jpg": map[FieldName]string{ - CompressedBitsPerPixel: `"8/1"`, - MeteringMode: `5`, - MakerNote: `""`, - PixelXDimension: `2816`, - Saturation: `0`, - DateTimeDigitized: `"2010:06:08 04:44:24"`, - Model: `"DSC-S600"`, - ExposureBiasValue: `"0/10"`, - PixelYDimension: `2112`, - ImageDescription: `" "`, - XResolution: `"72/1"`, - ISOSpeedRatings: `80`, - ExifVersion: `"0221"`, - Flash: `31`, - CustomRendered: `0`, - Orientation: `1`, - ThumbJPEGInterchangeFormatLength: `4029`, - ExposureProgram: `2`, - MaxApertureValue: `"48/16"`, - ThumbJPEGInterchangeFormat: `6892`, - YCbCrPositioning: `2`, - ExifIFDPointer: `2314`, - ExposureTime: `"10/400"`, - SceneType: `""`, - ResolutionUnit: `2`, - DateTime: `"2010:06:08 04:44:24"`, - LightSource: `0`, - FocalLength: `"51/10"`, - FlashpixVersion: `"0100"`, - YResolution: `"72/1"`, - DateTimeOriginal: `"2010:06:08 04:44:24"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `6640`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Contrast: `0`, - Make: `"SONY"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - Sharpness: `0`, - FNumber: `"28/10"`, - }, - "2010-06-20-20-07-39-sep-2010-06-20-20-07-39a.jpg": map[FieldName]string{ - FocalPlaneYResolution: `"2736000/181"`, - CustomRendered: `0`, - DigitalZoomRatio: `"3648/3648"`, - Orientation: `1`, - XResolution: `"4718592/65536"`, - ISOSpeedRatings: `800`, - ExifVersion: `"0220"`, - Flash: `16`, - ThumbJPEGInterchangeFormat: `3408`, - ThumbJPEGInterchangeFormatLength: `5126`, - MaxApertureValue: `"116/32"`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `302`, - ExposureTime: `"1/10"`, - FocalLength: `"9681/1000"`, - FlashpixVersion: `"0100"`, - FocalPlaneXResolution: `"3648000/241"`, - YResolution: `"4718592/65536"`, - Software: `"QuickTime 7.6.6"`, - DateTime: `"2010:10:31 22:39:25"`, - ShutterSpeedValue: `"106/32"`, - ApertureValue: `"116/32"`, - Make: `"Canon"`, - DateTimeOriginal: `"2010:06:20 20:07:39"`, - ComponentsConfiguration: `""`, - ExposureMode: `0`, - SceneCaptureType: `0`, - FNumber: `"35/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - PixelXDimension: `3648`, - SensingMethod: `2`, - DateTimeDigitized: `"2010:06:20 20:07:39"`, - CompressedBitsPerPixel: `"3/1"`, - MeteringMode: `5`, - MakerNote: `""`, - UserComment: `""`, - ImageDescription: `" "`, - Model: `"Canon PowerShot SD1200 IS"`, - ExposureBiasValue: `"0/3"`, - PixelYDimension: `2736`, - FocalPlaneResolutionUnit: `2`, - }, - "2010-09-02-08-43-02-sep-2010-09-02-08-43-02a.jpg": map[FieldName]string{ - DateTime: `"2010:09:02 08:43:02"`, - ExposureProgram: `5`, - ExifVersion: `"0221"`, - CompressedBitsPerPixel: `"1/1"`, - Flash: `65`, - Saturation: `0`, - XResolution: `"72/1"`, - ISOSpeedRatings: `800`, - MaxApertureValue: `"362/100"`, - LightSource: `0`, - FocalLength: `"210/10"`, - ColorSpace: `1`, - Model: `"FE370,X880,C575 "`, - ThumbJPEGInterchangeFormat: `9204`, - SceneType: `""`, - DigitalZoomRatio: `"0/100"`, - SceneCaptureType: `3`, - GainControl: `2`, - Contrast: `0`, - DateTimeOriginal: `"2010:09:02 08:43:02"`, - MakerNote: `""`, - FNumber: `"53/10"`, - Sharpness: `0`, - ImageDescription: `"OLYMPUS DIGITAL CAMERA "`, - Software: `"Version 1.0 "`, - YCbCrPositioning: `2`, - ExifIFDPointer: `996`, - ExposureTime: `"10/500"`, - ComponentsConfiguration: `""`, - MeteringMode: `5`, - Orientation: `1`, - ResolutionUnit: `2`, - ExposureBiasValue: `"0/10"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `2448`, - FileSource: `""`, - WhiteBalance: `0`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormatLength: `3562`, - UserComment: `" "`, - PixelXDimension: `3264`, - InteroperabilityIFDPointer: `1714`, - CustomRendered: `0`, - ExposureMode: `0`, - InteroperabilityIndex: `"R98"`, - Make: `"OLYMPUS IMAGING CORP. "`, - DateTimeDigitized: `"2010:09:02 08:43:02"`, - }, - "2011-01-24-22-06-02-sep-2011-01-24-22-06-02a.jpg": map[FieldName]string{ - ColorSpace: `1`, - WhiteBalance: `0`, - ThumbJPEGInterchangeFormat: `25601`, - ThumbJPEGInterchangeFormatLength: `3385`, - ExifIFDPointer: `157`, - PixelXDimension: `1200`, - MakerNote: `""`, - DateTimeDigitized: `"2011:01:24 22:06:02"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - Software: `"V 12.40"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `1600`, - Model: `"6350"`, - YResolution: `"300/1"`, - XResolution: `"300/1"`, - ExifVersion: `"0220"`, - ComponentsConfiguration: `""`, - CustomRendered: `0`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Make: `"Nokia"`, - Orientation: `1`, - DigitalZoomRatio: `"1024/1024"`, - DateTimeOriginal: `"2011:01:24 22:06:02"`, - }, - "2011-03-07-09-28-03-sep-2011-03-07-09-28-03a.jpg": map[FieldName]string{ - Model: `"GU295"`, - Software: `"GU295-MSM1530032L-V10i-APR-22-2010-ATT-US"`, - Make: `"LG Elec."`, - Orientation: `1`, - XResolution: `"72/1"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `538`, - CustomRendered: `1`, - DigitalZoomRatio: `"0/0"`, - Contrast: `0`, - ExposureProgram: `2`, - FileSource: `""`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - DateTimeDigitized: `"2011:03:07 09:28:03"`, - PixelXDimension: `1280`, - SceneType: `""`, - YResolution: `"72/1"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `960`, - ExifVersion: `"0220"`, - DateTimeOriginal: `"2011:03:07 09:28:03"`, - ExposureMode: `0`, - ThumbJPEGInterchangeFormat: `662`, - ThumbJPEGInterchangeFormatLength: `9850`, - ColorSpace: `1`, - WhiteBalance: `0`, - Sharpness: `0`, - ExifIFDPointer: `224`, - BrightnessValue: `"0/1024"`, - MeteringMode: `2`, - Saturation: `0`, - InteroperabilityIndex: `"R98"`, - }, - "2011-05-07-13-02-49-sep-2011-05-07-13-02-49a.jpg": map[FieldName]string{ - DateTimeOriginal: `"2011:05:07 13:02:49"`, - SceneType: `""`, - Contrast: `0`, - Software: `"M7500BSAAAAAAD3050"`, - GPSVersionID: `[2,2,0,0]`, - GPSLatitudeRef: `"N"`, - GPSAltitude: `"0/1"`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `218`, - GPSInfoIFDPointer: `502`, - ComponentsConfiguration: `""`, - GPSLongitudeRef: `"E"`, - GPSTimeStamp: `["19/1","3/1","43/1"]`, - GPSDateStamp: `"2011:05:07 "`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormatLength: `22806`, - FlashpixVersion: `"0100"`, - PixelYDimension: `1536`, - FileSource: `""`, - WhiteBalance: `0`, - GPSAltitudeRef: `0`, - Make: `"HTC"`, - DateTimeDigitized: `"2011:05:07 13:02:49"`, - PixelXDimension: `2048`, - InteroperabilityIFDPointer: `472`, - GPSLatitude: `["0/1","0/1","0/100"]`, - InteroperabilityIndex: `"R98"`, - GPSLongitude: `["0/1","0/1","0/100"]`, - XResolution: `"72/1"`, - ExifVersion: `"0220"`, - GPSProcessingMethod: `"ASCIIHYBRID-FIX"`, - Model: `"RAPH800"`, - ThumbJPEGInterchangeFormat: `920`, - ColorSpace: `1`, - GPSMapDatum: `"WGS-84"`, - }, - "2011-08-07-19-22-57-sep-2011-08-07-19-22-57a.jpg": map[FieldName]string{ - ResolutionUnit: `2`, - DateTimeDigitized: `"2011:08:07 19:22:57"`, - SensingMethod: `2`, - SceneType: `""`, - YResolution: `"300/1"`, - DateTime: `"2011:08:11 09:46:32"`, - ApertureValue: `"433985/100000"`, - ExposureBiasValue: `"2/6"`, - LightSource: `0`, - FocalLength: `"620/10"`, - ExifVersion: `"0221"`, - DateTimeOriginal: `"2011:08:07 19:22:57"`, - Flash: `7`, - ExposureMode: `0`, - ThumbJPEGInterchangeFormat: `802`, - ThumbJPEGInterchangeFormatLength: `9117`, - MaxApertureValue: `"43/10"`, - WhiteBalance: `0`, - Sharpness: `0`, - ExifIFDPointer: `186`, - ExposureTime: `"1/30"`, - MeteringMode: `2`, - GainControl: `1`, - Saturation: `0`, - SubjectDistanceRange: `0`, - Model: `"NIKON D200"`, - Software: `"Ver.1.00"`, - ShutterSpeedValue: `"4906891/1000000"`, - SubSecTimeOriginal: `"65"`, - SubSecTimeDigitized: `"65"`, - FocalLengthIn35mmFilm: `93`, - SceneCaptureType: `0`, - Make: `"NIKON CORPORATION"`, - XResolution: `"300/1"`, - ISOSpeedRatings: `400`, - CFAPattern: `""`, - CustomRendered: `0`, - DigitalZoomRatio: `"1/1"`, - Contrast: `0`, - FNumber: `"45/10"`, - ExposureProgram: `3`, - SubjectDistance: `"63/100"`, - FileSource: `""`, - }, - "2011-10-28-17-50-18-sep-2011-10-28-17-50-18a.jpg": map[FieldName]string{ - SubSecTime: `"92"`, - CustomRendered: `0`, - ExposureMode: `0`, - SceneCaptureType: `0`, - UserComment: `""`, - DateTime: `"2011:11:08 07:27:55"`, - FNumber: `"4/1"`, - ExposureProgram: `2`, - SubSecTimeOriginal: `"92"`, - GPSVersionID: `[2,2,0,0]`, - Software: `"Adobe Photoshop CS4 Macintosh"`, - ExifIFDPointer: `364`, - ExposureTime: `"1/60"`, - ISOSpeedRatings: `800`, - ComponentsConfiguration: `""`, - XResolution: `"720000/10000"`, - ThumbJPEGInterchangeFormatLength: `6186`, - ShutterSpeedValue: `"393216/65536"`, - ExposureBiasValue: `"0/1"`, - FocalLength: `"34/1"`, - ColorSpace: `65535`, - PixelYDimension: `864`, - FocalPlaneXResolution: `"5616000/1459"`, - Model: `"Canon EOS 5D Mark II"`, - DateTimeOriginal: `"2011:10:28 17:50:18"`, - DateTimeDigitized: `"2011:10:28 17:50:18"`, - PixelXDimension: `576`, - InteroperabilityIFDPointer: `1120`, - InteroperabilityIndex: `"R03"`, - Make: `"Canon"`, - FocalPlaneResolutionUnit: `2`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - GPSInfoIFDPointer: `1152`, - ExifVersion: `"0221"`, - MeteringMode: `5`, - Flash: `9`, - FocalPlaneYResolution: `"3744000/958"`, - Orientation: `1`, - ThumbJPEGInterchangeFormat: `1266`, - ApertureValue: `"262144/65536"`, - SubSecTimeDigitized: `"92"`, - FlashpixVersion: `"0100"`, - WhiteBalance: `1`, - YResolution: `"720000/10000"`, - }, - "2011-10-28-18-25-43-sep-2011-10-28-18-25-43.jpg": map[FieldName]string{ - SubSecTimeOriginal: `"50"`, - DateTime: `"2011:10:28 18:25:43"`, - ISOSpeedRatings: `1250`, - ComponentsConfiguration: `""`, - Saturation: `0`, - XResolution: `"300/1"`, - ExposureTime: `"10/600"`, - ColorSpace: `1`, - ThumbJPEGInterchangeFormatLength: `3670`, - LightSource: `0`, - FocalLength: `"800/10"`, - CFAPattern: `""`, - DigitalZoomRatio: `"1/1"`, - InteroperabilityIndex: `"R98"`, - Make: `"NIKON CORPORATION"`, - DateTimeOriginal: `"2011:10:28 18:25:43"`, - InteroperabilityIFDPointer: `3604`, - Sharpness: `0`, - ExifVersion: `"0221"`, - MeteringMode: `5`, - Flash: `31`, - FocalLengthIn35mmFilm: `120`, - Orientation: `1`, - YCbCrPositioning: `2`, - SubSecTimeDigitized: `"50"`, - WhiteBalance: `0`, - ThumbJPEGInterchangeFormat: `3728`, - SensingMethod: `2`, - CustomRendered: `0`, - SubSecTime: `"50"`, - ExposureProgram: `0`, - Software: `"Ver.1.11 "`, - FNumber: `"56/10"`, - CompressedBitsPerPixel: `"2/1"`, - ExifIFDPointer: `208`, - FileSource: `""`, - Model: `"NIKON D80"`, - ExposureBiasValue: `"0/6"`, - PixelYDimension: `537`, - GainControl: `2`, - DateTimeDigitized: `"2011:10:28 18:25:43"`, - PixelXDimension: `800`, - SceneType: `""`, - ImageUniqueID: `"7fa4f6d028df5f2fc1bad8102be81064"`, - SubjectDistanceRange: `0`, - ResolutionUnit: `2`, - FlashpixVersion: `"0100"`, - YResolution: `"300/1"`, - MaxApertureValue: `"50/10"`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Contrast: `0`, - MakerNote: `""`, - UserComment: `"ASCII "`, - }, - "2011-11-18-15-38-34-sep-Photo11181538.jpg": map[FieldName]string{ - WhiteBalance: `0`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormat: `642`, - FlashpixVersion: `"0100"`, - CustomRendered: `1`, - ExposureMode: `0`, - Contrast: `1`, - Software: `"M6290A-KPVMZL-2.6.0140T"`, - ExposureProgram: `2`, - Saturation: `0`, - XResolution: `"72/1"`, - ExifIFDPointer: `204`, - ComponentsConfiguration: `""`, - PixelYDimension: `1200`, - FileSource: `""`, - Model: `"P2020"`, - ThumbJPEGInterchangeFormatLength: `12226`, - ColorSpace: `1`, - BrightnessValue: `"0/1024"`, - PixelXDimension: `1600`, - InteroperabilityIFDPointer: `518`, - SceneType: `""`, - DigitalZoomRatio: `"0/0"`, - Make: `"PANTECH"`, - DateTimeOriginal: `"2011:11:18 15:38:34"`, - DateTimeDigitized: `"2011:11:18 15:38:34"`, - InteroperabilityIndex: `"R98"`, - Sharpness: `0`, - ExifVersion: `"0220"`, - MeteringMode: `2`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - }, - "2012-06-02-10-12-28-sep-2012-06-02-10-12-28.jpg": map[FieldName]string{ - YResolution: `"180/1"`, - Software: `"Ver.1.0 "`, - DateTime: `"2012:06:02 10:12:28"`, - LightSource: `0`, - FocalLength: `"50/10"`, - FlashpixVersion: `"0100"`, - SceneCaptureType: `0`, - Contrast: `0`, - Make: `"Panasonic"`, - DateTimeOriginal: `"2012:06:02 10:12:28"`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `10506`, - ExposureMode: `0`, - FocalLengthIn35mmFilm: `28`, - FNumber: `"33/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - Sharpness: `0`, - GainControl: `0`, - Saturation: `0`, - DateTimeDigitized: `"2012:06:02 10:12:28"`, - CompressedBitsPerPixel: `"4/1"`, - MeteringMode: `5`, - MakerNote: `""`, - PixelXDimension: `4608`, - SensingMethod: `2`, - Model: `"DMC-FH25"`, - ExposureBiasValue: `"0/100"`, - PixelYDimension: `3456`, - DigitalZoomRatio: `"0/10"`, - Orientation: `1`, - XResolution: `"180/1"`, - ISOSpeedRatings: `100`, - ExifVersion: `"0230"`, - Flash: `16`, - CustomRendered: `0`, - ThumbJPEGInterchangeFormat: `11764`, - ThumbJPEGInterchangeFormatLength: `7486`, - ExposureProgram: `2`, - MaxApertureValue: `"441/128"`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `636`, - ExposureTime: `"10/4000"`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - }, - "2012-09-21-22-07-34-sep-2012-09-21-22-07-34.jpg": map[FieldName]string{ - ThumbJPEGInterchangeFormat: `5108`, - ThumbJPEGInterchangeFormatLength: `4855`, - MaxApertureValue: `"95/32"`, - ColorSpace: `1`, - WhiteBalance: `0`, - ExifIFDPointer: `240`, - ExposureTime: `"1/60"`, - CompressedBitsPerPixel: `"3/1"`, - MeteringMode: `5`, - UserComment: `""`, - InteroperabilityIndex: `"R98"`, - ImageDescription: `" "`, - Model: `"Canon PowerShot SD940 IS"`, - ShutterSpeedValue: `"189/32"`, - FocalPlaneResolutionUnit: `2`, - CustomRendered: `0`, - Make: `"Canon"`, - Orientation: `1`, - XResolution: `"180/1"`, - ISOSpeedRatings: `500`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `3288`, - FocalPlaneYResolution: `"2448000/183"`, - DigitalZoomRatio: `"4000/4000"`, - SceneCaptureType: `2`, - FNumber: `"28/10"`, - FileSource: `""`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - DateTimeDigitized: `"2012:09:21 22:07:34"`, - MakerNote: `""`, - PixelXDimension: `3264`, - SensingMethod: `2`, - FocalPlaneXResolution: `"3264000/244"`, - YResolution: `"180/1"`, - DateTime: `"2012:09:21 22:07:34"`, - ApertureValue: `"95/32"`, - ExposureBiasValue: `"0/3"`, - FocalLength: `"5000/1000"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `2448`, - ExifVersion: `"0221"`, - DateTimeOriginal: `"2012:09:21 22:07:34"`, - Flash: `25`, - ExposureMode: `0`, - }, - "2012-12-19-21-38-40-sep-temple_square1.jpg": map[FieldName]string{ - InteroperabilityIFDPointer: `322`, - GPSLatitude: `["40/1","46/1","1322/100"]`, - InteroperabilityIndex: `"R98"`, - Make: `"HTC"`, - DateTimeOriginal: `"2012:12:19 21:38:40"`, - DateTimeDigitized: `"2012:12:19 21:38:40"`, - PixelXDimension: `3264`, - GPSLatitudeRef: `"N"`, - GPSLongitude: `["111/1","53/1","2840/100"]`, - GPSLongitudeRef: `"W"`, - GPSProcessingMethod: `"ASCIIGPS"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - GPSInfoIFDPointer: `352`, - ExifVersion: `"0220"`, - GPSMapDatum: `"WGS-84"`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormat: `696`, - FlashpixVersion: `"0100"`, - GPSAltitudeRef: `0`, - GPSVersionID: `[2,2,0]`, - GPSAltitude: `"1334/1"`, - GPSTimeStamp: `["4/1","38/1","40/1"]`, - XResolution: `"72/1"`, - ExifIFDPointer: `136`, - ISOSpeedRatings: `801`, - ComponentsConfiguration: `""`, - PixelYDimension: `1952`, - GPSDateStamp: `"2012:12:20"`, - Model: `"ADR6400L"`, - ThumbJPEGInterchangeFormatLength: `38469`, - FocalLength: `"457/100"`, - ColorSpace: `1`, - }, - "2012-12-21-11-15-19-sep-IMG_0001.jpg": map[FieldName]string{ - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `360`, - ExposureTime: `"1/30"`, - InteroperabilityIndex: `"R98"`, - SubSecTimeDigitized: `"00"`, - FlashpixVersion: `"0100"`, - FocalPlaneXResolution: `"5184000/894"`, - YResolution: `"72/1"`, - DateTime: `"2012:12:21 11:15:19"`, - ShutterSpeedValue: `"327680/65536"`, - ApertureValue: `"286720/65536"`, - FocalLength: `"24/1"`, - LensModel: `"EF-S18-55mm f/3.5-5.6 IS II"`, - GPSVersionID: `[2,3,0,0]`, - InteroperabilityIFDPointer: `8806`, - ExposureMode: `0`, - SceneCaptureType: `0`, - Make: `"Canon"`, - GPSInfoIFDPointer: `9034`, - DateTimeOriginal: `"2012:12:21 11:15:19"`, - ComponentsConfiguration: `""`, - SubSecTime: `"00"`, - Artist: `""`, - FNumber: `"45/10"`, - ColorSpace: `1`, - WhiteBalance: `0`, - DateTimeDigitized: `"2012:12:21 11:15:19"`, - MeteringMode: `5`, - MakerNote: `""`, - UserComment: `""`, - PixelXDimension: `5184`, - FocalPlaneResolutionUnit: `2`, - Model: `"Canon EOS REBEL T4i"`, - Copyright: `""`, - ExposureBiasValue: `"0/1"`, - SubSecTimeOriginal: `"00"`, - PixelYDimension: `3456`, - FocalPlaneYResolution: `"3456000/597"`, - CustomRendered: `0`, - Orientation: `1`, - XResolution: `"72/1"`, - ISOSpeedRatings: `1600`, - ExifVersion: `"0230"`, - Flash: `16`, - ThumbJPEGInterchangeFormat: `10924`, - ThumbJPEGInterchangeFormatLength: `14327`, - ExposureProgram: `0`, - }, - "2013-02-05-23-12-09-sep-DSCI0001.jpg": map[FieldName]string{ - ApertureValue: `"3072/1000"`, - ExposureBiasValue: `"0/10"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `1200`, - FileSource: `""`, - YResolution: `"288/3"`, - ThumbJPEGInterchangeFormatLength: `5863`, - ShutterSpeedValue: `"5907/1000"`, - WhiteBalance: `0`, - InteroperabilityIFDPointer: `4838`, - ExposureMode: `0`, - InteroperabilityIndex: `"R98"`, - Make: `"Polaroid"`, - DateTimeDigitized: `"2013:02:05 23:12:09"`, - PixelXDimension: `1600`, - DateTime: `"2013:02:05 23:12:09"`, - ExposureProgram: `2`, - CompressedBitsPerPixel: `"3766184/1920000"`, - Flash: `1`, - FocalLengthIn35mmFilm: `35`, - XResolution: `"288/3"`, - ISOSpeedRatings: `100`, - ExifVersion: `"0210"`, - MaxApertureValue: `"3072/1000"`, - LightSource: `0`, - FocalLength: `"5954/1000"`, - ColorSpace: `1`, - Model: `"Polaroid i532"`, - Copyright: `"Copyright 2005"`, - ThumbJPEGInterchangeFormat: `4974`, - SceneType: `""`, - DigitalZoomRatio: `"100/100"`, - SceneCaptureType: `0`, - DateTimeOriginal: `"2013:02:05 23:12:09"`, - MakerNote: `" BARCODE:A265KS008000; ZP:812; FP:124; AWB:235,679; PWB:476,304; PMF:12,11610; LV:493; LUM:3-8-9-8-1-11;20;26;19;10;A:1,F1:6,F2:18;ET:145, W:2, F:3 ;FV: 41FV: 36FV: 43FV: 223FV: 258FV: 9FV: 466FV: 216FP: 10FP: 8FP: 6FP: 6FP: 6FP: 0FP: 8FP: 8AFS: 110"`, - SensingMethod: `2`, - Sharpness: `0`, - ImageDescription: `""`, - Software: `" 1.0"`, - FNumber: `"28/10"`, - ExifIFDPointer: `240`, - ExposureTime: `"1/60"`, - ComponentsConfiguration: `""`, - MeteringMode: `3`, - Orientation: `1`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - }, - "2099-08-12-19-59-29-sep-2099-08-12-19-59-29a.jpg": map[FieldName]string{ - Model: `"NIKON D70s"`, - ExposureBiasValue: `"0/6"`, - SubSecTimeOriginal: `"00"`, - PixelYDimension: `2000`, - CFAPattern: `""`, - CustomRendered: `0`, - DigitalZoomRatio: `"1/1"`, - Orientation: `1`, - XResolution: `"300/1"`, - ExifVersion: `"0221"`, - Flash: `31`, - ThumbJPEGInterchangeFormat: `28588`, - ThumbJPEGInterchangeFormatLength: `8886`, - ExposureProgram: `0`, - MaxApertureValue: `"36/10"`, - SceneType: `""`, - InteroperabilityIndex: `"R98"`, - ResolutionUnit: `2`, - YCbCrPositioning: `2`, - ExifIFDPointer: `216`, - ExposureTime: `"10/600"`, - FocalLength: `"180/10"`, - SubSecTimeDigitized: `"00"`, - FlashpixVersion: `"0100"`, - YResolution: `"300/1"`, - Software: `"Ver.1.00 "`, - DateTime: `"2099:08:12 19:59:29"`, - LightSource: `0`, - InteroperabilityIFDPointer: `28448`, - ExposureMode: `0`, - FocalLengthIn35mmFilm: `27`, - SceneCaptureType: `0`, - Make: `"NIKON CORPORATION"`, - DateTimeOriginal: `"2099:08:12 19:59:29"`, - ComponentsConfiguration: `""`, - SubSecTime: `"00"`, - Contrast: `1`, - Sharpness: `0`, - FNumber: `"35/10"`, - ColorSpace: `1`, - FileSource: `""`, - WhiteBalance: `0`, - UserComment: `"ASCII "`, - PixelXDimension: `3008`, - SensingMethod: `2`, - GainControl: `0`, - DateTimeDigitized: `"2099:08:12 19:59:29"`, - CompressedBitsPerPixel: `"2/1"`, - MeteringMode: `5`, - MakerNote: `""`, - Saturation: `0`, - SubjectDistanceRange: `0`, - }, - "2216-11-15-11-46-51-sep-2216-11-15-11-46-51a.jpg": map[FieldName]string{ - ExposureProgram: `2`, - FileSource: `""`, - FNumber: `"480/100"`, - YCbCrPositioning: `2`, - DateTimeDigitized: `"2216:11:15 11:46:51"`, - MakerNote: `""`, - PixelXDimension: `3296`, - SensingMethod: `2`, - SceneType: `""`, - ResolutionUnit: `2`, - ApertureValue: `"452/100"`, - ExposureBiasValue: `"0/10"`, - LightSource: `0`, - FocalLength: `"60/10"`, - FlashpixVersion: `"0100"`, - PixelYDimension: `2472`, - YResolution: `"480/1"`, - DateTimeOriginal: `"2216:11:15 11:46:51"`, - Flash: `24`, - ExposureMode: `0`, - ExifVersion: `"0221"`, - ThumbJPEGInterchangeFormatLength: `5175`, - MaxApertureValue: `"286/100"`, - ColorSpace: `1`, - ExposureIndex: `"80/1"`, - WhiteBalance: `0`, - Sharpness: `0`, - ThumbJPEGInterchangeFormat: `17818`, - ExposureTime: `"1016/1000000"`, - MeteringMode: `5`, - GainControl: `0`, - Saturation: `0`, - SubjectDistanceRange: `0`, - ExifIFDPointer: `2316`, - Software: `"KODAK EASYSHARE C813 ZOOM DIGITAL CAMERA"`, - ShutterSpeedValue: `"994/100"`, - Model: `"KODAK EASYSHARE C813 ZOOM DIGITAL CAMERA"`, - Orientation: `1`, - XResolution: `"480/1"`, - ISOSpeedRatings: `80`, - ComponentsConfiguration: `""`, - InteroperabilityIFDPointer: `17674`, - CustomRendered: `0`, - DigitalZoomRatio: `"0/10"`, - Make: `"EASTMAN KODAK COMPANY"`, - SceneCaptureType: `0`, - Contrast: `0`, - FocalLengthIn35mmFilm: `36`, - }, - "FailedHash-NoDate-sep-remembory.jpg": map[FieldName]string{ - Model: `"MFC-7840W"`, - YResolution: `"150/1"`, - Software: `"Apple Image Capture"`, - PixelYDimension: `1626`, - ExifIFDPointer: `192`, - PixelXDimension: `1232`, - Make: `"Brother"`, - Orientation: `1`, - XResolution: `"150/1"`, - ResolutionUnit: `2`, - }, - "f1-exif.jpg": map[FieldName]string{ - PixelXDimension: `0`, - Orientation: `1`, - XResolution: `"72/1"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `134`, - ExifVersion: `"0210"`, - ComponentsConfiguration: `""`, - YResolution: `"72/1"`, - DateTime: `"2012:11:04 05:42:02"`, - FlashpixVersion: `"0100"`, - ColorSpace: `65535`, - PixelYDimension: `0`, - }, - "f2-exif.jpg": map[FieldName]string{ - FlashpixVersion: `"0100"`, - ColorSpace: `65535`, - PixelYDimension: `0`, - YResolution: `"72/1"`, - DateTime: `"2012:11:04 05:42:32"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `134`, - ExifVersion: `"0210"`, - ComponentsConfiguration: `""`, - PixelXDimension: `0`, - Orientation: `2`, - XResolution: `"72/1"`, - }, - "f3-exif.jpg": map[FieldName]string{ - FlashpixVersion: `"0100"`, - ColorSpace: `65535`, - PixelYDimension: `0`, - YResolution: `"72/1"`, - DateTime: `"2012:11:04 05:42:32"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `134`, - ExifVersion: `"0210"`, - ComponentsConfiguration: `""`, - PixelXDimension: `0`, - Orientation: `3`, - XResolution: `"72/1"`, - }, - "f4-exif.jpg": map[FieldName]string{ - ExifVersion: `"0210"`, - ComponentsConfiguration: `""`, - PixelXDimension: `0`, - Orientation: `4`, - XResolution: `"72/1"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `134`, - YResolution: `"72/1"`, - DateTime: `"2012:11:04 05:42:32"`, - FlashpixVersion: `"0100"`, - ColorSpace: `65535`, - PixelYDimension: `0`, - }, - "f5-exif.jpg": map[FieldName]string{ - ExifIFDPointer: `134`, - ExifVersion: `"0210"`, - ComponentsConfiguration: `""`, - PixelXDimension: `0`, - Orientation: `5`, - XResolution: `"72/1"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - PixelYDimension: `0`, - YResolution: `"72/1"`, - DateTime: `"2012:11:04 05:42:32"`, - FlashpixVersion: `"0100"`, - ColorSpace: `65535`, - }, - "f6-exif.jpg": map[FieldName]string{ - YResolution: `"72/1"`, - DateTime: `"2012:11:04 05:42:32"`, - FlashpixVersion: `"0100"`, - ColorSpace: `65535`, - PixelYDimension: `0`, - ExifVersion: `"0210"`, - ComponentsConfiguration: `""`, - PixelXDimension: `0`, - Orientation: `6`, - XResolution: `"72/1"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `134`, - }, - "f7-exif.jpg": map[FieldName]string{ - ExifIFDPointer: `134`, - ExifVersion: `"0210"`, - ComponentsConfiguration: `""`, - PixelXDimension: `0`, - Orientation: `7`, - XResolution: `"72/1"`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - PixelYDimension: `0`, - YResolution: `"72/1"`, - DateTime: `"2012:11:04 05:42:32"`, - FlashpixVersion: `"0100"`, - ColorSpace: `65535`, - }, - "f8-exif.jpg": map[FieldName]string{ - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - ExifIFDPointer: `134`, - ExifVersion: `"0210"`, - ComponentsConfiguration: `""`, - PixelXDimension: `0`, - Orientation: `8`, - XResolution: `"72/1"`, - FlashpixVersion: `"0100"`, - ColorSpace: `65535`, - PixelYDimension: `0`, - YResolution: `"72/1"`, - DateTime: `"2012:11:04 05:42:32"`, - }, - "geodegrees_as_string.jpg": map[FieldName]string{ - GPSAltitudeRef: `0`, - ThumbJPEGInterchangeFormat: `539`, - ThumbJPEGInterchangeFormatLength: `13132`, - WhiteBalance: `0`, - ExposureProgram: `0`, - Sharpness: `2`, - ExifIFDPointer: `114`, - ExposureTime: `"0/1024"`, - Saturation: `0`, - GPSLatitude: `"52,00000,50,00000,34,01180"`, - GPSTimeStamp: `"17,00000,8,00000,29,00000"`, - Model: `"HTC One_M8"`, - ApertureValue: `"2048/1024"`, - FocalLength: `"3072/1024"`, - GPSLatitudeRef: `"N"`, - GPSLongitude: `"11,00000,10,00000,58,28360"`, - GPSAltitude: `"0/1024"`, - GPSLongitudeRef: `"E"`, - GPSProcessingMethod: `"ASCII"`, - GPSInfoIFDPointer: `317`, - Make: `"HTC"`, - DateTimeOriginal: `"2014:04:26 19:09:19"`, - ISOSpeedRatings: `125`, - Contrast: `0`, - }, - "has-lens-info.jpg": map[FieldName]string{ - LensModel: `"iPhone 4S back camera 4.28mm f/2.4"`, - Model: `"iPhone 4S"`, - ThumbJPEGInterchangeFormatLength: `10875`, - ShutterSpeedValue: `"106906/10353"`, - FocalLength: `"107/25"`, - SubjectArea: `[1631,1223,881,881]`, - ColorSpace: `1`, - PixelYDimension: `2448`, - GPSLatitude: `["59/1","19/1","5717/100"]`, - Make: `"Apple"`, - DateTimeOriginal: `"2014:09:01 15:03:47"`, - DateTimeDigitized: `"2014:09:01 15:03:47"`, - BrightnessValue: `"3927/419"`, - PixelXDimension: `3264`, - SceneType: `""`, - LensMake: `"Apple"`, - GPSLatitudeRef: `"N"`, - GPSLongitude: `["18/1","3/1","5379/100"]`, - FocalLengthIn35mmFilm: `35`, - Orientation: `6`, - ResolutionUnit: `2`, - YCbCrPositioning: `1`, - GPSInfoIFDPointer: `948`, - ExifVersion: `"0221"`, - MeteringMode: `5`, - Flash: `16`, - GPSLongitudeRef: `"E"`, - YResolution: `"72/1"`, - ThumbJPEGInterchangeFormat: `1244`, - ApertureValue: `"4845/1918"`, - SubSecTimeDigitized: `"880"`, - FlashpixVersion: `"0100"`, - WhiteBalance: `0`, - GPSAltitudeRef: `0`, - MakerNote: `""`, - SensingMethod: `2`, - ExposureMode: `0`, - SceneCaptureType: `0`, - GPSImgDirection: `"18329/175"`, - Software: `"7.1.1"`, - DateTime: `"2014:09:01 15:03:47"`, - FNumber: `"12/5"`, - ExposureProgram: `2`, - SubSecTimeOriginal: `"880"`, - GPSImgDirectionRef: `"T"`, - XResolution: `"72/1"`, - ExifIFDPointer: `204`, - ExposureTime: `"1/1284"`, - ISOSpeedRatings: `50`, - ComponentsConfiguration: `""`, - GPSAltitude: `"29/1"`, - GPSTimeStamp: `["13/1","3/1","4279/100"]`, - }, -} diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2004-01-11-22-45-15-sep-2004-01-11-22-45-15a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2004-01-11-22-45-15-sep-2004-01-11-22-45-15a.jpg deleted file mode 100644 index 6f3be2480..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2004-01-11-22-45-15-sep-2004-01-11-22-45-15a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-08-03-16-29-38-sep-2006-08-03-16-29-38a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-08-03-16-29-38-sep-2006-08-03-16-29-38a.jpg deleted file mode 100644 index 39891df84..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-08-03-16-29-38-sep-2006-08-03-16-29-38a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-11-11-19-17-56-sep-2006-11-11-19-17-56a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-11-11-19-17-56-sep-2006-11-11-19-17-56a.jpg deleted file mode 100644 index 4721e7542..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-11-11-19-17-56-sep-2006-11-11-19-17-56a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-10-23-58-20-sep-2006-12-10-23-58-20a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-10-23-58-20-sep-2006-12-10-23-58-20a.jpg deleted file mode 100644 index 8c0997ea0..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-10-23-58-20-sep-2006-12-10-23-58-20a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-17-07-09-14-sep-2006-12-17-07-09-14a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-17-07-09-14-sep-2006-12-17-07-09-14a.jpg deleted file mode 100644 index 1c6e7601d..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-17-07-09-14-sep-2006-12-17-07-09-14a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-21-15-55-26-sep-2006-12-21-15-55-26a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-21-15-55-26-sep-2006-12-21-15-55-26a.jpg deleted file mode 100644 index 8aaf632be..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-21-15-55-26-sep-2006-12-21-15-55-26a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-01-12-00-00-sep-2007-01-01-12-00-00a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-01-12-00-00-sep-2007-01-01-12-00-00a.jpg deleted file mode 100644 index c44db32c1..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-01-12-00-00-sep-2007-01-01-12-00-00a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-17-21-49-44-sep-2007-01-17-21-49-44a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-17-21-49-44-sep-2007-01-17-21-49-44a.jpg deleted file mode 100644 index f025460d6..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-17-21-49-44-sep-2007-01-17-21-49-44a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-02-02-18-13-29-sep-2007-02-02-18-13-29a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-02-02-18-13-29-sep-2007-02-02-18-13-29a.jpg deleted file mode 100644 index 3f1fbfbdf..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-02-02-18-13-29-sep-2007-02-02-18-13-29a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-02-17-02-21-sep-2007-05-02-17-02-21a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-02-17-02-21-sep-2007-05-02-17-02-21a.jpg deleted file mode 100644 index 351935778..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-02-17-02-21-sep-2007-05-02-17-02-21a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-12-08-19-07-sep-2007-05-12-08-19-07a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-12-08-19-07-sep-2007-05-12-08-19-07a.jpg deleted file mode 100644 index 175b60663..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-12-08-19-07-sep-2007-05-12-08-19-07a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-26-04-49-45-sep-2007-05-26-04-49-45a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-26-04-49-45-sep-2007-05-26-04-49-45a.jpg deleted file mode 100644 index 90a6c92b0..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-26-04-49-45-sep-2007-05-26-04-49-45a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-30-14-28-01-sep-2007-05-30-14-28-01a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-30-14-28-01-sep-2007-05-30-14-28-01a.jpg deleted file mode 100644 index 74f30c351..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-30-14-28-01-sep-2007-05-30-14-28-01a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-06-16-15-25-sep-2007-06-06-16-15-25a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-06-16-15-25-sep-2007-06-06-16-15-25a.jpg deleted file mode 100644 index 0a025a0b8..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-06-16-15-25-sep-2007-06-06-16-15-25a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-26-10-13-04-sep-2007-06-26-10-13-04a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-26-10-13-04-sep-2007-06-26-10-13-04a.jpg deleted file mode 100644 index 526cefafd..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-26-10-13-04-sep-2007-06-26-10-13-04a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-07-13-17-02-30-sep-2007-07-13-17-02-30a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-07-13-17-02-30-sep-2007-07-13-17-02-30a.jpg deleted file mode 100644 index c39e90fca..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-07-13-17-02-30-sep-2007-07-13-17-02-30a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-15-14-42-46-sep-2007-08-15-14-42-46a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-15-14-42-46-sep-2007-08-15-14-42-46a.jpg deleted file mode 100644 index 81be2a200..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-15-14-42-46-sep-2007-08-15-14-42-46a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-24-02-40-42-sep-2007-08-24-02-40-42a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-24-02-40-42-sep-2007-08-24-02-40-42a.jpg deleted file mode 100644 index aa457643d..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-24-02-40-42-sep-2007-08-24-02-40-42a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-11-07-11-40-44-sep-2007-11-07-11-40-44a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-11-07-11-40-44-sep-2007-11-07-11-40-44a.jpg deleted file mode 100644 index 916a2b6c3..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-11-07-11-40-44-sep-2007-11-07-11-40-44a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-02-10-03-57-sep-2008-06-02-10-03-57a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-02-10-03-57-sep-2008-06-02-10-03-57a.jpg deleted file mode 100644 index 0aedf3003..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-02-10-03-57-sep-2008-06-02-10-03-57a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-06-13-29-29-sep-2008-06-06-13-29-29a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-06-13-29-29-sep-2008-06-06-13-29-29a.jpg deleted file mode 100644 index a291900e3..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-06-13-29-29-sep-2008-06-06-13-29-29a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-17-01-21-30-sep-2008-06-17-01-21-30a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-17-01-21-30-sep-2008-06-17-01-21-30a.jpg deleted file mode 100644 index 805d1d0f0..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-17-01-21-30-sep-2008-06-17-01-21-30a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-09-02-17-43-48-sep-2008-09-02-17-43-48a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-09-02-17-43-48-sep-2008-09-02-17-43-48a.jpg deleted file mode 100644 index c866423c7..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-09-02-17-43-48-sep-2008-09-02-17-43-48a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-03-26-09-23-20-sep-2009-03-26-09-23-20a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-03-26-09-23-20-sep-2009-03-26-09-23-20a.jpg deleted file mode 100644 index 761bf6488..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-03-26-09-23-20-sep-2009-03-26-09-23-20a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-11-03-01-38-sep-2009-04-11-03-01-38a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-11-03-01-38-sep-2009-04-11-03-01-38a.jpg deleted file mode 100644 index 484fe3759..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-11-03-01-38-sep-2009-04-11-03-01-38a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-23-07-21-35-sep-2009-04-23-07-21-35a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-23-07-21-35-sep-2009-04-23-07-21-35a.jpg deleted file mode 100644 index f39db7d9a..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-23-07-21-35-sep-2009-04-23-07-21-35a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-11-19-23-18-sep-2009-06-11-19-23-18a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-11-19-23-18-sep-2009-06-11-19-23-18a.jpg deleted file mode 100644 index 599764bf8..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-11-19-23-18-sep-2009-06-11-19-23-18a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-20-07-59-05-sep-2009-06-20-07-59-05a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-20-07-59-05-sep-2009-06-20-07-59-05a.jpg deleted file mode 100644 index 8718269e9..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-20-07-59-05-sep-2009-06-20-07-59-05a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-08-05-08-11-31-sep-2009-08-05-08-11-31a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-08-05-08-11-31-sep-2009-08-05-08-11-31a.jpg deleted file mode 100644 index 9598b2136..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-08-05-08-11-31-sep-2009-08-05-08-11-31a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-08-04-44-24-sep-2010-06-08-04-44-24a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-08-04-44-24-sep-2010-06-08-04-44-24a.jpg deleted file mode 100644 index 33f7d9b20..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-08-04-44-24-sep-2010-06-08-04-44-24a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-20-20-07-39-sep-2010-06-20-20-07-39a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-20-20-07-39-sep-2010-06-20-20-07-39a.jpg deleted file mode 100644 index ec2faa1a9..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-20-20-07-39-sep-2010-06-20-20-07-39a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-09-02-08-43-02-sep-2010-09-02-08-43-02a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-09-02-08-43-02-sep-2010-09-02-08-43-02a.jpg deleted file mode 100644 index 3b7f906db..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-09-02-08-43-02-sep-2010-09-02-08-43-02a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-01-24-22-06-02-sep-2011-01-24-22-06-02a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-01-24-22-06-02-sep-2011-01-24-22-06-02a.jpg deleted file mode 100644 index 1a4af42d3..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-01-24-22-06-02-sep-2011-01-24-22-06-02a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-03-07-09-28-03-sep-2011-03-07-09-28-03a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-03-07-09-28-03-sep-2011-03-07-09-28-03a.jpg deleted file mode 100644 index 42d347656..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-03-07-09-28-03-sep-2011-03-07-09-28-03a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-05-07-13-02-49-sep-2011-05-07-13-02-49a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-05-07-13-02-49-sep-2011-05-07-13-02-49a.jpg deleted file mode 100644 index 7e84ec481..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-05-07-13-02-49-sep-2011-05-07-13-02-49a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-08-07-19-22-57-sep-2011-08-07-19-22-57a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-08-07-19-22-57-sep-2011-08-07-19-22-57a.jpg deleted file mode 100644 index 16fad2ecb..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-08-07-19-22-57-sep-2011-08-07-19-22-57a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-17-50-18-sep-2011-10-28-17-50-18a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-17-50-18-sep-2011-10-28-17-50-18a.jpg deleted file mode 100644 index f6020a8c9..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-17-50-18-sep-2011-10-28-17-50-18a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-18-25-43-sep-2011-10-28-18-25-43.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-18-25-43-sep-2011-10-28-18-25-43.jpg deleted file mode 100644 index 3aa541878..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-18-25-43-sep-2011-10-28-18-25-43.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-11-18-15-38-34-sep-Photo11181538.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-11-18-15-38-34-sep-Photo11181538.jpg deleted file mode 100644 index 48ef933a2..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-11-18-15-38-34-sep-Photo11181538.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-06-02-10-12-28-sep-2012-06-02-10-12-28.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-06-02-10-12-28-sep-2012-06-02-10-12-28.jpg deleted file mode 100644 index f83270eee..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-06-02-10-12-28-sep-2012-06-02-10-12-28.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-09-21-22-07-34-sep-2012-09-21-22-07-34.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-09-21-22-07-34-sep-2012-09-21-22-07-34.jpg deleted file mode 100644 index 5cdb55aac..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-09-21-22-07-34-sep-2012-09-21-22-07-34.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-19-21-38-40-sep-temple_square1.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-19-21-38-40-sep-temple_square1.jpg deleted file mode 100644 index 4cc074f8e..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-19-21-38-40-sep-temple_square1.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-21-11-15-19-sep-IMG_0001.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-21-11-15-19-sep-IMG_0001.jpg deleted file mode 100644 index ba23c3c42..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-21-11-15-19-sep-IMG_0001.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2013-02-05-23-12-09-sep-DSCI0001.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2013-02-05-23-12-09-sep-DSCI0001.jpg deleted file mode 100644 index 0396148af..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2013-02-05-23-12-09-sep-DSCI0001.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2099-08-12-19-59-29-sep-2099-08-12-19-59-29a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2099-08-12-19-59-29-sep-2099-08-12-19-59-29a.jpg deleted file mode 100644 index 9729182b3..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2099-08-12-19-59-29-sep-2099-08-12-19-59-29a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/2216-11-15-11-46-51-sep-2216-11-15-11-46-51a.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/2216-11-15-11-46-51-sep-2216-11-15-11-46-51a.jpg deleted file mode 100644 index ae53a397a..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/2216-11-15-11-46-51-sep-2216-11-15-11-46-51a.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/FailedHash-NoDate-sep-remembory.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/FailedHash-NoDate-sep-remembory.jpg deleted file mode 100644 index 9fb415124..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/FailedHash-NoDate-sep-remembory.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/f1-exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/f1-exif.jpg deleted file mode 100644 index ff003e394..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/f1-exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/f2-exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/f2-exif.jpg deleted file mode 100644 index 7e0f170e3..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/f2-exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/f3-exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/f3-exif.jpg deleted file mode 100644 index 3ed7b16a7..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/f3-exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/f4-exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/f4-exif.jpg deleted file mode 100644 index 0e081f919..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/f4-exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/f5-exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/f5-exif.jpg deleted file mode 100644 index e8d875479..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/f5-exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/f6-exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/f6-exif.jpg deleted file mode 100644 index 4e2c86415..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/f6-exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/f7-exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/f7-exif.jpg deleted file mode 100644 index b5dddea44..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/f7-exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/f8-exif.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/f8-exif.jpg deleted file mode 100644 index fb050fc6d..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/f8-exif.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/geodegrees_as_string.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/geodegrees_as_string.jpg deleted file mode 100644 index 280a70ec4..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/geodegrees_as_string.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exif/samples/has-lens-info.jpg b/vendor/github.com/rwcarlsen/goexif/exif/samples/has-lens-info.jpg deleted file mode 100644 index 57757da33..000000000 Binary files a/vendor/github.com/rwcarlsen/goexif/exif/samples/has-lens-info.jpg and /dev/null differ diff --git a/vendor/github.com/rwcarlsen/goexif/exifstat/main.go b/vendor/github.com/rwcarlsen/goexif/exifstat/main.go deleted file mode 100644 index 0b383c9d5..000000000 --- a/vendor/github.com/rwcarlsen/goexif/exifstat/main.go +++ /dev/null @@ -1,60 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "log" - "os" - - "github.com/rwcarlsen/goexif/exif" - "github.com/rwcarlsen/goexif/mknote" - "github.com/rwcarlsen/goexif/tiff" -) - -var mnote = flag.Bool("mknote", false, "try to parse makernote data") -var thumb = flag.Bool("thumb", false, "dump thumbail data to stdout (for first listed image file)") - -func main() { - flag.Parse() - fnames := flag.Args() - - if *mnote { - exif.RegisterParsers(mknote.All...) - } - - for _, name := range fnames { - f, err := os.Open(name) - if err != nil { - log.Printf("err on %v: %v", name, err) - continue - } - - x, err := exif.Decode(f) - if err != nil { - log.Printf("err on %v: %v", name, err) - continue - } - - if *thumb { - data, err := x.JpegThumbnail() - if err != nil { - log.Fatal("no thumbnail present") - } - if _, err := os.Stdout.Write(data); err != nil { - log.Fatal(err) - } - return - } - - fmt.Printf("\n---- Image '%v' ----\n", name) - x.Walk(Walker{}) - } -} - -type Walker struct{} - -func (_ Walker) Walk(name exif.FieldName, tag *tiff.Tag) error { - data, _ := tag.MarshalJSON() - fmt.Printf(" %v: %v\n", name, string(data)) - return nil -} diff --git a/vendor/github.com/rwcarlsen/goexif/mknote/fields.go b/vendor/github.com/rwcarlsen/goexif/mknote/fields.go deleted file mode 100644 index e67d11c20..000000000 --- a/vendor/github.com/rwcarlsen/goexif/mknote/fields.go +++ /dev/null @@ -1,268 +0,0 @@ -package mknote - -import "github.com/rwcarlsen/goexif/exif" - -// Useful resources used in creating these tables: -// http://www.exiv2.org/makernote.html -// http://www.exiv2.org/tags-canon.html -// http://www.exiv2.org/tags-nikon.html - -// Known Maker Note fields -const ( - // common fields - ISOSpeed exif.FieldName = "ISOSpeed" - ColorMode = "ColorMode" - Quality = "Quality" - Sharpening = "Sharpening" - Focus = "Focus" - FlashSetting = "FlashSetting" - FlashDevice = "FlashDevice" - WhiteBalanceBias = "WhiteBalanceBias" - WB_RBLevels = "WB_RBLevels" - ProgramShift = "ProgramShift" - ExposureDiff = "ExposureDiff" - ISOSelection = "ISOSelection" - DataDump = "DataDump" - Preview = "Preview" - FlashComp = "FlashComp" - ISOSettings = "ISOSettings" - ImageBoundary = "ImageBoundary" - FlashExposureComp = "FlashExposureComp" - FlashBracketComp = "FlashBracketComp" - ExposureBracketComp = "ExposureBracketComp" - ImageProcessing = "ImageProcessing" - CropHiSpeed = "CropHiSpeed" - ExposureTuning = "ExposureTuning" - SerialNumber = "SerialNumber" - ImageAuthentication = "ImageAuthentication" - ActiveDLighting = "ActiveDLighting" - VignetteControl = "VignetteControl" - ImageAdjustment = "ImageAdjustment" - ToneComp = "ToneComp" - AuxiliaryLens = "AuxiliaryLens" - LensType = "LensType" - Lens = "Lens" - FocusDistance = "FocusDistance" - DigitalZoom = "DigitalZoom" - FlashMode = "FlashMode" - ShootingMode = "ShootingMode" - AutoBracketRelease = "AutoBracketRelease" - LensFStops = "LensFStops" - ContrastCurve = "ContrastCurve" - ColorHue = "ColorHue" - SceneMode = "SceneMode" - HueAdjustment = "HueAdjustment" - NEFCompression = "NEFCompression" - NoiseReduction = "NoiseReduction" - LinearizationTable = "LinearizationTable" - RawImageCenter = "RawImageCenter" - SensorPixelSize = "SensorPixelSize" - SceneAssist = "SceneAssist" - RetouchHistory = "RetouchHistory" - ImageDataSize = "ImageDataSize" - ImageCount = "ImageCount" - DeletedImageCount = "DeletedImageCount" - ShutterCount = "ShutterCount" - ImageOptimization = "ImageOptimization" - SaturationText = "SaturationText" - VariProgram = "VariProgram" - ImageStabilization = "ImageStabilization" - AFResponse = "AFResponse" - HighISONoiseReduction = "HighISONoiseReduction" - ToningEffect = "ToningEffect" - PrintIM = "PrintIM" - CaptureData = "CaptureData" - CaptureVersion = "CaptureVersion" - CaptureOffsets = "CaptureOffsets" - ScanIFD = "ScanIFD" - ICCProfile = "ICCProfile" - CaptureOutput = "CaptureOutput" - Panorama = "Panorama" - ImageType = "ImageType" - FirmwareVersion = "FirmwareVersion" - FileNumber = "FileNumber" - OwnerName = "OwnerName" - CameraInfo = "CameraInfo" - CustomFunctions = "CustomFunctions" - ModelID = "ModelID" - PictureInfo = "PictureInfo" - ThumbnailImageValidArea = "ThumbnailImageValidArea" - SerialNumberFormat = "SerialNumberFormat" - SuperMacro = "SuperMacro" - OriginalDecisionDataOffset = "OriginalDecisionDataOffset" - WhiteBalanceTable = "WhiteBalanceTable" - LensModel = "LensModel" - InternalSerialNumber = "InternalSerialNumber" - DustRemovalData = "DustRemovalData" - ProcessingInfo = "ProcessingInfo" - MeasuredColor = "MeasuredColor" - VRDOffset = "VRDOffset" - SensorInfo = "SensorInfo" - ColorData = "ColorData" - - // Nikon-specific fields - Nikon_Version = "Nikon.Version" - Nikon_WhiteBalance = "Nikon.WhiteBalance" - Nikon_ColorSpace = "Nikon.ColorSpace" - Nikon_LightSource = "Nikon.LightSource" - Nikon_Saturation = "Nikon_Saturation" - Nikon_ShotInfo = "Nikon.ShotInfo" // A sub-IFD - Nikon_VRInfo = "Nikon.VRInfo" // A sub-IFD - Nikon_PictureControl = "Nikon.PictureControl" // A sub-IFD - Nikon_WorldTime = "Nikon.WorldTime" // A sub-IFD - Nikon_ISOInfo = "Nikon.ISOInfo" // A sub-IFD - Nikon_AFInfo = "Nikon.AFInfo" // A sub-IFD - Nikon_ColorBalance = "Nikon.ColorBalance" // A sub-IFD - Nikon_LensData = "Nikon.LensData" // A sub-IFD - Nikon_SerialNO = "Nikon.SerialNO" // usually starts with "NO=" - Nikon_FlashInfo = "Nikon.FlashInfo" // A sub-IFD - Nikon_MultiExposure = "Nikon.MultiExposure" // A sub-IFD - Nikon_AFInfo2 = "Nikon.AFInfo2" // A sub-IFD - Nikon_FileInfo = "Nikon.FileInfo" // A sub-IFD - Nikon_AFTune = "Nikon.AFTune" // A sub-IFD - Nikon3_0x000a = "Nikon3.0x000a" - Nikon3_0x009b = "Nikon3.0x009b" - Nikon3_0x009f = "Nikon3.0x009f" - Nikon3_0x00a3 = "Nikon3.0x00a3" - - // Canon-specific fiends - Canon_CameraSettings = "Canon.CameraSettings" // A sub-IFD - Canon_ShotInfo = "Canon.ShotInfo" // A sub-IFD - Canon_AFInfo = "Canon.AFInfo" - Canon_0x0000 = "Canon.0x0000" - Canon_0x0003 = "Canon.0x0003" - Canon_0x00b5 = "Canon.0x00b5" - Canon_0x00c0 = "Canon.0x00c0" - Canon_0x00c1 = "Canon.0x00c1" -) - -var makerNoteCanonFields = map[uint16]exif.FieldName{ - 0x0000: Canon_0x0000, - 0x0001: Canon_CameraSettings, - 0x0002: exif.FocalLength, - 0x0003: Canon_0x0003, - 0x0004: Canon_ShotInfo, - 0x0005: Panorama, - 0x0006: ImageType, - 0x0007: FirmwareVersion, - 0x0008: FileNumber, - 0x0009: OwnerName, - 0x000c: SerialNumber, - 0x000d: CameraInfo, - 0x000f: CustomFunctions, - 0x0010: ModelID, - 0x0012: PictureInfo, - 0x0013: ThumbnailImageValidArea, - 0x0015: SerialNumberFormat, - 0x001a: SuperMacro, - 0x0026: Canon_AFInfo, - 0x0083: OriginalDecisionDataOffset, - 0x00a4: WhiteBalanceTable, - 0x0095: LensModel, - 0x0096: InternalSerialNumber, - 0x0097: DustRemovalData, - 0x0099: CustomFunctions, - 0x00a0: ProcessingInfo, - 0x00aa: MeasuredColor, - 0x00b4: exif.ColorSpace, - 0x00b5: Canon_0x00b5, - 0x00c0: Canon_0x00c0, - 0x00c1: Canon_0x00c1, - 0x00d0: VRDOffset, - 0x00e0: SensorInfo, - 0x4001: ColorData, -} - -// Nikon version 3 Maker Notes fields (used by E5400, SQ, D2H, D70, and newer) -var makerNoteNikon3Fields = map[uint16]exif.FieldName{ - 0x0001: Nikon_Version, - 0x0002: ISOSpeed, - 0x0003: ColorMode, - 0x0004: Quality, - 0x0005: Nikon_WhiteBalance, - 0x0006: Sharpening, - 0x0007: Focus, - 0x0008: FlashSetting, - 0x0009: FlashDevice, - 0x000a: Nikon3_0x000a, - 0x000b: WhiteBalanceBias, - 0x000c: WB_RBLevels, - 0x000d: ProgramShift, - 0x000e: ExposureDiff, - 0x000f: ISOSelection, - 0x0010: DataDump, - 0x0011: Preview, - 0x0012: FlashComp, - 0x0013: ISOSettings, - 0x0016: ImageBoundary, - 0x0017: FlashExposureComp, - 0x0018: FlashBracketComp, - 0x0019: ExposureBracketComp, - 0x001a: ImageProcessing, - 0x001b: CropHiSpeed, - 0x001c: ExposureTuning, - 0x001d: SerialNumber, - 0x001e: Nikon_ColorSpace, - 0x001f: Nikon_VRInfo, - 0x0020: ImageAuthentication, - 0x0022: ActiveDLighting, - 0x0023: Nikon_PictureControl, - 0x0024: Nikon_WorldTime, - 0x0025: Nikon_ISOInfo, - 0x002a: VignetteControl, - 0x0080: ImageAdjustment, - 0x0081: ToneComp, - 0x0082: AuxiliaryLens, - 0x0083: LensType, - 0x0084: Lens, - 0x0085: FocusDistance, - 0x0086: DigitalZoom, - 0x0087: FlashMode, - 0x0088: Nikon_AFInfo, - 0x0089: ShootingMode, - 0x008a: AutoBracketRelease, - 0x008b: LensFStops, - 0x008c: ContrastCurve, - 0x008d: ColorHue, - 0x008f: SceneMode, - 0x0090: Nikon_LightSource, - 0x0091: Nikon_ShotInfo, - 0x0092: HueAdjustment, - 0x0093: NEFCompression, - 0x0094: Nikon_Saturation, - 0x0095: NoiseReduction, - 0x0096: LinearizationTable, - 0x0097: Nikon_ColorBalance, - 0x0098: Nikon_LensData, - 0x0099: RawImageCenter, - 0x009a: SensorPixelSize, - 0x009b: Nikon3_0x009b, - 0x009c: SceneAssist, - 0x009e: RetouchHistory, - 0x009f: Nikon3_0x009f, - 0x00a0: Nikon_SerialNO, - 0x00a2: ImageDataSize, - 0x00a3: Nikon3_0x00a3, - 0x00a5: ImageCount, - 0x00a6: DeletedImageCount, - 0x00a7: ShutterCount, - 0x00a8: Nikon_FlashInfo, - 0x00a9: ImageOptimization, - 0x00aa: SaturationText, - 0x00ab: VariProgram, - 0x00ac: ImageStabilization, - 0x00ad: AFResponse, - 0x00b0: Nikon_MultiExposure, - 0x00b1: HighISONoiseReduction, - 0x00b3: ToningEffect, - 0x00b7: Nikon_AFInfo2, - 0x00b8: Nikon_FileInfo, - 0x00b9: Nikon_AFTune, - 0x0e00: PrintIM, - 0x0e01: CaptureData, - 0x0e09: CaptureVersion, - 0x0e0e: CaptureOffsets, - 0x0e10: ScanIFD, - 0x0e1d: ICCProfile, - 0x0e1e: CaptureOutput, -} diff --git a/vendor/github.com/rwcarlsen/goexif/mknote/mknote.go b/vendor/github.com/rwcarlsen/goexif/mknote/mknote.go deleted file mode 100644 index 1e6021621..000000000 --- a/vendor/github.com/rwcarlsen/goexif/mknote/mknote.go +++ /dev/null @@ -1,70 +0,0 @@ -// Package mknote provides makernote parsers that can be used with goexif/exif. -package mknote - -import ( - "bytes" - - "github.com/rwcarlsen/goexif/exif" - "github.com/rwcarlsen/goexif/tiff" -) - -var ( - // Canon is an exif.Parser for canon makernote data. - Canon = &canon{} - // NikonV3 is an exif.Parser for nikon makernote data. - NikonV3 = &nikonV3{} - // All is a list of all available makernote parsers - All = []exif.Parser{Canon, NikonV3} -) - -type canon struct{} - -// Parse decodes all Canon makernote data found in x and adds it to x. -func (_ *canon) Parse(x *exif.Exif) error { - m, err := x.Get(exif.MakerNote) - if err != nil { - return nil - } - - mk, err := x.Get(exif.Make) - if err != nil { - return nil - } - - if val, err := mk.StringVal(); err != nil || val != "Canon" { - return nil - } - - // Canon notes are a single IFD directory with no header. - // Reader offsets need to be w.r.t. the original tiff structure. - buf := bytes.NewReader(append(make([]byte, m.ValOffset), m.Val...)) - buf.Seek(int64(m.ValOffset), 0) - - mkNotesDir, _, err := tiff.DecodeDir(buf, x.Tiff.Order) - if err != nil { - return err - } - x.LoadTags(mkNotesDir, makerNoteCanonFields, false) - return nil -} - -type nikonV3 struct{} - -// Parse decodes all Nikon makernote data found in x and adds it to x. -func (_ *nikonV3) Parse(x *exif.Exif) error { - m, err := x.Get(exif.MakerNote) - if err != nil { - return nil - } else if bytes.Compare(m.Val[:6], []byte("Nikon\000")) != 0 { - return nil - } - - // Nikon v3 maker note is a self-contained IFD (offsets are relative - // to the start of the maker note) - mkNotes, err := tiff.Decode(bytes.NewReader(m.Val[10:])) - if err != nil { - return err - } - x.LoadTags(mkNotes.Dirs[0], makerNoteNikon3Fields, false) - return nil -} diff --git a/vendor/github.com/rwcarlsen/goexif/tiff/tag.go b/vendor/github.com/rwcarlsen/goexif/tiff/tag.go index 66b68e334..95d4b28b8 100644 --- a/vendor/github.com/rwcarlsen/goexif/tiff/tag.go +++ b/vendor/github.com/rwcarlsen/goexif/tiff/tag.go @@ -41,17 +41,17 @@ type DataType uint16 const ( DTByte DataType = 1 - DTAscii = 2 - DTShort = 3 - DTLong = 4 - DTRational = 5 - DTSByte = 6 - DTUndefined = 7 - DTSShort = 8 - DTSLong = 9 - DTSRational = 10 - DTFloat = 11 - DTDouble = 12 + DTAscii DataType = 2 + DTShort DataType = 3 + DTLong DataType = 4 + DTRational DataType = 5 + DTSByte DataType = 6 + DTUndefined DataType = 7 + DTSShort DataType = 8 + DTSLong DataType = 9 + DTSRational DataType = 10 + DTFloat DataType = 11 + DTDouble DataType = 12 ) var typeNames = map[DataType]string{ diff --git a/vendor/github.com/rwcarlsen/goexif/tiff/tiff_test.go b/vendor/github.com/rwcarlsen/goexif/tiff/tiff_test.go deleted file mode 100644 index 5db348dc8..000000000 --- a/vendor/github.com/rwcarlsen/goexif/tiff/tiff_test.go +++ /dev/null @@ -1,235 +0,0 @@ -package tiff - -import ( - "bytes" - "encoding/binary" - "encoding/hex" - "flag" - "os" - "path/filepath" - "testing" -) - -var dataDir = flag.String("test_data_dir", ".", "Directory where the data files for testing are located") - -type input struct { - tgId string - tpe string - nVals string - offset string - val string -} - -type output struct { - id uint16 - typ DataType - count uint32 - val []byte -} - -type tagTest struct { - big input // big endian - little input // little endian - out output -} - -/////////////////////////////////////////////// -//// Big endian Tests ///////////////////////// -/////////////////////////////////////////////// -var set1 = []tagTest{ - //////////// string type ////////////// - tagTest{ - // {"TgId", "TYPE", "N-VALUES", "OFFSET--", "VAL..."}, - input{"0003", "0002", "00000002", "11000000", ""}, - input{"0300", "0200", "02000000", "11000000", ""}, - output{0x0003, DataType(0x0002), 0x0002, []byte{0x11, 0x00}}, - }, - tagTest{ - input{"0001", "0002", "00000006", "00000012", "111213141516"}, - input{"0100", "0200", "06000000", "12000000", "111213141516"}, - output{0x0001, DataType(0x0002), 0x0006, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16}}, - }, - //////////// int (1-byte) type //////////////// - tagTest{ - input{"0001", "0001", "00000001", "11000000", ""}, - input{"0100", "0100", "01000000", "11000000", ""}, - output{0x0001, DataType(0x0001), 0x0001, []byte{0x11}}, - }, - tagTest{ - input{"0001", "0001", "00000005", "00000010", "1112131415"}, - input{"0100", "0100", "05000000", "10000000", "1112131415"}, - output{0x0001, DataType(0x0001), 0x0005, []byte{0x11, 0x12, 0x13, 0x14, 0x15}}, - }, - tagTest{ - input{"0001", "0006", "00000001", "11000000", ""}, - input{"0100", "0600", "01000000", "11000000", ""}, - output{0x0001, DataType(0x0006), 0x0001, []byte{0x11}}, - }, - tagTest{ - input{"0001", "0006", "00000005", "00000010", "1112131415"}, - input{"0100", "0600", "05000000", "10000000", "1112131415"}, - output{0x0001, DataType(0x0006), 0x0005, []byte{0x11, 0x12, 0x13, 0x14, 0x15}}, - }, - //////////// int (2-byte) types //////////////// - tagTest{ - input{"0001", "0003", "00000002", "11111212", ""}, - input{"0100", "0300", "02000000", "11111212", ""}, - output{0x0001, DataType(0x0003), 0x0002, []byte{0x11, 0x11, 0x12, 0x12}}, - }, - tagTest{ - input{"0001", "0003", "00000003", "00000010", "111213141516"}, - input{"0100", "0300", "03000000", "10000000", "111213141516"}, - output{0x0001, DataType(0x0003), 0x0003, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16}}, - }, - tagTest{ - input{"0001", "0008", "00000001", "11120000", ""}, - input{"0100", "0800", "01000000", "11120000", ""}, - output{0x0001, DataType(0x0008), 0x0001, []byte{0x11, 0x12}}, - }, - tagTest{ - input{"0001", "0008", "00000003", "00000100", "111213141516"}, - input{"0100", "0800", "03000000", "00100000", "111213141516"}, - output{0x0001, DataType(0x0008), 0x0003, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16}}, - }, - //////////// int (4-byte) types //////////////// - tagTest{ - input{"0001", "0004", "00000001", "11121314", ""}, - input{"0100", "0400", "01000000", "11121314", ""}, - output{0x0001, DataType(0x0004), 0x0001, []byte{0x11, 0x12, 0x13, 0x14}}, - }, - tagTest{ - input{"0001", "0004", "00000002", "00000010", "1112131415161718"}, - input{"0100", "0400", "02000000", "10000000", "1112131415161718"}, - output{0x0001, DataType(0x0004), 0x0002, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}}, - }, - tagTest{ - input{"0001", "0009", "00000001", "11121314", ""}, - input{"0100", "0900", "01000000", "11121314", ""}, - output{0x0001, DataType(0x0009), 0x0001, []byte{0x11, 0x12, 0x13, 0x14}}, - }, - tagTest{ - input{"0001", "0009", "00000002", "00000011", "1112131415161819"}, - input{"0100", "0900", "02000000", "11000000", "1112131415161819"}, - output{0x0001, DataType(0x0009), 0x0002, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x18, 0x19}}, - }, - //////////// rational types //////////////////// - tagTest{ - input{"0001", "0005", "00000001", "00000010", "1112131415161718"}, - input{"0100", "0500", "01000000", "10000000", "1112131415161718"}, - output{0x0001, DataType(0x0005), 0x0001, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}}, - }, - tagTest{ - input{"0001", "000A", "00000001", "00000011", "1112131415161819"}, - input{"0100", "0A00", "01000000", "11000000", "1112131415161819"}, - output{0x0001, DataType(0x000A), 0x0001, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x18, 0x19}}, - }, - //////////// float types /////////////////////// - tagTest{ - input{"0001", "0005", "00000001", "00000010", "1112131415161718"}, - input{"0100", "0500", "01000000", "10000000", "1112131415161718"}, - output{0x0001, DataType(0x0005), 0x0001, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}}, - }, - tagTest{ - input{"0101", "000A", "00000001", "00000011", "1112131415161819"}, - input{"0101", "0A00", "01000000", "11000000", "1112131415161819"}, - output{0x0101, DataType(0x000A), 0x0001, []byte{0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x18, 0x19}}, - }, -} - -func TestDecodeTag(t *testing.T) { - for i, tst := range set1 { - testSingle(t, binary.BigEndian, tst.big, tst.out, i) - testSingle(t, binary.LittleEndian, tst.little, tst.out, i) - } -} - -func testSingle(t *testing.T, order binary.ByteOrder, in input, out output, i int) { - data := buildInput(in, order) - buf := bytes.NewReader(data) - tg, err := DecodeTag(buf, order) - if err != nil { - t.Errorf("(%v) tag %v%+v decode failed: %v", order, i, in, err) - return - } - - if tg.Id != out.id { - t.Errorf("(%v) tag %v id decode: expected %v, got %v", order, i, out.id, tg.Id) - } - if tg.Type != out.typ { - t.Errorf("(%v) tag %v type decode: expected %v, got %v", order, i, out.typ, tg.Type) - } - if tg.Count != out.count { - t.Errorf("(%v) tag %v component count decode: expected %v, got %v", order, i, out.count, tg.Count) - } - if !bytes.Equal(tg.Val, out.val) { - t.Errorf("(%v) tag %v value decode: expected %v, got %v", order, i, out.val, tg.Val) - } -} - -// buildInputBig creates a byte-slice based on big-endian ordered input -func buildInput(in input, order binary.ByteOrder) []byte { - data := make([]byte, 0) - d, _ := hex.DecodeString(in.tgId) - data = append(data, d...) - d, _ = hex.DecodeString(in.tpe) - data = append(data, d...) - d, _ = hex.DecodeString(in.nVals) - data = append(data, d...) - d, _ = hex.DecodeString(in.offset) - data = append(data, d...) - - if in.val != "" { - off := order.Uint32(d) - for i := 0; i < int(off)-12; i++ { - data = append(data, 0xFF) - } - - d, _ = hex.DecodeString(in.val) - data = append(data, d...) - } - - return data -} - -func TestDecode(t *testing.T) { - name := filepath.Join(*dataDir, "sample1.tif") - f, err := os.Open(name) - if err != nil { - t.Fatalf("%v\n", err) - } - - tif, err := Decode(f) - if err != nil { - t.Fatal(err) - } - - t.Log(tif) -} - -func TestDecodeTag_blob(t *testing.T) { - buf := bytes.NewReader(data()) - buf.Seek(10, 1) - tg, err := DecodeTag(buf, binary.LittleEndian) - if err != nil { - t.Fatalf("tag decode failed: %v", err) - } - - t.Logf("tag: %v+\n", tg) - n, d, err := tg.Rat2(0) - if err != nil { - t.Fatalf("tag decoded wrong type: %v", err) - } - t.Logf("tag rat val: %v/%v\n", n, d) -} - -func data() []byte { - s1 := "49492A000800000002001A0105000100" - s1 += "00002600000069870400010000001102" - s1 += "0000000000004800000001000000" - - dat, err := hex.DecodeString(s1) - if err != nil { - panic("invalid string fixture") - } - return dat -} -- cgit v1.2.3-1-g7c22