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