Module Exif.Analyze

module Analyze: sig .. end

type datetime = [ `EncodedInUnixTime of Exif.DateTime.t
| `Error of string
| `Ok of Exif.DateTime.t ]
I have some photos from my old Android with non Ascii datetime. They have encoded 32 bit int in Unix time instead! :-(
val parse_datetime : string -> [> datetime ]
val analyze_ifd : int * Exif.Entry.Pack.unpacked ->
[> `DateTime of [> datetime ]
| `Make of string
| `Model of string
| `Orientation of
[> `BottomLeft
| `BottomRight
| `LeftBottom
| `LeftTop
| `RightBottom
| `RightTop
| `TopLeft
| `TopRight ]
| `ResolutionUnit of [> `Centimeters | `Inches ]
| `Software of Exif.Entry.Pack.unpacked
| `Unknown of int * Exif.Entry.Pack.unpacked
| `XResolution of int64 * int64
| `YResolution of int64 * int64 ]
val analyze_exif : int * Exif.Entry.Pack.unpacked ->
[> `DateTimeDigitized of [> datetime ]
| `DateTimeOriginal of [> datetime ]
| `ExifVersion of string
| `MakerNote of string
| `SubsecTime of string
| `SubsecTimeDigitized of string
| `SubsecTimeOriginal of string
| `Unknown of int * Exif.Entry.Pack.unpacked
| `UserComment of string ]
val analyze_gps : int * Exif.Entry.Pack.unpacked ->
[> `AboveSeaLevel
| `Altitude of int64 * int64
| `BelowSeaLevel
| `EastLongitude
| `GPSDate of [> `Error of string | `Ok of Exif.Date.t ]
| `GPSMapDatum of string
| `GPSVersion of int * int * int * int
| `ImgDirection of int64 * int64
| `ImgDirectionMagnetic
| `ImgDirectionTrue
| `Latitude of int64 * int64
| `Longitude of int64 * int64
| `NorthLatitude
| `SouthLatitude
| `TimeStampUTC of float * float * float
| `TimeStampUTCinSRationals of float * float * float
| `Unknown of int * Exif.Entry.Pack.unpacked
| `WestLongitude ]
val ifd_0_datetime : Exif.Data.t -> [> datetime ] option
Get ifd_0 DateTime
val exif_datetime : Exif.Data.t -> [> datetime ] option
Get exif DateTimeOriginal
val datetime : Exif.Data.t -> [> datetime ] option
Get one of the first finding of the followings: exif DateTimeOriginal ifd_0 DateTime