Niotso
git revision 558726a9f13d7c3423a683dd2f4323589b66c310
The New Implementation of The Sims Online
|
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <limits.h>
#include "read_xa.h"
Classes | |
struct | channel_t |
Macros | |
#define | HINIBBLE(byte) ((byte) >> 4) |
#define | LONIBBLE(byte) ((byte) & 0x0F) |
#define | read_uint32(x) (unsigned)(((x)[0]<<(8*0)) | ((x)[1]<<(8*1)) | ((x)[2]<<(8*2)) | ((x)[3]<<(8*3))) |
#define | read_uint16(x) (unsigned)(((x)[0]<<(8*0)) | ((x)[1]<<(8*1))) |
Functions | |
size_t | xa_compressed_size (size_t Frames, size_t Channels) |
int | xa_read_header (xaheader_t *XAHeader, const uint8_t *Buffer, size_t FileSize) |
static __inline int16_t | Clip16 (int sample) |
int | xa_decode (const uint8_t *__restrict InBuffer, uint8_t *__restrict OutBuffer, size_t Frames, size_t Channels) |
Variables | |
static const int16_t | XATable [] |
#define HINIBBLE | ( | byte) | ((byte) >> 4) |
#define LONIBBLE | ( | byte) | ((byte) & 0x0F) |
#define read_uint16 | ( | x) | (unsigned)(((x)[0]<<(8*0)) | ((x)[1]<<(8*1))) |
#define read_uint32 | ( | x) | (unsigned)(((x)[0]<<(8*0)) | ((x)[1]<<(8*1)) | ((x)[2]<<(8*2)) | ((x)[3]<<(8*3))) |
|
static |
size_t xa_compressed_size | ( | size_t | Frames, |
size_t | Channels | ||
) |
int xa_decode | ( | const uint8_t *__restrict | InBuffer, |
uint8_t *__restrict | OutBuffer, | ||
size_t | Frames, | ||
size_t | Channels | ||
) |
int xa_read_header | ( | xaheader_t * | XAHeader, |
const uint8_t * | Buffer, | ||
size_t | FileSize | ||
) |
|
static |