ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

Parser for QuickTime/MPEG-4 files. More...

#include <quicktime.h>

Inheritance diagram for Common::QuickTimeParser:
Collaboration diagram for Common::QuickTimeParser:

List of all members.

Classes

struct  Atom
struct  EditListEntry
struct  ParseTable
class  SampleDesc
struct  SampleToChunkEntry
struct  TimeToSampleEntry
struct  Track

Public Member Functions

 QuickTimeParser ()
virtual ~QuickTimeParser ()
bool parseFile (const String &filename)
 Load a QuickTime file.
bool parseStream (SeekableReadStream *stream, DisposeAfterUse::Flag disposeFileHandle=DisposeAfterUse::YES)
 Load a QuickTime file from a SeekableReadStream.
void close ()
 Close a QuickTime file.
void setChunkBeginOffset (uint32 offset)
 Set the beginning offset of the video so we can modify the offsets in the stco atom of videos inside the Mohawk archives.
bool isOpen () const
 Find out if this parser has an open file handle.

Protected Types

enum  CodecType { CODEC_TYPE_MOV_OTHER, CODEC_TYPE_VIDEO, CODEC_TYPE_AUDIO, CODEC_TYPE_MIDI }

Protected Member Functions

virtual SampleDescreadSampleDesc (Track *track, uint32 format, uint32 descSize)=0
void init ()

Protected Attributes

SeekableReadStream_fd
uint32 _timeScale
uint32 _duration
Rational _scaleFactorX
Rational _scaleFactorY
Array< Track * > _tracks

Private Member Functions

void initParseTable ()
int readDefault (Atom atom)
int readLeaf (Atom atom)
int readELST (Atom atom)
int readHDLR (Atom atom)
int readMDHD (Atom atom)
int readMOOV (Atom atom)
int readMVHD (Atom atom)
int readTKHD (Atom atom)
int readTRAK (Atom atom)
int readSTCO (Atom atom)
int readSTSC (Atom atom)
int readSTSD (Atom atom)
int readSTSS (Atom atom)
int readSTSZ (Atom atom)
int readSTTS (Atom atom)
int readCMOV (Atom atom)
int readWAVE (Atom atom)
int readESDS (Atom atom)
int readSMI (Atom atom)

Private Attributes

DisposeAfterUse::Flag _disposeFileHandle
const ParseTable_parseTable
uint32 _beginOffset
MacResManager_resFork
bool _foundMOOV

Detailed Description

Parser for QuickTime/MPEG-4 files.

File parser used in engines:

  • groovie
  • mohawk
  • sci

Definition at line 51 of file common/quicktime.h.


Member Enumeration Documentation

Enumerator:
CODEC_TYPE_MOV_OTHER 
CODEC_TYPE_VIDEO 
CODEC_TYPE_AUDIO 
CODEC_TYPE_MIDI 

Definition at line 123 of file common/quicktime.h.


Constructor & Destructor Documentation

Common::QuickTimeParser::QuickTimeParser (  ) 

Definition at line 46 of file common/quicktime.cpp.

Common::QuickTimeParser::~QuickTimeParser (  )  [virtual]

Definition at line 57 of file common/quicktime.cpp.


Member Function Documentation

void Common::QuickTimeParser::close (  ) 

Close a QuickTime file.

Reimplemented in Video::QuickTimeDecoder.

Definition at line 799 of file common/quicktime.cpp.

void Common::QuickTimeParser::init (  )  [protected]

Reimplemented in Audio::QuickTimeAudioDecoder, and Video::QuickTimeDecoder.

Definition at line 113 of file common/quicktime.cpp.

void Common::QuickTimeParser::initParseTable (  )  [private]

Definition at line 138 of file common/quicktime.cpp.

bool Common::QuickTimeParser::isOpen (  )  const [inline]

Find out if this parser has an open file handle.

Definition at line 82 of file common/quicktime.h.

bool Common::QuickTimeParser::parseFile ( const String filename  ) 

Load a QuickTime file.

Parameters:
filename the filename to load

Definition at line 62 of file common/quicktime.cpp.

bool Common::QuickTimeParser::parseStream ( SeekableReadStream stream,
DisposeAfterUse::Flag  disposeFileHandle = DisposeAfterUse::YES 
)

Load a QuickTime file from a SeekableReadStream.

Parameters:
stream the stream to load
disposeFileHandle whether to delete the stream after use

Definition at line 97 of file common/quicktime.cpp.

int Common::QuickTimeParser::readCMOV ( Atom  atom  )  [private]

Definition at line 265 of file common/quicktime.cpp.

int Common::QuickTimeParser::readDefault ( Atom  atom  )  [private]

Definition at line 175 of file common/quicktime.cpp.

int Common::QuickTimeParser::readELST ( Atom  atom  )  [private]

Definition at line 430 of file common/quicktime.cpp.

int Common::QuickTimeParser::readESDS ( Atom  atom  )  [private]

Definition at line 737 of file common/quicktime.cpp.

int Common::QuickTimeParser::readHDLR ( Atom  atom  )  [private]

Definition at line 456 of file common/quicktime.cpp.

int Common::QuickTimeParser::readLeaf ( Atom  atom  )  [private]

Definition at line 249 of file common/quicktime.cpp.

int Common::QuickTimeParser::readMDHD ( Atom  atom  )  [private]

Definition at line 497 of file common/quicktime.cpp.

int Common::QuickTimeParser::readMOOV ( Atom  atom  )  [private]

Definition at line 256 of file common/quicktime.cpp.

int Common::QuickTimeParser::readMVHD ( Atom  atom  )  [private]

Definition at line 318 of file common/quicktime.cpp.

virtual SampleDesc* Common::QuickTimeParser::readSampleDesc ( Track track,
uint32  format,
uint32  descSize 
) [protected, pure virtual]
int Common::QuickTimeParser::readSMI ( Atom  atom  )  [private]

Definition at line 781 of file common/quicktime.cpp.

int Common::QuickTimeParser::readSTCO ( Atom  atom  )  [private]

Definition at line 663 of file common/quicktime.cpp.

int Common::QuickTimeParser::readSTSC ( Atom  atom  )  [private]

Definition at line 563 of file common/quicktime.cpp.

int Common::QuickTimeParser::readSTSD ( Atom  atom  )  [private]

Definition at line 524 of file common/quicktime.cpp.

int Common::QuickTimeParser::readSTSS ( Atom  atom  )  [private]

Definition at line 588 of file common/quicktime.cpp.

int Common::QuickTimeParser::readSTSZ ( Atom  atom  )  [private]

Definition at line 611 of file common/quicktime.cpp.

int Common::QuickTimeParser::readSTTS ( Atom  atom  )  [private]

Definition at line 638 of file common/quicktime.cpp.

int Common::QuickTimeParser::readTKHD ( Atom  atom  )  [private]

Definition at line 377 of file common/quicktime.cpp.

int Common::QuickTimeParser::readTRAK ( Atom  atom  )  [private]

Definition at line 367 of file common/quicktime.cpp.

int Common::QuickTimeParser::readWAVE ( Atom  atom  )  [private]

Definition at line 685 of file common/quicktime.cpp.

void Common::QuickTimeParser::setChunkBeginOffset ( uint32  offset  )  [inline]

Set the beginning offset of the video so we can modify the offsets in the stco atom of videos inside the Mohawk archives.

Parameters:
offset the beginning offset of the video

Definition at line 79 of file common/quicktime.h.


Member Data Documentation

Definition at line 187 of file common/quicktime.h.

Definition at line 166 of file common/quicktime.h.

Definition at line 86 of file common/quicktime.h.

Definition at line 189 of file common/quicktime.h.

Definition at line 186 of file common/quicktime.h.

Definition at line 167 of file common/quicktime.h.

Definition at line 168 of file common/quicktime.h.

Definition at line 165 of file common/quicktime.h.

Definition at line 169 of file common/quicktime.h.


The documentation for this class was generated from the following files:


Generated on Sat Mar 16 2019 05:05:41 for ResidualVM by doxygen 1.7.1
curved edge   curved edge