2008-05-06 05:35:37 +02:00
|
|
|
#ifndef _CODING_H
|
|
|
|
#define _CODING_H
|
|
|
|
|
|
|
|
#include "../vgmstream.h"
|
|
|
|
|
|
|
|
void decode_adx(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-12-24 08:19:15 +01:00
|
|
|
void decode_adx_enc(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
|
|
|
void adx_next_key(VGMSTREAMCHANNEL * stream);
|
2008-05-06 05:35:37 +02:00
|
|
|
|
|
|
|
void decode_g721(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
void g72x_init_state(struct g72x_state *state_ptr);
|
|
|
|
|
|
|
|
void decode_nds_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2009-12-16 07:12:53 +01:00
|
|
|
void decode_dat4_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-09-21 16:58:50 +02:00
|
|
|
void decode_xbox_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do,int channel);
|
2009-06-29 23:58:40 +02:00
|
|
|
void decode_int_xbox_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do,int channel);
|
2008-07-02 03:41:20 +02:00
|
|
|
void decode_dvi_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-07-14 22:42:49 +02:00
|
|
|
void decode_eacs_ima(VGMSTREAM * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel);
|
2008-07-14 21:21:45 +02:00
|
|
|
|
2011-02-06 10:49:57 +01:00
|
|
|
void decode_snds_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel);
|
|
|
|
|
2008-07-03 04:20:52 +02:00
|
|
|
void decode_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-05-06 05:35:37 +02:00
|
|
|
|
2009-03-09 13:48:53 +01:00
|
|
|
void decode_ms_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do,int channel);
|
|
|
|
|
2009-09-12 06:51:39 +02:00
|
|
|
void decode_rad_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do,int channel);
|
|
|
|
|
2010-04-10 14:06:25 +02:00
|
|
|
void decode_rad_ima_mono(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2009-08-30 04:16:54 +02:00
|
|
|
void decode_apple_ima4(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
|
|
|
void decode_ms_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do,int channel);
|
2008-05-06 05:35:37 +02:00
|
|
|
void decode_ngc_afc(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
|
|
|
void decode_ngc_dsp(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-07-14 15:30:26 +02:00
|
|
|
void decode_ngc_dsp_mem(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, uint8_t * mem);
|
2008-05-06 05:35:37 +02:00
|
|
|
|
|
|
|
int32_t dsp_nibbles_to_samples(int32_t nibbles);
|
|
|
|
|
|
|
|
void decode_ngc_dtk(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel);
|
|
|
|
|
|
|
|
void decode_pcm16LE(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-07-14 22:42:49 +02:00
|
|
|
void decode_pcm16LE_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2010-08-28 03:43:40 +02:00
|
|
|
void decode_pcm16LE_XOR_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-05-06 05:35:37 +02:00
|
|
|
void decode_pcm16BE(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
void decode_pcm8(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-07-14 22:42:49 +02:00
|
|
|
void decode_pcm8_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-07-30 22:58:50 +02:00
|
|
|
void decode_pcm8_sb_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-11-23 13:21:36 +01:00
|
|
|
void decode_pcm8_unsigned_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2009-04-28 18:52:49 +02:00
|
|
|
void decode_pcm8_unsigned(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-05-06 05:35:37 +02:00
|
|
|
|
|
|
|
void decode_psx(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2008-06-25 22:39:15 +02:00
|
|
|
void decode_invert_psx(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2008-07-25 21:02:29 +02:00
|
|
|
void decode_psx_badflags(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2008-11-07 00:30:33 +01:00
|
|
|
void decode_ffxi_adpcm(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2011-01-12 02:50:45 +01:00
|
|
|
void decode_baf_adpcm(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2010-09-11 22:57:39 +02:00
|
|
|
|
2008-07-14 22:42:49 +02:00
|
|
|
void decode_xa(VGMSTREAM * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel);
|
|
|
|
void init_get_high_nibble(VGMSTREAM * vgmstream);
|
2008-05-11 03:55:13 +02:00
|
|
|
|
2008-06-02 19:58:08 +02:00
|
|
|
void decode_eaxa(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do,int channel);
|
2008-07-14 22:42:49 +02:00
|
|
|
void decode_ea_adpcm(VGMSTREAM * vgmstream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel);
|
2009-09-01 23:28:55 +02:00
|
|
|
void decode_maxis_adpcm(VGMSTREAM * vgmstream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel);
|
2008-06-02 19:58:08 +02:00
|
|
|
|
2008-06-15 06:01:03 +02:00
|
|
|
#ifdef VGM_USE_VORBIS
|
|
|
|
void decode_ogg_vorbis(ogg_vorbis_codec_data * data, sample * outbuf, int32_t samples_to_do, int channels);
|
|
|
|
#endif
|
|
|
|
|
2012-08-30 14:35:12 +02:00
|
|
|
void decode_mp4_aac(mp4_aac_codec_data * data, sample * outbuf, int32_t samples_to_do, int channels);
|
|
|
|
|
2008-07-01 05:23:44 +02:00
|
|
|
void decode_sdx2(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-07-14 22:42:49 +02:00
|
|
|
void decode_sdx2_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2010-07-27 14:24:03 +02:00
|
|
|
void decode_cbd2(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
void decode_cbd2_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-07-01 05:23:44 +02:00
|
|
|
|
2008-07-04 02:06:51 +02:00
|
|
|
void decode_ws(VGMSTREAM * vgmstream, int channel, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
2008-07-03 23:21:01 +02:00
|
|
|
|
2008-07-05 13:49:29 +02:00
|
|
|
#ifdef VGM_USE_MPEG
|
|
|
|
void decode_fake_mpeg2_l2(VGMSTREAMCHANNEL * stream,
|
2008-07-06 17:33:38 +02:00
|
|
|
mpeg_codec_data * data,
|
2008-07-05 13:49:29 +02:00
|
|
|
sample * outbuf, int32_t samples_to_do);
|
2011-01-19 14:54:59 +01:00
|
|
|
mpeg_codec_data *init_mpeg_codec_data(STREAMFILE *streamfile, off_t start_offset, long given_sample_rate, int given_channels, coding_t *coding_type, int * actual_sample_rate, int * actual_channels);
|
2010-09-11 01:56:39 +02:00
|
|
|
long mpeg_bytes_to_samples(long bytes, const struct mpg123_frameinfo *mi);
|
2008-07-06 17:33:38 +02:00
|
|
|
void decode_mpeg(VGMSTREAMCHANNEL * stream,
|
|
|
|
mpeg_codec_data * data,
|
|
|
|
sample * outbuf, int32_t samples_to_do, int channels);
|
2008-07-05 13:49:29 +02:00
|
|
|
#endif
|
|
|
|
|
2010-03-21 05:23:18 +01:00
|
|
|
#ifdef VGM_USE_G7221
|
|
|
|
void decode_g7221(VGMSTREAM *vgmstream,
|
|
|
|
sample * outbuf, int channelspacing, int32_t samples_to_do, int channel);
|
|
|
|
#endif
|
|
|
|
|
2008-07-20 09:28:17 +02:00
|
|
|
void decode_acm(ACMStream * acm, sample * outbuf,
|
2008-07-20 07:41:41 +02:00
|
|
|
int32_t samples_to_do, int channelspacing);
|
|
|
|
|
2008-08-03 16:58:03 +02:00
|
|
|
void decode_nwa(NWAData *nwa, sample *outbuf, int32_t samples_to_do);
|
|
|
|
|
2010-09-11 01:56:39 +02:00
|
|
|
long msadpcm_bytes_to_samples(long bytes, int block_size, int channels);
|
2008-08-11 09:19:44 +02:00
|
|
|
void decode_msadpcm_stereo(VGMSTREAM * vgmstream, sample * outbuf, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2010-04-12 05:35:58 +02:00
|
|
|
void decode_msadpcm_mono(VGMSTREAM * vgmstream, sample * outbuf, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2008-08-13 08:11:05 +02:00
|
|
|
void decode_aica(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2008-12-28 07:29:43 +01:00
|
|
|
void decode_nds_procyon(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2009-01-04 16:36:06 +01:00
|
|
|
void decode_l5_555(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2009-09-04 06:19:39 +02:00
|
|
|
void decode_SASSC(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2011-01-13 09:11:58 +01:00
|
|
|
void decode_lsf(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
|
|
|
|
2011-05-07 13:05:05 +02:00
|
|
|
void decode_mtaf(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel, int channels);
|
|
|
|
|
2008-05-06 05:35:37 +02:00
|
|
|
#endif
|