avcodec/golomb: get_ur_golomb_jpegls: Fix reading huge k values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c720b9ce98
)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -346,8 +346,16 @@ static inline int get_ur_golomb_jpegls(GetBitContext *gb, int k, int limit,
|
|||||||
|
|
||||||
if (i < limit - 1) {
|
if (i < limit - 1) {
|
||||||
if (k) {
|
if (k) {
|
||||||
|
if (k > MIN_CACHE_BITS - 1) {
|
||||||
|
buf = SHOW_UBITS(re, gb, 16) << (k-16);
|
||||||
|
LAST_SKIP_BITS(re, gb, 16);
|
||||||
|
UPDATE_CACHE(re, gb);
|
||||||
|
buf |= SHOW_UBITS(re, gb, k-16);
|
||||||
|
LAST_SKIP_BITS(re, gb, k-16);
|
||||||
|
} else {
|
||||||
buf = SHOW_UBITS(re, gb, k);
|
buf = SHOW_UBITS(re, gb, k);
|
||||||
LAST_SKIP_BITS(re, gb, k);
|
LAST_SKIP_BITS(re, gb, k);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
buf = 0;
|
buf = 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user