-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ty sware and mk:dd @HeartPiece44 your turn now :)
- Loading branch information
1 parent
e55c266
commit f0c739a
Showing
9 changed files
with
329 additions
and
330 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#ifndef _THP_THPAUDIODECODE_H | ||
#define _THP_THPAUDIODECODE_H | ||
|
||
#include "Dolphin/os.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
int THPAudioDecode(s16* arg1, u8* arg2, int arg3); // TODO: determine args and name properly | ||
|
||
BOOL CreateAudioDecodeThread(OSPriority, void*); | ||
void AudioDecodeThreadStart(); | ||
void AudioDecodeThreadCancel(); | ||
|
||
void PushFreeAudioBuffer(void* buf); | ||
void PushDecodedAudioBuffer(void* buf); | ||
|
||
void* PopFreeAudioBuffer(); | ||
void* PopDecodedAudioBuffer(s32 flags); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
#ifndef _THP_THPBUFFER_H | ||
#define _THP_THPBUFFER_H | ||
|
||
#include "types.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
typedef struct THPTextureSet { | ||
u8* ytexture; | ||
u8* utexture; | ||
u8* vtexture; | ||
s32 frameNumber; | ||
} THPTextureSet; | ||
|
||
typedef struct THPAudioBuffer { | ||
s16* buffer; | ||
s16* curPtr; | ||
u32 validSample; | ||
} THPAudioBuffer; | ||
|
||
typedef struct THPReadBuffer { | ||
u8* ptr; | ||
s32 frameNumber; | ||
BOOL isValid; | ||
} THPReadBuffer; | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#ifndef _THP_THPFILE_H | ||
#define _THP_THPFILE_H | ||
|
||
#include "types.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
typedef struct THPHeader { | ||
char magic[4]; | ||
u32 version; | ||
u32 bufsize; | ||
u32 audioMaxSamples; | ||
f32 frameRate; | ||
u32 numFrames; | ||
u32 firstFrameSize; | ||
u32 movieDataSize; | ||
u32 compInfoDataOffsets; | ||
u32 offsetDataOffsets; | ||
u32 movieDataOffsets; | ||
u32 finalFrameDataOffsets; | ||
} THPHeader; | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#ifndef _THP_THPINFO_H | ||
#define _THP_THPINFO_H | ||
|
||
#include "types.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
typedef struct THPVideoInfo { | ||
u32 xSize; | ||
u32 ySize; | ||
u32 videoType; | ||
} THPVideoInfo; | ||
|
||
typedef struct THPAudioInfo { | ||
u32 sndChannels; | ||
u32 sndFrequency; | ||
u32 sndNumSamples; | ||
u32 sndNumTracks; | ||
} THPAudioInfo; | ||
|
||
typedef struct THPFrameCompInfo { | ||
u32 numComponents; | ||
u8 frameComp[16]; | ||
} THPFrameCompInfo; | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
#ifndef _THP_THPPLAYER_H | ||
#define _THP_THPPLAYER_H | ||
|
||
#include "types.h" | ||
#include "Dolphin/os.h" | ||
#include "Dolphin/gx.h" | ||
#include "THP/THPBuffer.h" | ||
#include "THP/THPFile.h" | ||
#include "THP/THPInfo.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
typedef struct THPPlayer { | ||
DVDFileInfo fileInfo; | ||
THPHeader header; | ||
THPFrameCompInfo compInfo; | ||
THPVideoInfo videoInfo; | ||
THPAudioInfo audioInfo; | ||
void* thpWork; | ||
BOOL open; | ||
u8 state; | ||
u8 internalState; | ||
u8 playFlag; | ||
u8 audioExist; | ||
s32 dvdError; | ||
s32 videoError; | ||
BOOL onMemory; | ||
u8* movieData; | ||
s32 initOffset; | ||
s32 initReadSize; | ||
s32 initReadFrame; | ||
u32 curField; | ||
s64 retaceCount; | ||
s32 prevCount; | ||
s32 curCount; | ||
s32 videoDecodeCount; | ||
f32 curVolume; | ||
f32 targetVolume; | ||
f32 deltaVolume; | ||
s32 rampCount; | ||
s32 curAudioTrack; | ||
s32 curVideoNumber; | ||
s32 curAudioNumber; | ||
THPTextureSet* dispTextureSet; | ||
THPAudioBuffer* playAudioBuffer; | ||
THPReadBuffer readBuffer[10]; | ||
THPTextureSet textureSet[3]; | ||
THPAudioBuffer audioBuffer[6]; | ||
} THPPlayer; // Size: 0x1f0 | ||
|
||
extern THPPlayer ActivePlayer; | ||
|
||
BOOL THPPlayerInit(); | ||
void THPPlayerQuit(); | ||
BOOL THPPlayerOpen(const char* fileName, BOOL onMemory); | ||
BOOL THPPlayerClose(); | ||
BOOL THPPlayerPlay(); | ||
void THPPlayerStop(); | ||
BOOL THPPlayerPause(); | ||
BOOL THPPlayerPrepare(s32 offset, u8 flag, s32 audioTrack); | ||
|
||
BOOL THPPlayerSetBuffer(u8* data); | ||
|
||
u32 THPPlayerCalcNeedMemory(); | ||
|
||
BOOL THPPlayerGetVideoInfo(void* dst); | ||
// BOOL THPPlayerGetAudioInfo(void *dst); | ||
// f32 THPPlayerGetFrameRate(); | ||
BOOL THPPlayerSetVolume(s32 vol, s32 duration); | ||
|
||
s32 THPPlayerDrawCurrentFrame(GXRenderModeObj* rmode, s32, s32, s32, s32); // TODO, parameter names from dwarf info if it exists | ||
u32 THPPlayerGetTotalFrame(); | ||
u8 THPPlayerGetState(); | ||
|
||
void THPPlayerPostDrawDone(); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
void PrepareReady(int msg); | ||
|
||
#endif /* _THP_THPPLAYER_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.