|
|
|
@ -46,7 +46,7 @@ typedef struct { |
|
|
|
|
|
|
|
|
|
#define CLIP(s) if (s>32767) s=32767; else if (s<-32768) s=-32768 |
|
|
|
|
|
|
|
|
|
/* 18byte <-> 32 samples */ |
|
|
|
|
/* 18 bytes <-> 32 samples */ |
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_ENCODERS |
|
|
|
|
static void adx_encode(unsigned char *adx,const short *wav,PREV *prev) |
|
|
|
@ -381,32 +381,27 @@ static int adx_decode_frame(AVCodecContext *avctx, |
|
|
|
|
return buf-buf0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#define DEFINE_ENCODER(id, name, context) \ |
|
|
|
|
AVCodec name ## _encoder = { \
|
|
|
|
|
#name, \ |
|
|
|
|
CODEC_TYPE_AUDIO, \
|
|
|
|
|
id, \
|
|
|
|
|
sizeof(context), \
|
|
|
|
|
name ## _encode_init, \
|
|
|
|
|
name ## _encode_frame, \
|
|
|
|
|
name ## _encode_close, \
|
|
|
|
|
NULL, \
|
|
|
|
|
#ifdef CONFIG_ENCODERS |
|
|
|
|
AVCodec adx_adpcm_encoder = { |
|
|
|
|
"adx_adpcm", |
|
|
|
|
CODEC_TYPE_AUDIO, |
|
|
|
|
CODEC_ID_ADPCM_ADX, |
|
|
|
|
sizeof(ADXContext), |
|
|
|
|
adx_encode_init, |
|
|
|
|
adx_encode_frame, |
|
|
|
|
adx_encode_close, |
|
|
|
|
NULL, |
|
|
|
|
}; |
|
|
|
|
#endif //CONFIG_ENCODERS
|
|
|
|
|
|
|
|
|
|
#define DEFINE_DECODER(id, name, context) \ |
|
|
|
|
AVCodec name ## _decoder = { \
|
|
|
|
|
#name, \ |
|
|
|
|
CODEC_TYPE_AUDIO, \
|
|
|
|
|
id, \
|
|
|
|
|
sizeof(context), \
|
|
|
|
|
name ## _decode_init, \
|
|
|
|
|
NULL, \
|
|
|
|
|
NULL, \
|
|
|
|
|
name ## _decode_frame, \
|
|
|
|
|
AVCodec adx_adpcm_decoder = { |
|
|
|
|
"adx_adpcm", |
|
|
|
|
CODEC_TYPE_AUDIO, |
|
|
|
|
CODEC_ID_ADPCM_ADX, |
|
|
|
|
sizeof(ADXContext), |
|
|
|
|
adx_decode_init, |
|
|
|
|
NULL, |
|
|
|
|
NULL, |
|
|
|
|
adx_decode_frame, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_ENCODERS |
|
|
|
|
DEFINE_ENCODER(CODEC_ID_ADPCM_ADX,adx,ADXContext) |
|
|
|
|
#endif //CONFIG_ENCODERS
|
|
|
|
|
|
|
|
|
|
DEFINE_DECODER(CODEC_ID_ADPCM_ADX,adx,ADXContext) |
|
|
|
|