1 /* Copyright (c) MediaArea.net SARL. All Rights Reserved. 2 * 3 * Use of this source code is governed by a BSD-style license that can 4 * be found in the License.html file in the root of the source tree. 5 */ 6 7 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8 // 9 // Information about EXR files 10 // 11 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12 13 //--------------------------------------------------------------------------- 14 #ifndef MediaInfo_File_ExrH 15 #define MediaInfo_File_ExrH 16 //--------------------------------------------------------------------------- 17 18 //--------------------------------------------------------------------------- 19 #include "MediaInfo/File__Analyze.h" 20 //--------------------------------------------------------------------------- 21 22 namespace MediaInfoLib 23 { 24 25 //*************************************************************************** 26 // Class File_Exr 27 //*************************************************************************** 28 29 class File_Exr : public File__Analyze 30 { 31 public : 32 //Constructor/Destructor 33 File_Exr(); 34 35 private : 36 //Streams management 37 void Streams_Accept(); 38 39 //Buffer - Demux 40 #if MEDIAINFO_DEMUX Demux_UnpacketizeContainer_Test()41 bool Demux_UnpacketizeContainer_Test() {return Demux_UnpacketizeContainer_Test_OneFramePerFile();} 42 #endif //MEDIAINFO_DEMUX 43 44 //Buffer - File header 45 bool FileHeader_Begin(); 46 void FileHeader_Parse(); 47 48 //Buffer - Global Read_Buffer_Unsynched()49 void Read_Buffer_Unsynched() {Read_Buffer_Unsynched_OneFramePerFile();} 50 #if MEDIAINFO_SEEK Read_Buffer_Seek(size_t Method,int64u Value,int64u ID)51 size_t Read_Buffer_Seek (size_t Method, int64u Value, int64u ID) {return Read_Buffer_Seek_OneFramePerFile(Method, Value, ID);} 52 #endif //MEDIAINFO_SEEK 53 54 //Buffer - Per element 55 bool Header_Begin(); 56 void Header_Parse(); 57 void Data_Parse(); 58 59 //Elements 60 void ImageData(); 61 void channels(); 62 void comments(); 63 void compression(); 64 void dataWindow(); 65 void displayWindow(); 66 void pixelAspectRatio(); 67 68 //Temp 69 std::string name; 70 std::string type; 71 size_t name_End; 72 size_t type_End; 73 int64u ImageData_End; 74 bool LongName; 75 }; 76 77 } //NameSpace 78 79 #endif 80