25#include "video/video_decoder.h"
29class SeekableReadStream;
39class VideoCacheLoader;
42 friend class VideoCacheLoader;
44 enum CacheHint { kLoadForward, kLoadBidirectional };
46 AVFDecoder(CacheHint cacheHint = kLoadForward) : _cacheHint(cacheHint) {}
51 void addFrameTime(
const uint16 timeToAdd);
59 virtual ~AVFVideoTrack();
61 uint16
getWidth()
const override {
return _width; }
62 uint16
getHeight()
const override {
return _height; }
64 int getCurFrame()
const override {
return _curFrame; }
66 bool isSeekable()
const override {
return true; }
69 bool isReversed()
const override {
return _reversed; }
70 bool endOfTrack()
const override;
73 const Graphics::Surface *getSurfaceForFrame(uint frameNr) {
return &_frameCache[frameNr]; }
74 void addFrameTime(
const uint16 timeToAdd) { _frameTime += timeToAdd; }
75 CacheHint getCacheHint()
const {
return _cacheHint; }
85 uint32 compressedSize;
94 uint _width, _height, _depth, _frameSize;
105 CacheHint _cacheHint;
Definition: timestamp.h:83
Definition: rational.h:40
bool loadStream(Common::SeekableReadStream *stream) override
Definition: video_decoder.h:734
Definition: video_decoder.h:53
bool seek(const Audio::Timestamp &time)
Graphics::PixelFormat getPixelFormat() const
virtual uint16 getHeight() const
bool setReverse(bool reverse)
virtual bool isSeekable() const
virtual const Graphics::Surface * decodeNextFrame()
uint32 getFrameCount() const
virtual uint16 getWidth() const
Definition: algorithm.h:29
Definition: formatinfo.h:28
Definition: actionmanager.h:32