mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-10-08 10:26:55 +02:00
shorten: Extend fixed_coeffs to properly support pred_order 0
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
This commit is contained in:
parent
6405ca7d4a
commit
b2148faca9
@ -273,7 +273,8 @@ static void output_buffer(int16_t **samples, int nchan, int blocksize,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static const int fixed_coeffs[3][3] = {
|
static const int fixed_coeffs[][3] = {
|
||||||
|
{ 0, 0, 0 },
|
||||||
{ 1, 0, 0 },
|
{ 1, 0, 0 },
|
||||||
{ 2, -1, 0 },
|
{ 2, -1, 0 },
|
||||||
{ 3, -3, 1 }
|
{ 3, -3, 1 }
|
||||||
@ -302,7 +303,12 @@ static int decode_subframe_lpc(ShortenContext *s, int command, int channel,
|
|||||||
} else {
|
} else {
|
||||||
/* fixed LPC coeffs */
|
/* fixed LPC coeffs */
|
||||||
pred_order = command;
|
pred_order = command;
|
||||||
coeffs = fixed_coeffs[pred_order - 1];
|
if (pred_order > FF_ARRAY_ELEMS(fixed_coeffs)) {
|
||||||
|
av_log(s->avctx, AV_LOG_ERROR, "invalid pred_order %d\n",
|
||||||
|
pred_order);
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
coeffs = fixed_coeffs[pred_order];
|
||||||
qshift = 0;
|
qshift = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user