diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-03-09 01:22:31 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-03-09 01:22:31 +0100 |
commit | a8cedbebf163ad376abc4703b3156c44d0858404 (patch) | |
tree | 7198ad7a96b58d3ea53b2208601b707da2db3c00 /libavcodec/huffyuv.c | |
parent | a4524930d9299dbb8fafe165105d83bf7b6d3b89 (diff) | |
parent | ea1d64ab1066145ba919b79a2080f3091d562217 (diff) | |
download | ffmpeg-a8cedbebf163ad376abc4703b3156c44d0858404.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
ttadec: unbreak playback of matroska files
vorbisdec: avoid invalid memory access
Fix uninitialized reads on malformed ogg files.
huffyuv: add padding to classic (v1) huffman tables.
png: convert to bytestream2 API.
dca: include libavutil/mathematics.h for possibly missing M_SQRT1_2
avs: fix infinite loop on end-of-stream.
tiffdec: Prevent illegal memory access caused by recycled pointers.
rtpenc: Fix the AVRational used for av_rescale_q_rnd
wma: fix off-by-one in array bounds check.
Conflicts:
libavcodec/huffyuv.c
libavcodec/pngdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/huffyuv.c')
-rw-r--r-- | libavcodec/huffyuv.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c index ff52eaac73..81144a1c42 100644 --- a/libavcodec/huffyuv.c +++ b/libavcodec/huffyuv.c @@ -82,14 +82,16 @@ typedef struct HYuvContext{ DSPContext dsp; }HYuvContext; -static const unsigned char classic_shift_luma[] = { +#define classic_shift_luma_table_size 42 +static const unsigned char classic_shift_luma[classic_shift_luma_table_size + FF_INPUT_BUFFER_PADDING_SIZE] = { 34,36,35,69,135,232,9,16,10,24,11,23,12,16,13,10,14,8,15,8, 16,8,17,20,16,10,207,206,205,236,11,8,10,21,9,23,8,8,199,70, 69,68, 0, 0,0,0,0,0,0,0,0, }; -static const unsigned char classic_shift_chroma[] = { +#define classic_shift_chroma_table_size 59 +static const unsigned char classic_shift_chroma[classic_shift_chroma_table_size + FF_INPUT_BUFFER_PADDING_SIZE] = { 66,36,37,38,39,40,41,75,76,77,110,239,144,81,82,83,84,85,118,183, 56,57,88,89,56,89,154,57,58,57,26,141,57,56,58,57,58,57,184,119, 214,245,116,83,82,49,80,79,78,77,44,75,41,40,39,38,37,36,34, 0, @@ -396,10 +398,10 @@ static int read_old_huffman_tables(HYuvContext *s){ GetBitContext gb; int i; - init_get_bits(&gb, classic_shift_luma, (sizeof(classic_shift_luma)-8)*8); + init_get_bits(&gb, classic_shift_luma, classic_shift_luma_table_size*8); if(read_len_table(s->len[0], &gb)<0) return -1; - init_get_bits(&gb, classic_shift_chroma, (sizeof(classic_shift_chroma)-8)*8); + init_get_bits(&gb, classic_shift_chroma, classic_shift_chroma_table_size*8); if(read_len_table(s->len[1], &gb)<0) return -1; |