Abstract base class for low-level movie decoders. More...
#include <Media/MovieDecoder.H>
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. |
Abstract base class for low-level movie decoders.
Definition at line 50 of file MovieDecoder.H.
MovieDecoder::~MovieDecoder | ( | ) | [virtual] |
Virtual destructor for safe inheritance.
Definition at line 46 of file MovieDecoder.C.
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().
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.
Definition at line 49 of file MovieDecoder.C.
References apparentFrameNumber(), and readAndDiscardFrame().
Referenced by InputMPEGStream::setFrameNumber().