summaryrefslogtreecommitdiff
path: root/src/libffmpeg/libavcodec/qdm2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libffmpeg/libavcodec/qdm2.c')
-rw-r--r--src/libffmpeg/libavcodec/qdm2.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/libffmpeg/libavcodec/qdm2.c b/src/libffmpeg/libavcodec/qdm2.c
index 98bec5cca..81d548386 100644
--- a/src/libffmpeg/libavcodec/qdm2.c
+++ b/src/libffmpeg/libavcodec/qdm2.c
@@ -538,7 +538,7 @@ static void fix_coding_method_array (int sb, int channels, sb_int8_array coding_
run = 1;
case_val = 8;
} else {
- switch (switchtable[coding_method[ch][sb][j]]) {
+ switch (switchtable[coding_method[ch][sb][j]-8]) {
case 0: run = 10; case_val = 10; break;
case 1: run = 1; case_val = 16; break;
case 2: run = 5; case_val = 24; break;
@@ -1470,13 +1470,13 @@ static void qdm2_decode_fft_packets (QDM2Context *q)
if (duration >= 0 && duration < 4)
qdm2_fft_decode_tones(q, duration, &gb, unknown_flag);
} else if (type == 31) {
- for (i=0; i < 4; i++)
- qdm2_fft_decode_tones(q, i, &gb, unknown_flag);
+ for (j=0; j < 4; j++)
+ qdm2_fft_decode_tones(q, j, &gb, unknown_flag);
} else if (type == 46) {
- for (i=0; i < 6; i++)
- q->fft_level_exp[i] = get_bits(&gb, 6);
- for (i=0; i < 4; i++)
- qdm2_fft_decode_tones(q, i, &gb, unknown_flag);
+ for (j=0; j < 6; j++)
+ q->fft_level_exp[j] = get_bits(&gb, 6);
+ for (j=0; j < 4; j++)
+ qdm2_fft_decode_tones(q, j, &gb, unknown_flag);
}
} // Loop on B packets
@@ -2008,8 +2008,10 @@ static int qdm2_decode_frame(AVCodecContext *avctx,
{
QDM2Context *s = avctx->priv_data;
- if((buf == NULL) || (buf_size < s->checksum_size))
+ if(!buf)
return 0;
+ if(buf_size < s->checksum_size)
+ return -1;
*data_size = s->channels * s->frame_size * sizeof(int16_t);