MovieDecoder Class Reference

Abstract base class for low-level movie decoders. More...

#include <Media/MovieDecoder.H>

Inheritance diagram for MovieDecoder:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~MovieDecoder ()
 Virtual destructor for safe inheritance.
virtual bool setFrameNumber (int n)
 Seek to the given frame number.
virtual int apparentFrameNumber () const =0
 Get the "apparent" frame number.
virtual GenericFrameSpec peekFrameSpec ()=0
 Get the specifications of the movie frames.
virtual VideoFrame readVideoFrame ()=0
 Get the next raw VideoFrame from the stream.
virtual Image< PixRGB< byte > > readRGB ()=0
 Read an RGB image from the stream.
virtual bool readAndDiscardFrame ()=0
 Read a frame from the stream and discard it.

Detailed Description

Abstract base class for low-level movie decoders.

Definition at line 50 of file MovieDecoder.H.


Constructor & Destructor Documentation

MovieDecoder::~MovieDecoder (  )  [virtual]

Virtual destructor for safe inheritance.

Definition at line 46 of file MovieDecoder.C.


Member Function Documentation

virtual int MovieDecoder::apparentFrameNumber (  )  const [pure virtual]

Get the "apparent" frame number.

This function takes into account whether or not the next frame will be a push-back frame

Implemented in FfmpegDecoder, and FfmpegPacketDecoder.

Referenced by setFrameNumber(), and InputMPEGStream::setFrameNumber().

virtual GenericFrameSpec MovieDecoder::peekFrameSpec (  )  [pure virtual]

Get the specifications of the movie frames.

Implemented in FfmpegDecoder, and FfmpegPacketDecoder.

Referenced by InputMPEGStream::peekFrameSpec().

virtual bool MovieDecoder::readAndDiscardFrame (  )  [pure virtual]

Read a frame from the stream and discard it.

If you know you are going to discard the frame (e.g. to skip ahead to a certain frame number, or to count the frame), then it is more efficient to call readAndDiscardFrame() than to call readVideoFrame() or readRGB() but ignore the result.

Implemented in FfmpegDecoder, and FfmpegPacketDecoder.

Referenced by InputMPEGStream::readAndDiscardFrame(), and setFrameNumber().

virtual Image<PixRGB<byte> > MovieDecoder::readRGB (  )  [pure virtual]

Read an RGB image from the stream.

Implemented in FfmpegDecoder, and FfmpegPacketDecoder.

Referenced by InputMPEGStream::readRGB().

virtual VideoFrame MovieDecoder::readVideoFrame (  )  [pure virtual]

Get the next raw VideoFrame from the stream.

Implemented in FfmpegDecoder, and FfmpegPacketDecoder.

Referenced by InputMPEGStream::readFrame(), and InputMPEGStream::readVideoFrame().

bool MovieDecoder::setFrameNumber ( int  n  )  [virtual]

Seek to the given frame number.

The new frame number must be greater than or equal to the current frame number (i.e., we can't seek backwards). Default implementation just calls readAndDiscardFrame() until apparentFrameNumber() == n.

Returns:
Whether the frame number was succesfully set to the requested value. The function may fail if the requested number is greater than the number of frames in the movie, for example.

Definition at line 49 of file MovieDecoder.C.

References apparentFrameNumber(), and readAndDiscardFrame().

Referenced by InputMPEGStream::setFrameNumber().


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:23:22 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3