8 #include "MemoryPool.h"
10 #include "BlockIndex.h"
12 #include "SetupDecoder.h"
15 struct QT_FrameHeader {
22 }; /* QT_FrameHeader */
24 typedef struct QT_FrameHeader FrameHeader_t;
26 /* DequantizeMatrix */
27 struct DequantizeMatrix {
29 INT16 Matrix[2][3][64];
31 }; /* DequantizeMatrix */
33 typedef struct DequantizeMatrix DequantizeMatrix_t;
44 typedef struct LoopFilter LoopFilter_t;
56 typedef struct Plane Plane_t;
66 typedef struct RunLength RunLength_t;
76 typedef struct MotionVector MotionVector_t;
80 struct QT_FrameDecoder;
82 typedef struct QT_FrameDecoder FrameDecoder_t;
84 struct QT_FrameDecoder {
86 const BlockIndex_t* Index;
88 const SetupHeader_t* Setup;
95 DequantizeMatrix_t Dequantize;
113 INT32 BlocksCoded[3];
123 INT16* BCoeff[3][64];
127 BOOL (*Decode)(FrameDecoder_t*, const VOID*, SIZE_T);
129 }; /* QT_FrameDecoder */
133 #define NOT_CODED -32768
137 BOOL QT_FrameDecoder_Setup(
139 const BlockIndex_t* index,
140 const SetupHeader_t* setup,
143 BOOL QT_FrameDecoder_DecodeFrame(