mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-29 22:00:58 +02:00
cook: expand dither_tab[], and make sure indexes into it don't overflow.
Fixes overflows in accessing dither_tab[]. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
This commit is contained in:
parent
71af42bd96
commit
442c3a8cb1
@ -507,7 +507,11 @@ static inline void expand_category(COOKContext *q, int *category,
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < q->num_vectors; i++)
|
||||
++category[category_index[i]];
|
||||
{
|
||||
int idx = category_index[i];
|
||||
if (++category[idx] >= FF_ARRAY_ELEMS(dither_tab))
|
||||
--category[idx];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -36,8 +36,8 @@ static const int expbits_tab[8] = {
|
||||
52,47,43,37,29,22,16,0,
|
||||
};
|
||||
|
||||
static const float dither_tab[8] = {
|
||||
0.0, 0.0, 0.0, 0.0, 0.0, 0.176777, 0.25, 0.707107,
|
||||
static const float dither_tab[9] = {
|
||||
0.0, 0.0, 0.0, 0.0, 0.0, 0.176777, 0.25, 0.707107, 1.0
|
||||
};
|
||||
|
||||
static const float quant_centroid_tab[7][14] = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user