[filesystem][SpecialProtocol] Removed assert from GetPath
[xbmc.git] / xbmc / pictures / ExifParse.h
blob6da3bf26bbbe61b7feb11b777c8c51b07a7ac0ba
1 #pragma once
3 #include "libexif.h"
5 class CExifParse
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);
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;
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);