summaryrefslogtreecommitdiff
path: root/libavcodec/ra144dec.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-09-14 14:24:02 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2011-10-10 11:38:57 -0400
commit80bdf7e0b7975956c42f17589cb21a5531f179ef (patch)
treee318ef9b9b61ae86a031c61a70a710cadee36b88 /libavcodec/ra144dec.c
parent51757ac7894ef85abe4ae76624511c2e14b7bd6b (diff)
ra144dec: use a more descriptive calculation for output data size
Diffstat (limited to 'libavcodec/ra144dec.c')
-rw-r--r--libavcodec/ra144dec.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/ra144dec.c b/libavcodec/ra144dec.c
index 10c85b72e2..6707601643 100644
--- a/libavcodec/ra144dec.c
+++ b/libavcodec/ra144dec.c
@@ -64,13 +64,15 @@ static int ra144_decode_frame(AVCodecContext * avctx, void *vdata,
uint16_t block_coefs[4][10]; // LPC coefficients of each sub-block
unsigned int lpc_refl[10]; // LPC reflection coefficients of the frame
int i, j;
+ int out_size;
int16_t *data = vdata;
unsigned int energy;
RA144Context *ractx = avctx->priv_data;
GetBitContext gb;
- if (*data_size < 2*160)
+ out_size = NBLOCKS * BLOCKSIZE * av_get_bytes_per_sample(avctx->sample_fmt);
+ if (*data_size < out_size)
return -1;
if(buf_size < 20) {
@@ -110,7 +112,7 @@ static int ra144_decode_frame(AVCodecContext * avctx, void *vdata,
FFSWAP(unsigned int *, ractx->lpc_coef[0], ractx->lpc_coef[1]);
- *data_size = 2*160;
+ *data_size = out_size;
return 20;
}