Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
thp.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_THP_H_
2#define _DOLPHIN_THP_H_
3
4#ifdef __REVOLUTION_SDK__
5#include <revolution/thp.h>
6#else
7#include <dolphin/types.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef u8 THPSample;
14typedef s16 THPCoeff;
15typedef f32 THPQuantTab[64];
16
26
33
51
62
71
78
84
90
97
102
103typedef struct THPHeader {
104 /* 0x00 */ char magic[4];
105 /* 0x04 */ u32 version;
106 /* 0x08 */ u32 bufsize;
108 /* 0x10 */ f32 frameRate;
109 /* 0x14 */ u32 numFrames;
110 /* 0x18 */ u32 firstFrameSize;
111 /* 0x1C */ u32 movieDataSize;
117
118#define THP_AUDIO_BUFFER_COUNT 3
119#define THP_READ_BUFFER_COUNT 10
120#define THP_TEXTURE_SET_COUNT 3
121
122static u32 THPAudioDecode(s16* audioBuffer, u8* audioFrame, s32 flag);
125
128
129static void __THPSetupBuffers(void);
136static void __THPHuffGenerateDecoderTables(u8 tabIndex);
137static void __THPRestartDefinition(void);
138static void __THPPrepBitStream(void);
139static void __THPDecompressYUV(void* tileY, void* tileU, void* tileV);
140static void __THPGQRRestore(void);
144static void __THPInverseDCTNoYPos(THPCoeff* in, u32 xPos);
148
149static void __THPInverseDCTY8(THPCoeff* in, u32 xPos);
150static void __THPGQRSetup();
152
153#ifdef __cplusplus
154}
155#endif
156
157#endif
158#endif // _DOLPHIN_THP_H_
static BOOL flag
Definition DEMOAVX.c:20
static void __THPInverseDCTY8(THPCoeff *in, u32 xPos)
static s32 __THPHuffDecodeTab(THPFileInfo *info, THPHuffmanTab *h)
static void __THPSetupBuffers(void)
static void __THPAudioInitialize(THPAudioDecodeInfo *info, u8 *ptr)
static void __THPHuffDecodeDCTCompU(THPFileInfo *info, THPCoeff *block)
static u8 __THPReadScaneHeader(void)
static void __THPDecompressYUV(void *tileY, void *tileU, void *tileV)
static void __THPPrepBitStream(void)
static u8 __THPReadQuantizationTable(void)
f32 THPQuantTab[64]
Definition thp.h:15
static u32 THPAudioDecode(s16 *audioBuffer, u8 *audioFrame, s32 flag)
static void __THPHuffDecodeDCTCompY(THPFileInfo *info, THPCoeff *block)
struct THPAudioDecodeInfo THPAudioDecodeInfo
static void __THPHuffGenerateDecoderTables(u8 tabIndex)
static void __THPInverseDCTNoYPos(THPCoeff *in, u32 xPos)
static void __THPDecompressiMCURow512x448(void)
static void __THPHuffGenerateCodeTable(void)
struct _THPComponent THPComponent
struct THPHeader THPHeader
struct THPTextureSet THPTextureSet
static u8 __THPReadHuffmanTableSpecification(void)
s16 THPCoeff
Definition thp.h:14
static void __THPRestartDefinition(void)
static s32 __THPAudioGetNewSample(THPAudioDecodeInfo *info)
struct THPFrameCompInfo THPFrameCompInfo
u8 THPSample
Definition thp.h:13
static void __THPDecompressiMCURowNxN(void)
struct THPAudioBuffer THPAudioBuffer
static void __THPGQRRestore(void)
static void __THPHuffDecodeDCTCompV(THPFileInfo *info, THPCoeff *block)
static void __THPHuffGenerateSizeTable(void)
static void __THPDecompressiMCURow640x480(void)
static void __THPGQRSetup()
static u8 __THPReadFrameHeader(void)
struct _THPHuffmanTab THPHuffmanTab
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
static void __THPAudioInitialize(THPAudioDecodeInfo *info, u8 *ptr)
struct THPVideoInfo THPVideoInfo
static s32 __THPAudioGetNewSample(THPAudioDecodeInfo *info)
struct THPAudioInfo THPAudioInfo
struct THPAudioRecordHeader THPAudioRecordHeader
struct _THPFileInfo THPFileInfo
Definition thp.h:79
s16 * buffer
Definition thp.h:80
s16 * curPtr
Definition thp.h:81
u32 validSample
Definition thp.h:82
Definition thp.h:63
u8 * encodeData
Definition thp.h:64
s16 yn1
Definition thp.h:68
s16 yn2
Definition thp.h:69
u8 predictor
Definition thp.h:66
u32 offsetNibbles
Definition thp.h:65
u8 scale
Definition thp.h:67
Definition thp.h:91
u32 sndNumSamples
Definition thp.h:94
u32 sndNumTracks
Definition thp.h:95
u32 sndChannels
Definition thp.h:92
u32 sndFrequency
Definition thp.h:93
Definition thp.h:52
s16 rYn2
Definition thp.h:60
u32 offsetNextChannel
Definition thp.h:53
u32 sampleSize
Definition thp.h:54
s16 rCoef[8][2]
Definition thp.h:56
s16 lYn1
Definition thp.h:57
s16 lYn2
Definition thp.h:58
s16 rYn1
Definition thp.h:59
s16 lCoef[8][2]
Definition thp.h:55
Definition thp.h:98
u32 numComponents
Definition thp.h:99
u8 frameComp[16]
Definition thp.h:100
Definition thp.h:103
char magic[4]
Definition thp.h:104
u32 audioMaxSamples
Definition thp.h:107
u32 numFrames
Definition thp.h:109
u32 offsetDataOffsets
Definition thp.h:113
u32 bufsize
Definition thp.h:106
u32 movieDataSize
Definition thp.h:111
u32 compInfoDataOffsets
Definition thp.h:112
u32 firstFrameSize
Definition thp.h:110
u32 version
Definition thp.h:105
u32 finalFrameDataOffsets
Definition thp.h:115
u32 movieDataOffsets
Definition thp.h:114
f32 frameRate
Definition thp.h:108
Definition thp.h:72
u8 * ytexture
Definition thp.h:73
s32 frameNumber
Definition thp.h:76
u8 * vtexture
Definition thp.h:75
u8 * utexture
Definition thp.h:74
Definition thp.h:85
u32 ySize
Definition thp.h:87
u32 xSize
Definition thp.h:86
u32 videoType
Definition thp.h:88
Definition thp.h:27
THPCoeff predDC
Definition thp.h:31
u8 DCTableSelector
Definition thp.h:29
u8 ACTableSelector
Definition thp.h:30
u8 quantizationTableSelector
Definition thp.h:28
Definition thp.h:34
u16 xPixelSize
Definition thp.h:38
u16 MCUsPerRow
Definition thp.h:40
THPQuantTab quantTabs[3]
Definition thp.h:35
u32 currByte
Definition thp.h:43
u8 RST
Definition thp.h:46
u8 validHuffmanTabs
Definition thp.h:45
u16 decompressedY
Definition thp.h:41
u8 * dLC[3]
Definition thp.h:49
u16 currMCU
Definition thp.h:48
u8 * c
Definition thp.h:42
u16 nMCU
Definition thp.h:47
THPHuffmanTab huffmanTabs[4]
Definition thp.h:36
u16 yPixelSize
Definition thp.h:39
THPComponent components[3]
Definition thp.h:37
u32 cnt
Definition thp.h:44
Definition thp.h:17
u8 increment[32]
Definition thp.h:19
s32 maxCode[18]
Definition thp.h:21
u8 pad[11]
Definition thp.h:24
u8 quick[32]
Definition thp.h:18
s32 valPtr[18]
Definition thp.h:22
u8 * Vij
Definition thp.h:20
u8 Vij1
Definition thp.h:23