mirror of
https://github.com/pspdev/pspsdk.git
synced 2025-10-04 09:08:30 +00:00
mp3: new API definitions
This commit is contained in:
@@ -10,7 +10,10 @@ CPPFLAGS = -I$(top_srcdir)/src/base -I$(top_srcdir)/src/kernel
|
|||||||
CFLAGS = @PSPSDK_CFLAGS@
|
CFLAGS = @PSPSDK_CFLAGS@
|
||||||
CCASFLAGS = $(CFLAGS)
|
CCASFLAGS = $(CFLAGS)
|
||||||
|
|
||||||
MP3_OBJS = sceMp3_0000.o sceMp3_0001.o sceMp3_0002.o sceMp3_0003.o sceMp3_0004.o sceMp3_0005.o sceMp3_0006.o sceMp3_0007.o sceMp3_0008.o sceMp3_0009.o sceMp3_0010.o sceMp3_0011.o sceMp3_0012.o sceMp3_0013.o sceMp3_0014.o sceMp3_0015.o sceMp3_0016.o sceMp3_0017.o sceMp3_0018.o sceMp3_0019.o
|
MP3_OBJS = sceMp3_0000.o sceMp3_0001.o sceMp3_0002.o sceMp3_0003.o sceMp3_0004.o sceMp3_0005.o sceMp3_0006.o \
|
||||||
|
sceMp3_0007.o sceMp3_0008.o sceMp3_0009.o sceMp3_0010.o sceMp3_0011.o sceMp3_0012.o sceMp3_0013.o \
|
||||||
|
sceMp3_0014.o sceMp3_0015.o sceMp3_0016.o sceMp3_0017.o sceMp3_0018.o sceMp3_0019.o sceMp3_0020.o \
|
||||||
|
sceMp3_0021.o sceMp3_0022.o sceMp3_0023.o sceMp3_0024.o
|
||||||
|
|
||||||
libpspmp3includedir = @PSPSDK_INCLUDEDIR@
|
libpspmp3includedir = @PSPSDK_INCLUDEDIR@
|
||||||
libpspmp3include_HEADERS = pspmp3.h
|
libpspmp3include_HEADERS = pspmp3.h
|
||||||
|
@@ -21,19 +21,15 @@ extern "C" {
|
|||||||
|
|
||||||
typedef struct SceMp3InitArg {
|
typedef struct SceMp3InitArg {
|
||||||
/** Stream start position */
|
/** Stream start position */
|
||||||
SceUInt32 mp3StreamStart;
|
SceOff mp3StreamStart;
|
||||||
/** Unknown - set to 0 */
|
|
||||||
SceUInt32 unk1;
|
|
||||||
/** Stream end position */
|
/** Stream end position */
|
||||||
SceUInt32 mp3StreamEnd;
|
SceOff mp3StreamEnd;
|
||||||
/** Unknown - set to 0 */
|
|
||||||
SceUInt32 unk2;
|
|
||||||
/** Pointer to a buffer to contain raw mp3 stream data (+1472 bytes workspace) */
|
/** Pointer to a buffer to contain raw mp3 stream data (+1472 bytes workspace) */
|
||||||
SceVoid* mp3Buf;
|
SceUChar8* mp3Buf;
|
||||||
/** Size of mp3Buf buffer (must be >= 8192) */
|
/** Size of mp3Buf buffer (must be >= 8192) */
|
||||||
SceInt32 mp3BufSize;
|
SceInt32 mp3BufSize;
|
||||||
/** Pointer to decoded pcm samples buffer */
|
/** Pointer to decoded pcm samples buffer */
|
||||||
SceVoid* pcmBuf;
|
SceUChar8* pcmBuf;
|
||||||
/** Size of pcmBuf buffer (must be >= 9216) */
|
/** Size of pcmBuf buffer (must be >= 9216) */
|
||||||
SceInt32 pcmBufSize;
|
SceInt32 pcmBufSize;
|
||||||
} SceMp3InitArg;
|
} SceMp3InitArg;
|
||||||
@@ -135,7 +131,7 @@ SceInt32 sceMp3SetLoopNum(SceInt32 handle, SceInt32 loop);
|
|||||||
*
|
*
|
||||||
* @param handle - sceMp3 handle
|
* @param handle - sceMp3 handle
|
||||||
*
|
*
|
||||||
* @return Number of loops
|
* @return Number of loops, < 0 on error.
|
||||||
*/
|
*/
|
||||||
SceInt32 sceMp3GetLoopNum(SceInt32 handle);
|
SceInt32 sceMp3GetLoopNum(SceInt32 handle);
|
||||||
|
|
||||||
@@ -144,7 +140,7 @@ SceInt32 sceMp3GetLoopNum(SceInt32 handle);
|
|||||||
*
|
*
|
||||||
* @param handle - sceMp3 handle
|
* @param handle - sceMp3 handle
|
||||||
*
|
*
|
||||||
* @return Number of decoded samples
|
* @return Number of decoded samples, < 0 on error.
|
||||||
*/
|
*/
|
||||||
SceInt32 sceMp3GetSumDecodedSample(SceInt32 handle);
|
SceInt32 sceMp3GetSumDecodedSample(SceInt32 handle);
|
||||||
|
|
||||||
@@ -153,7 +149,7 @@ SceInt32 sceMp3GetSumDecodedSample(SceInt32 handle);
|
|||||||
*
|
*
|
||||||
* @param handle - sceMp3 handle
|
* @param handle - sceMp3 handle
|
||||||
*
|
*
|
||||||
* @return Number of max samples to output
|
* @return Number of max samples to output, < 0 on error.
|
||||||
*/
|
*/
|
||||||
SceInt32 sceMp3GetMaxOutputSample(SceInt32 handle);
|
SceInt32 sceMp3GetMaxOutputSample(SceInt32 handle);
|
||||||
|
|
||||||
@@ -162,7 +158,7 @@ SceInt32 sceMp3GetMaxOutputSample(SceInt32 handle);
|
|||||||
*
|
*
|
||||||
* @param handle - sceMp3 handle
|
* @param handle - sceMp3 handle
|
||||||
*
|
*
|
||||||
* @return Sampling rate of the mp3
|
* @return Sampling rate of the mp3, < 0 on error.
|
||||||
*/
|
*/
|
||||||
SceInt32 sceMp3GetSamplingRate(SceInt32 handle);
|
SceInt32 sceMp3GetSamplingRate(SceInt32 handle);
|
||||||
|
|
||||||
@@ -171,7 +167,7 @@ SceInt32 sceMp3GetSamplingRate(SceInt32 handle);
|
|||||||
*
|
*
|
||||||
* @param handle - sceMp3 handle
|
* @param handle - sceMp3 handle
|
||||||
*
|
*
|
||||||
* @return Bitrate of the mp3
|
* @return Bitrate of the mp3, < 0 on error.
|
||||||
*/
|
*/
|
||||||
SceInt32 sceMp3GetBitRate(SceInt32 handle);
|
SceInt32 sceMp3GetBitRate(SceInt32 handle);
|
||||||
|
|
||||||
@@ -180,7 +176,7 @@ SceInt32 sceMp3GetBitRate(SceInt32 handle);
|
|||||||
*
|
*
|
||||||
* @param handle - sceMp3 handle
|
* @param handle - sceMp3 handle
|
||||||
*
|
*
|
||||||
* @return Number of channels of the mp3
|
* @return Number of channels of the mp3, < 0 on error.
|
||||||
*/
|
*/
|
||||||
SceInt32 sceMp3GetMp3ChannelNum(SceInt32 handle);
|
SceInt32 sceMp3GetMp3ChannelNum(SceInt32 handle);
|
||||||
|
|
||||||
@@ -189,10 +185,61 @@ SceInt32 sceMp3GetMp3ChannelNum(SceInt32 handle);
|
|||||||
*
|
*
|
||||||
* @param handle - sceMp3 handle
|
* @param handle - sceMp3 handle
|
||||||
*
|
*
|
||||||
* @return < 0 on error
|
* @return 0 if success, < 0 on error.
|
||||||
*/
|
*/
|
||||||
SceInt32 sceMp3ResetPlayPosition(SceInt32 handle);
|
SceInt32 sceMp3ResetPlayPosition(SceInt32 handle);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sceMp3GetFrameNum
|
||||||
|
*
|
||||||
|
* @param handle - sceMp3 handle
|
||||||
|
*
|
||||||
|
* @return Number of audio frames, < 0 on error
|
||||||
|
*/
|
||||||
|
SceInt32 sceMp3GetFrameNum(SceInt32 handle);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sceMp3ResetPlayPositionByFrame
|
||||||
|
*
|
||||||
|
* @param handle - sceMp3 handle
|
||||||
|
* @param frame - frame
|
||||||
|
*
|
||||||
|
* @return 0 if success, < 0 on error.
|
||||||
|
*/
|
||||||
|
SceInt32 sceMp3ResetPlayPositionByFrame(SceInt32 handle, SceUInt32 frame);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sceMp3GetMPEGVersion
|
||||||
|
*
|
||||||
|
* @param handle - sceMp3 handle
|
||||||
|
*
|
||||||
|
* @return MPEG Version, < 0 on error
|
||||||
|
*/
|
||||||
|
SceInt32 sceMp3GetMPEGVersion(SceInt32 handle);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sceMp3LowLevelInit
|
||||||
|
*
|
||||||
|
* @param handle - sceMp3 handle
|
||||||
|
* @param src - Pointer to a buffer to contain raw mp3 stream data
|
||||||
|
*
|
||||||
|
* @return 0 if success, < 0 on error.
|
||||||
|
*/
|
||||||
|
SceInt32 sceMp3LowLevelInit(SceInt32 handle, SceUChar8* src);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sceMp3LowLevelDecode
|
||||||
|
*
|
||||||
|
* @param handle - sceMp3 handle
|
||||||
|
* @param mp3src - Pointer to a buffer to contain raw mp3 stream data
|
||||||
|
* @param mp3srcused - mp3 data size consumed by decoding
|
||||||
|
* @param pcmdst - Pointer to destination pcm samples buffer
|
||||||
|
* @param pcmdstoutsz - Size of pcm data output by decoding
|
||||||
|
*
|
||||||
|
* @return 0 if success, < 0 on error.
|
||||||
|
*/
|
||||||
|
SceInt32 sceMp3LowLevelDecode(SceInt32 handle, SceUChar8* mp3src, SceUInt32* mp3srcused, SceShort16* pcmdst, SceUInt32* pcmdstoutsz);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@@ -65,3 +65,18 @@
|
|||||||
#ifdef F_sceMp3_0019
|
#ifdef F_sceMp3_0019
|
||||||
IMPORT_FUNC "sceMp3",0xF5478233,sceMp3ReleaseMp3Handle
|
IMPORT_FUNC "sceMp3",0xF5478233,sceMp3ReleaseMp3Handle
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef F_sceMp3_0020
|
||||||
|
IMPORT_FUNC "sceMp3",0xAE6D2027,sceMp3GetMPEGVersion
|
||||||
|
#endif
|
||||||
|
#ifdef F_sceMp3_0021
|
||||||
|
IMPORT_FUNC "sceMp3",0x3548AEC8,sceMp3GetFrameNum
|
||||||
|
#endif
|
||||||
|
#ifdef F_sceMp3_0022
|
||||||
|
IMPORT_FUNC "sceMp3",0x0840E808,sceMp3ResetPlayPositionByFrame
|
||||||
|
#endif
|
||||||
|
#ifdef F_sceMp3_0023
|
||||||
|
IMPORT_FUNC "sceMp3",0x1B839B83,sceMp3LowLevelInit
|
||||||
|
#endif
|
||||||
|
#ifdef F_sceMp3_0024
|
||||||
|
IMPORT_FUNC "sceMp3",0xE3EE2C81,sceMp3LowLevelDecode
|
||||||
|
#endif
|
||||||
|
@@ -172,8 +172,6 @@ int main(int argc, char *argv[])
|
|||||||
SceMp3InitArg mp3Init;
|
SceMp3InitArg mp3Init;
|
||||||
mp3Init.mp3StreamStart = 0;
|
mp3Init.mp3StreamStart = 0;
|
||||||
mp3Init.mp3StreamEnd = sceIoLseek32( fd, 0, SEEK_END );
|
mp3Init.mp3StreamEnd = sceIoLseek32( fd, 0, SEEK_END );
|
||||||
mp3Init.unk1 = 0;
|
|
||||||
mp3Init.unk2 = 0;
|
|
||||||
mp3Init.mp3Buf = mp3Buf;
|
mp3Init.mp3Buf = mp3Buf;
|
||||||
mp3Init.mp3BufSize = sizeof(mp3Buf);
|
mp3Init.mp3BufSize = sizeof(mp3Buf);
|
||||||
mp3Init.pcmBuf = pcmBuf;
|
mp3Init.pcmBuf = pcmBuf;
|
||||||
|
Reference in New Issue
Block a user