22 #ifndef VIDEO_PSX_DECODER_H 23 #define VIDEO_PSX_DECODER_H 25 #include "common/bitstream.h" 26 #include "common/endian.h" 27 #include "common/rational.h" 28 #include "common/rect.h" 29 #include "common/str.h" 30 #include "graphics/surface.h" 31 #include "video/video_decoder.h" 34 class QueuingAudioStream;
38 template <
class BITSTREAM>
71 void close()
override;
74 void readNextPacket()
override;
75 bool useAudioSync()
const override;
81 ~PSXVideoTrack()
override;
83 byte getChannel()
const {
return _channel; }
84 uint16 getWidth()
const override {
return _width; }
85 uint16 getHeight()
const override {
return _height; }
90 _pixelFormat = format;
93 bool endOfTrack()
const override {
return _endOfTrack; }
94 int getCurFrame()
const override {
return _curFrame; }
95 int getFrameCount()
const override {
return _frameCount; }
96 uint32 getNextFrameStartTime()
const override;
99 void setEndOfTrack() { _endOfTrack =
true; }
121 uint16 _macroBlocksW, _macroBlocksH;
122 byte *_yBuffer, *_cbBuffer, *_crBuffer;
127 HuffmanDecoder *_acHuffman;
130 HuffmanDecoder *_dcHuffmanLuma, *_dcHuffmanChroma;
133 void dequantizeBlock(
int *coefficients,
float *block, uint16 scale);
134 void idct(
float *dequantData,
float *result);
141 ~PSXAudioTrack()
override;
143 byte getChannel()
const {
return _channel; }
144 bool endOfTrack()
const override;
146 void setEndOfTrack() { _endOfTrack =
true; }
163 PSXVideoTrack *_videoTrack;
164 PSXAudioTrack *_audioTrack;
Definition: video_decoder.h:738
Definition: timestamp.h:83
Definition: psx_decoder.h:58
Graphics::Surface * scale(const Graphics::Surface &srcImage, int xSize, int ySize)
SoundType
Definition: mixer.h:73
Definition: video_decoder.h:53
Definition: bitstream.h:55
Definition: algorithm.h:29
Definition: formatinfo.h:28
Definition: audiostream.h:50
Definition: audiostream.h:370
Definition: bitstream.h:339
Definition: animation.h:37
Definition: video_decoder.h:595