30 #ifndef COMMON_QUICKTIME_H 31 #define COMMON_QUICKTIME_H 33 #include "common/array.h" 34 #include "common/scummsys.h" 35 #include "common/path.h" 36 #include "common/stream.h" 37 #include "common/rational.h" 38 #include "common/types.h" 39 #include "common/rect.h" 100 bool isOpen()
const {
return _fd !=
nullptr; }
102 enum class QTVRType {
124 uint32 trackDuration;
139 uint32 getCodecTag()
const {
return _codecTag; }
151 CODEC_TYPE_MOV_OTHER,
158 enum class GraphicsMode {
163 STRAIGHT_ALPHA = 0x100,
164 PREMUL_WHITE_ALPHA = 0x101,
165 PREMUL_BLACK_ALPHA = 0x102,
166 STRAIGHT_ALPHA_BLEND = 0x104,
172 uint32 timestamp = 0;
177 uint32 defNodeID = 0;
178 float defZoom = 0.0f;
198 int32 commentStrOffset;
213 int32 mouseOverCursorID;
214 int32 mouseDownCursorID;
215 int32 mouseUpCursorID;
218 int32 commentStrOffset;
225 for (uint i = 0; i < hotSpots.
size(); i++)
226 if (hotSpots[i].
id ==
id)
236 String getString(int32 offset)
const;
237 void debugPrint(
int level, uint32 debugChannel,
String prefix)
const;
250 int32 commentStrOffset;
257 for (uint i = 0; i < links.
size(); i++)
258 if (links[i].
id ==
id)
277 int32 commentStrOffset;
284 for (uint i = 0; i < navs.
size(); i++)
285 if (navs[i].
id ==
id)
305 uint32 *chunkOffsets;
306 int timeToSampleCount;
308 uint32 sampleToChunkCount;
313 uint32 keyframeCount;
327 uint32 mediaDuration;
341 GraphicsMode graphicsMode;
349 enum class MovieType {
351 kOldNavigableMovieScene,
358 uint16 loop_size = 0;
359 uint16 frame_duration = 1;
361 MovieType movie_type = MovieType::kStandardObject;
363 uint16 loop_ticks = 0;
365 float field_of_view = 1.0f;
367 float startHPan = 1.0f;
368 float startVPan = 1.0f;
369 float endHPan = 1.0f;
370 float endVPan = 1.0f;
371 float initialHPan = 1.0f;
372 float initialVPan = 1.0f;
376 virtual SampleDesc *readSampleDesc(
Track *track, uint32 format, uint32 descSize) = 0;
404 DisposeAfterUse::Flag _disposeFileHandle;
405 const ParseTable *_parseTable;
410 void initParseTable();
412 bool parsePanoramaAtoms();
414 int readDefault(Atom atom);
415 int readLeaf(Atom atom);
416 int readDREF(Atom atom);
417 int readELST(Atom atom);
418 int readHDLR(Atom atom);
419 int readMDHD(Atom atom);
420 int readMOOV(Atom atom);
421 int readMVHD(Atom atom);
422 int readTKHD(Atom atom);
423 int readTRAK(Atom atom);
424 int readSMHD(Atom atom);
425 int readSTCO(Atom atom);
426 int readSTSC(Atom atom);
427 int readSTSD(Atom atom);
428 int readSTSS(Atom atom);
429 int readSTSZ(Atom atom);
430 int readSTTS(Atom atom);
431 int readVMHD(Atom atom);
432 int readCMOV(Atom atom);
433 int readWAVE(Atom atom);
434 int readESDS(Atom atom);
435 int readSMI(Atom atom);
436 int readCTYP(Atom atom);
437 int readWLOC(Atom atom);
438 int readNAVG(Atom atom);
439 int readGMIN(Atom atom);
440 int readPINF(Atom atom);
442 int readPHDR(Atom atom);
443 int readPHOT(Atom atom);
444 int readSTRT(Atom atom);
445 int readPLNK(Atom atom);
446 int readPNAV(Atom atom);
Definition: macresman.h:126
Definition: quicktime.h:221
Definition: quicktime.h:355
Definition: quicktime.h:265
Definition: quicktime.h:112
Definition: quicktime.h:170
Definition: quicktime.h:134
Definition: quicktime.h:123
Definition: rational.h:40
Definition: quicktime.h:58
Definition: quicktime.h:201
Definition: quicktime.h:300
uint32 getTimeScale() const
Definition: quicktime.h:97
Definition: quicktime.h:280
bool parseStream(SeekableReadStream *stream, DisposeAfterUse::Flag disposeFileHandle=DisposeAfterUse::YES)
Definition: quicktime.h:240
Definition: algorithm.h:29
size_type size() const
Definition: array.h:318
Definition: quicktime.h:292
Definition: quicktime.h:117
Definition: quicktime.h:233
bool parseFile(const Path &filename)
Definition: quicktime.h:253
void setChunkBeginOffset(uint32 offset)
Definition: quicktime.h:92
bool isOpen() const
Definition: quicktime.h:100