SBSPSS/tools/psyq/include/LIBPRESS.H
2000-08-29 16:26:01 +00:00

74 lines
2.3 KiB
C

/* $PSLibId: Run-time Library Release 4.7$ */
#ifndef _LIBPRESS_H_
#define _LIBPRESS_H_
/*
* (C) Copyright 1995 Sony Corporation,Tokyo,Japan. All Rights Reserved
*
* libpress.h: Prototypes for libpress
*
*/
/* DecDCTvlc Table */
typedef u_short DECDCTTAB[34816];
/* DecDCTEnv */
typedef struct {
u_char iq_y[64]; /* IQ (Y): zig-zag order */
u_char iq_c[64]; /* IQ (Cb,Cr): zig-zag order */
short dct[64]; /* IDCT coef (reserved) */
} DECDCTENV;
typedef struct {
short *src; /* 16-bit strait PCM */
short *dest; /* PlayStation original waveform data */
short *work; /* scratch pad or NULL */
long size; /* size (unit: byte) of source data */
long loop_start; /* loop start point (unit: byte) of source data */
char loop; /* whether loop or not */
char byte_swap; /* source data is 16-bit big endian (1) / little endian (0) */
char proceed; /* proceeding ? whole (0) / start (1) / cont. (2) / end (4) */
char quality; /* quality ? middle (0) / high (1) */
} ENCSPUENV;
#define ENCSPU_ENCODE_ERROR (-1)
#define ENCSPU_ENCODE_WHOLE 0
#define ENCSPU_ENCODE_START (1<<0)
#define ENCSPU_ENCODE_CONTINUE (1<<1)
#define ENCSPU_ENCODE_END (1<<2)
#define ENCSPU_ENCODE_LOOP 1
#define ENCSPU_ENCODE_NO_LOOP 0
#define ENCSPU_ENCODE_ENDIAN_LITTLE 0
#define ENCSPU_ENCODE_ENDIAN_BIG 1
#define ENCSPU_ENCODE_MIDDLE_QULITY 0
#define ENCSPU_ENCODE_HIGH_QULITY 1
#if defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
extern "C" {
#endif
extern void DecDCTReset(int mode);
extern DECDCTENV *DecDCTGetEnv(DECDCTENV *env);
extern DECDCTENV *DecDCTPutEnv(DECDCTENV *env);
extern int DecDCTBufSize(u_long *bs);
extern int DecDCTvlc(u_long *bs, u_long *buf);
extern int DecDCTvlc2(u_long *bs, u_long *buf, DECDCTTAB table);
extern int DecDCTvlcSize(int size);
extern int DecDCTvlcSize2(int size);
extern void DecDCTvlcBuild(u_short *table);
extern void DecDCTin(u_long *buf, int mode);
extern void DecDCTout(u_long *buf, int size);
extern int DecDCTinSync( int mode) ;
extern int DecDCToutSync( int mode) ;
extern int DecDCTinCallback(void (*func)());
extern int DecDCToutCallback(void (*func)());
extern long EncSPU (ENCSPUENV *env);
extern long EncSPU2(ENCSPUENV *env);
#if defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
}
#endif
#endif /* _LIBPRESS_H_ */