summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/rwcarlsen
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2018-04-16 05:37:14 -0700
committerJoram Wilander <jwawilander@gmail.com>2018-04-16 08:37:14 -0400
commit6e2cb00008cbf09e556b00f87603797fcaa47e09 (patch)
tree3c0eb55ff4226a3f024aad373140d1fb860a6404 /vendor/github.com/rwcarlsen
parentbf24f51c4e1cc6286885460672f7f449e8c6f5ef (diff)
downloadchat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.gz
chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.bz2
chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.zip
Depenancy upgrades and movign to dep. (#8630)
Diffstat (limited to 'vendor/github.com/rwcarlsen')
-rw-r--r--vendor/github.com/rwcarlsen/goexif/.gitignore23
-rw-r--r--vendor/github.com/rwcarlsen/goexif/README.md71
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/corrupt/huge_tag_exif.jpgbin65536 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/corrupt/infinite_loop_exif.jpgbin3738 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/corrupt/max_uint32_exif.jpgbin65536 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/example_test.go42
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/exif.go69
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/exif_test.go202
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/fields.go224
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/regress_expected_test.go2293
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2004-01-11-22-45-15-sep-2004-01-11-22-45-15a.jpgbin4586 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2006-08-03-16-29-38-sep-2006-08-03-16-29-38a.jpgbin9735 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2006-11-11-19-17-56-sep-2006-11-11-19-17-56a.jpgbin35406 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-10-23-58-20-sep-2006-12-10-23-58-20a.jpgbin8711 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-17-07-09-14-sep-2006-12-17-07-09-14a.jpgbin38252 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-21-15-55-26-sep-2006-12-21-15-55-26a.jpgbin16072 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-01-12-00-00-sep-2007-01-01-12-00-00a.jpgbin17301 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-17-21-49-44-sep-2007-01-17-21-49-44a.jpgbin7999 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-02-02-18-13-29-sep-2007-02-02-18-13-29a.jpgbin39915 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-02-17-02-21-sep-2007-05-02-17-02-21a.jpgbin11783 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-12-08-19-07-sep-2007-05-12-08-19-07a.jpgbin35771 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-26-04-49-45-sep-2007-05-26-04-49-45a.jpgbin35406 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-30-14-28-01-sep-2007-05-30-14-28-01a.jpgbin35406 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-06-16-15-25-sep-2007-06-06-16-15-25a.jpgbin35406 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-26-10-13-04-sep-2007-06-26-10-13-04a.jpgbin7615 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-07-13-17-02-30-sep-2007-07-13-17-02-30a.jpgbin21719 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-15-14-42-46-sep-2007-08-15-14-42-46a.jpgbin11549 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-24-02-40-42-sep-2007-08-24-02-40-42a.jpgbin7687 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2007-11-07-11-40-44-sep-2007-11-07-11-40-44a.jpgbin11223 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-02-10-03-57-sep-2008-06-02-10-03-57a.jpgbin9745 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-06-13-29-29-sep-2008-06-06-13-29-29a.jpgbin11783 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-17-01-21-30-sep-2008-06-17-01-21-30a.jpgbin14564 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2008-09-02-17-43-48-sep-2008-09-02-17-43-48a.jpgbin5406 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2009-03-26-09-23-20-sep-2009-03-26-09-23-20a.jpgbin10759 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-11-03-01-38-sep-2009-04-11-03-01-38a.jpgbin43374 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-23-07-21-35-sep-2009-04-23-07-21-35a.jpgbin37208 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-11-19-23-18-sep-2009-06-11-19-23-18a.jpgbin7791 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-20-07-59-05-sep-2009-06-20-07-59-05a.jpgbin13618 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2009-08-05-08-11-31-sep-2009-08-05-08-11-31a.jpgbin9919 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-08-04-44-24-sep-2010-06-08-04-44-24a.jpgbin10939 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-20-20-07-39-sep-2010-06-20-20-07-39a.jpgbin8551 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2010-09-02-08-43-02-sep-2010-09-02-08-43-02a.jpgbin19534 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2011-01-24-22-06-02-sep-2011-01-24-22-06-02a.jpgbin29003 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2011-03-07-09-28-03-sep-2011-03-07-09-28-03a.jpgbin10529 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2011-05-07-13-02-49-sep-2011-05-07-13-02-49a.jpgbin23743 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2011-08-07-19-22-57-sep-2011-08-07-19-22-57a.jpgbin9936 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-17-50-18-sep-2011-10-28-17-50-18a.jpgbin7487 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-18-25-43-sep-2011-10-28-18-25-43.jpgbin7433 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2011-11-18-15-38-34-sep-Photo11181538.jpgbin12885 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2012-06-02-10-12-28-sep-2012-06-02-10-12-28.jpgbin32165 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2012-09-21-22-07-34-sep-2012-09-21-22-07-34.jpgbin10247 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-19-21-38-40-sep-temple_square1.jpgbin39182 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-21-11-15-19-sep-IMG_0001.jpgbin25269 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2013-02-05-23-12-09-sep-DSCI0001.jpgbin10854 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2099-08-12-19-59-29-sep-2099-08-12-19-59-29a.jpgbin37491 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/2216-11-15-11-46-51-sep-2216-11-15-11-46-51a.jpgbin23011 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/FailedHash-NoDate-sep-remembory.jpgbin935 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/f1-exif.jpgbin992 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/f2-exif.jpgbin994 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/f3-exif.jpgbin992 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/f4-exif.jpgbin994 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/f5-exif.jpgbin980 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/f6-exif.jpgbin982 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/f7-exif.jpgbin980 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/f8-exif.jpgbin982 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/geodegrees_as_string.jpgbin22420 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exif/samples/has-lens-info.jpgbin22493 -> 0 bytes
-rw-r--r--vendor/github.com/rwcarlsen/goexif/exifstat/main.go60
-rw-r--r--vendor/github.com/rwcarlsen/goexif/mknote/fields.go268
-rw-r--r--vendor/github.com/rwcarlsen/goexif/mknote/mknote.go70
-rw-r--r--vendor/github.com/rwcarlsen/goexif/tiff/tag.go22
-rw-r--r--vendor/github.com/rwcarlsen/goexif/tiff/tiff_test.go235
72 files changed, 174 insertions, 3405 deletions
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)
-}
-```
-
-<!--golang-->
-[![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
--- a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/huge_tag_exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/infinite_loop_exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/corrupt/max_uint32_exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2004-01-11-22-45-15-sep-2004-01-11-22-45-15a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-08-03-16-29-38-sep-2006-08-03-16-29-38a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-11-11-19-17-56-sep-2006-11-11-19-17-56a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-10-23-58-20-sep-2006-12-10-23-58-20a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-17-07-09-14-sep-2006-12-17-07-09-14a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2006-12-21-15-55-26-sep-2006-12-21-15-55-26a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-01-12-00-00-sep-2007-01-01-12-00-00a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-01-17-21-49-44-sep-2007-01-17-21-49-44a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-02-02-18-13-29-sep-2007-02-02-18-13-29a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-02-17-02-21-sep-2007-05-02-17-02-21a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-12-08-19-07-sep-2007-05-12-08-19-07a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-26-04-49-45-sep-2007-05-26-04-49-45a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-05-30-14-28-01-sep-2007-05-30-14-28-01a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-06-16-15-25-sep-2007-06-06-16-15-25a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-06-26-10-13-04-sep-2007-06-26-10-13-04a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-07-13-17-02-30-sep-2007-07-13-17-02-30a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-15-14-42-46-sep-2007-08-15-14-42-46a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-08-24-02-40-42-sep-2007-08-24-02-40-42a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2007-11-07-11-40-44-sep-2007-11-07-11-40-44a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-02-10-03-57-sep-2008-06-02-10-03-57a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-06-13-29-29-sep-2008-06-06-13-29-29a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-06-17-01-21-30-sep-2008-06-17-01-21-30a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2008-09-02-17-43-48-sep-2008-09-02-17-43-48a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-03-26-09-23-20-sep-2009-03-26-09-23-20a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-11-03-01-38-sep-2009-04-11-03-01-38a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-04-23-07-21-35-sep-2009-04-23-07-21-35a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-11-19-23-18-sep-2009-06-11-19-23-18a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-06-20-07-59-05-sep-2009-06-20-07-59-05a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2009-08-05-08-11-31-sep-2009-08-05-08-11-31a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-08-04-44-24-sep-2010-06-08-04-44-24a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-06-20-20-07-39-sep-2010-06-20-20-07-39a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2010-09-02-08-43-02-sep-2010-09-02-08-43-02a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-01-24-22-06-02-sep-2011-01-24-22-06-02a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-03-07-09-28-03-sep-2011-03-07-09-28-03a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-05-07-13-02-49-sep-2011-05-07-13-02-49a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-08-07-19-22-57-sep-2011-08-07-19-22-57a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-17-50-18-sep-2011-10-28-17-50-18a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-10-28-18-25-43-sep-2011-10-28-18-25-43.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2011-11-18-15-38-34-sep-Photo11181538.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-06-02-10-12-28-sep-2012-06-02-10-12-28.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-09-21-22-07-34-sep-2012-09-21-22-07-34.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-19-21-38-40-sep-temple_square1.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2012-12-21-11-15-19-sep-IMG_0001.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2013-02-05-23-12-09-sep-DSCI0001.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2099-08-12-19-59-29-sep-2099-08-12-19-59-29a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/2216-11-15-11-46-51-sep-2216-11-15-11-46-51a.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/FailedHash-NoDate-sep-remembory.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/f1-exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/f2-exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/f3-exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/f4-exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/f5-exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/f6-exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/f7-exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/f8-exif.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/geodegrees_as_string.jpg
+++ /dev/null
Binary files 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
--- a/vendor/github.com/rwcarlsen/goexif/exif/samples/has-lens-info.jpg
+++ /dev/null
Binary files 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
-}