Merge pull request #4011 from fritsch/vdpau-settings
[vuplus_xbmc] / lib / libexif / ExifParse.h
1 #pragma once
2
3 #include "libexif.h"
4
5 class CExifParse
6 {
7   public:
8     CExifParse  ();
9    ~CExifParse  (void)      {}
10     bool        Process     (const unsigned char* const Data, const unsigned short length, ExifInfo_t *info);
11     static int  Get16       (const void* const Short, const bool motorolaOrder=true);
12     static int  Get32       (const void* const Long,  const bool motorolaOrder=true);
13
14   private:
15     ExifInfo_t *m_ExifInfo;
16     double      m_FocalPlaneXRes;
17     double      m_FocalPlaneUnits;
18     unsigned    m_LargestExifOffset;          // Last exif data referenced (to check if thumbnail is at end)
19     int         m_ExifImageWidth;
20     bool        m_MotorolaOrder;
21     bool        m_DateFound;
22
23 //    void    LocaliseDate        (void);
24 //    void    GetExposureTime     (const float exposureTime);
25     double  ConvertAnyFormat    (const void* const ValuePtr, int Format);
26     void    ProcessDir          (const unsigned char* const DirStart,
27                                  const unsigned char* const OffsetBase,
28                                  const unsigned ExifLength, int NestingLevel);
29     void    ProcessGpsInfo      (const unsigned char* const DirStart,
30                                  int ByteCountUnused,
31                                  const unsigned char* const OffsetBase,
32                                  unsigned ExifLength);
33     void    GetLatLong          (const unsigned int Format,
34                                  const unsigned char* ValuePtr,
35                                  const int ComponentSize,
36                                  char *latlongString);
37 };
38