Browse Source

Use SAMPLE_FMT_FLT instead of doing the float->int conversion in the

decoder. This changes the output very little and any difference should
be inaudible.

Originally committed as revision 15343 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Vitor Sessak 16 years ago
parent
commit
faf6d6964b
1 changed files with 4 additions and 4 deletions
  1. +4
    -4
      libavcodec/ra288.c

+ 4
- 4
libavcodec/ra288.c View File

@@ -48,7 +48,7 @@ typedef struct {


static av_cold int ra288_decode_init(AVCodecContext *avctx) static av_cold int ra288_decode_init(AVCodecContext *avctx)
{ {
avctx->sample_fmt = SAMPLE_FMT_S16;
avctx->sample_fmt = SAMPLE_FMT_FLT;
return 0; return 0;
} }


@@ -189,7 +189,7 @@ static int ra288_decode_frame(AVCodecContext * avctx, void *data,
int *data_size, const uint8_t * buf, int *data_size, const uint8_t * buf,
int buf_size) int buf_size)
{ {
int16_t *out = data;
float *out = data;
int i, j; int i, j;
RA288Context *ractx = avctx->priv_data; RA288Context *ractx = avctx->priv_data;
GetBitContext gb; GetBitContext gb;
@@ -201,7 +201,7 @@ static int ra288_decode_frame(AVCodecContext * avctx, void *data,
return 0; return 0;
} }


if (*data_size < 32*5*2)
if (*data_size < 32*5*4)
return -1; return -1;


init_get_bits(&gb, buf, avctx->block_align * 8); init_get_bits(&gb, buf, avctx->block_align * 8);
@@ -213,7 +213,7 @@ static int ra288_decode_frame(AVCodecContext * avctx, void *data,
decode(ractx, gain, cb_coef); decode(ractx, gain, cb_coef);


for (j=0; j < 5; j++) for (j=0; j < 5; j++)
*(out++) = 8 * ractx->sp_hist[70 + 36 + j];
*(out++) = (1/4096.) * ractx->sp_hist[70 + 36 + j];


if ((i & 7) == 3) if ((i & 7) == 3)
backward_filter(ractx); backward_filter(ractx);


Loading…
Cancel
Save