view adpcm.h @ 4927:3022570ad7d4

Extrastereo plugin: increases linearly the difference between left and right channels (as the XMMS extrastereo plugin) which has some of "live" effect (use it to hear what I mean) ex: mplayer media.avi -aop list=extrastereo[:mul=3.4] The default coefficient (mul) is a float number that defaults to 2.5. If you set it to 0.0, you will have a mono sound (average of both channels), if you set it to 1.0, you will have unchanged sound. A patch for DOCS/sound.html is about to be sent to Gabucino.
author pl
date Sun, 03 Mar 2002 14:17:53 +0000
parents 4a6dde59834c
children f9cd6381e327
line wrap: on
line source

#ifndef ADPCM_H
#define ADPCM_H

#define IMA_ADPCM_PREAMBLE_SIZE 2
#define IMA_ADPCM_BLOCK_SIZE 0x22
#define IMA_ADPCM_SAMPLES_PER_BLOCK \
  ((IMA_ADPCM_BLOCK_SIZE - IMA_ADPCM_PREAMBLE_SIZE) * 2)

#define MS_ADPCM_PREAMBLE_SIZE 7
#define MS_ADPCM_SAMPLES_PER_BLOCK \
  ((sh_audio->wf->nBlockAlign - MS_ADPCM_PREAMBLE_SIZE) * 2)

#define DK4_ADPCM_PREAMBLE_SIZE 4
#define DK4_ADPCM_SAMPLES_PER_BLOCK \
  (((sh_audio->wf->nBlockAlign - DK4_ADPCM_PREAMBLE_SIZE) * 2) + 1)

// pretend there's such a thing as mono for this format
#define DK3_ADPCM_PREAMBLE_SIZE 8
#define DK3_ADPCM_BLOCK_SIZE 0x400
// this isn't exact
#define DK3_ADPCM_SAMPLES_PER_BLOCK 6000

int ima_adpcm_decode_block(unsigned short *output, unsigned char *input,
  int channels);
int ms_adpcm_decode_block(unsigned short *output, unsigned char *input,
  int channels, int block_size);
int dk4_adpcm_decode_block(unsigned short *output, unsigned char *input,
  int channels, int block_size);
int dk3_adpcm_decode_block(unsigned short *output, unsigned char *input);

#endif