*/
/**
- * @file 8svx.c
+ * @file libavcodec/8svx.c
* 8svx audio decoder
* @author Jaikrishnan Menon
* supports: fibonacci delta encoding
/** decoder context */
typedef struct EightSvxContext {
int16_t fib_acc;
- int16_t *table;
+ const int16_t *table;
} EightSvxContext;
-const static int16_t fibonacci[16] = { -34<<8, -21<<8, -13<<8, -8<<8, -5<<8, -3<<8, -2<<8, -1<<8,
+static const int16_t fibonacci[16] = { -34<<8, -21<<8, -13<<8, -8<<8, -5<<8, -3<<8, -2<<8, -1<<8,
0, 1<<8, 2<<8, 3<<8, 5<<8, 8<<8, 13<<8, 21<<8 };
-const static int16_t exponential[16] = { -128<<8, -64<<8, -32<<8, -16<<8, -8<<8, -4<<8, -2<<8, -1<<8,
+static const int16_t exponential[16] = { -128<<8, -64<<8, -32<<8, -16<<8, -8<<8, -4<<8, -2<<8, -1<<8,
0, 1<<8, 2<<8, 4<<8, 8<<8, 16<<8, 32<<8, 64<<8 };
/** decode a frame */
static int eightsvx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
- const uint8_t *buf, int buf_size)
+ AVPacket *avpkt)
{
+ const uint8_t *buf = avpkt->data;
+ int buf_size = avpkt->size;
EightSvxContext *esc = avctx->priv_data;
int16_t *out_data = data;
int consumed = buf_size;
default:
return -1;
}
+ avctx->sample_fmt = SAMPLE_FMT_S16;
return 0;
}
AVCodec eightsvx_fib_decoder = {
- .name = "8svx fibonacci decoder",
+ .name = "8svx_fib",
.type = CODEC_TYPE_AUDIO,
.id = CODEC_ID_8SVX_FIB,
.priv_data_size = sizeof (EightSvxContext),
.init = eightsvx_decode_init,
.decode = eightsvx_decode_frame,
+ .long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
};
AVCodec eightsvx_exp_decoder = {
- .name = "8svx exponential decoder",
+ .name = "8svx_exp",
.type = CODEC_TYPE_AUDIO,
.id = CODEC_ID_8SVX_EXP,
.priv_data_size = sizeof (EightSvxContext),
.init = eightsvx_decode_init,
.decode = eightsvx_decode_frame,
+ .long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
};