10^10l to whoever wrote this

Originally committed as revision 8394 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2007-03-13 23:10:42 +00:00
parent 0c3c674cde
commit e2e712e7c1

View File

@ -74,11 +74,8 @@ static int ulaw2linear(unsigned char u_val)
}
/* 16384 entries per table */
static uint8_t *linear_to_alaw = NULL;
static int linear_to_alaw_ref = 0;
static uint8_t *linear_to_ulaw = NULL;
static int linear_to_ulaw_ref = 0;
static uint8_t linear_to_alaw[16384];
static uint8_t linear_to_ulaw[16384];
static void build_xlaw_table(uint8_t *linear_to_xlaw,
int (*xlaw2linear)(unsigned char),
@ -109,22 +106,10 @@ static int pcm_encode_init(AVCodecContext *avctx)
avctx->frame_size = 1;
switch(avctx->codec->id) {
case CODEC_ID_PCM_ALAW:
if (linear_to_alaw_ref == 0) {
linear_to_alaw = av_malloc(16384);
if (!linear_to_alaw)
return -1;
build_xlaw_table(linear_to_alaw, alaw2linear, 0xd5);
}
linear_to_alaw_ref++;
build_xlaw_table(linear_to_alaw, alaw2linear, 0xd5);
break;
case CODEC_ID_PCM_MULAW:
if (linear_to_ulaw_ref == 0) {
linear_to_ulaw = av_malloc(16384);
if (!linear_to_ulaw)
return -1;
build_xlaw_table(linear_to_ulaw, ulaw2linear, 0xff);
}
linear_to_ulaw_ref++;
build_xlaw_table(linear_to_ulaw, ulaw2linear, 0xff);
break;
default:
break;
@ -170,19 +155,6 @@ static int pcm_encode_close(AVCodecContext *avctx)
{
av_freep(&avctx->coded_frame);
switch(avctx->codec->id) {
case CODEC_ID_PCM_ALAW:
if (--linear_to_alaw_ref == 0)
av_free(linear_to_alaw);
break;
case CODEC_ID_PCM_MULAW:
if (--linear_to_ulaw_ref == 0)
av_free(linear_to_ulaw);
break;
default:
/* nothing to free */
break;
}
return 0;
}