22 #ifndef GRIM_SMUSH_DECODER_H 23 #define GRIM_SMUSH_DECODER_H 25 #include "audio/audiostream.h" 27 #include "video/video_decoder.h" 29 #include "graphics/surface.h" 32 class QueuingAudioStream;
46 int getX()
const {
return _videoTrack->_x; }
47 int getY()
const {
return _videoTrack->_y; }
48 void setLooping(
bool l);
51 bool rewind()
override;
57 void handleFrameDemo();
59 bool handleFramesHeader();
62 void close()
override;
66 SmushVideoTrack(
int width,
int height,
int fps,
int numFrames,
bool is16Bit);
69 uint16 getWidth()
const override {
return _width; }
70 uint16 getHeight()
const override {
return _height; }
72 int getCurFrame()
const override {
return _curFrame; }
73 void setCurFrame(
int frame) { _curFrame = frame; }
74 int getFrameCount()
const override {
return _nbframes; }
76 void setMsPerFrame(
int ms);
79 bool isSeekable()
const override {
return true; }
81 void setFrameStart(
int frame);
88 const byte *getPalette()
const override { _dirtyPalette =
false;
return _palette; }
89 bool hasDirtyPalette()
const override {
return _dirtyPalette; }
91 byte *getPal() { _dirtyPalette =
true;
return _palette; }
94 void convertDemoFrame();
98 int16 _deltaPal[0x300];
99 mutable bool _dirtyPalette;
117 bool isSeekable()
const override {
return true; }
119 void skipSamples(
int samples);
120 inline int getRate()
const {
return _queueStream->getRate(); }
127 byte _IACToutput[4096];
Definition: smush_decoder.h:41
Definition: video_decoder.h:686
Definition: smush_decoder.h:64
Definition: smush_decoder.h:111
Definition: video_decoder.h:711
Definition: timestamp.h:83
bool isRewindable() const override
Definition: smush_decoder.h:49
Definition: rational.h:40
SoundType
Definition: mixer.h:62
Definition: video_decoder.h:53
Definition: audiostream.h:50
Definition: blocky16.h:29
Definition: audiostream.h:370
bool isSeekable() const override
Definition: smush_decoder.h:50