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 uint16 getWidth()
const override {
return _width; }
84 uint16 getHeight()
const override {
return _height; }
89 _pixelFormat = format;
92 bool endOfTrack()
const override {
return _endOfTrack; }
93 int getCurFrame()
const override {
return _curFrame; }
94 int getFrameCount()
const override {
return _frameCount; }
95 uint32 getNextFrameStartTime()
const override;
98 void setEndOfTrack() { _endOfTrack =
true; }
119 uint16 _macroBlocksW, _macroBlocksH;
120 byte *_yBuffer, *_cbBuffer, *_crBuffer;
125 HuffmanDecoder *_acHuffman;
128 HuffmanDecoder *_dcHuffmanLuma, *_dcHuffmanChroma;
131 void dequantizeBlock(
int *coefficients,
float *block, uint16 scale);
132 void idct(
float *dequantData,
float *result);
139 ~PSXAudioTrack()
override;
141 bool endOfTrack()
const override;
143 void setEndOfTrack() { _endOfTrack =
true; }
159 PSXVideoTrack *_videoTrack;
160 PSXAudioTrack *_audioTrack;
Definition: video_decoder.h:723
Definition: timestamp.h:83
Definition: psx_decoder.h:58
Graphics::Surface * scale(const Graphics::Surface &srcImage, int xSize, int ySize)
SoundType
Definition: mixer.h:62
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:337
Definition: avi_frames.h:36
Definition: video_decoder.h:589