fraps: increase vlc nb_bits

Sample-Id: fraps_bug_huff.avi
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
Michael Niedermayer 2015-09-02 14:22:18 +02:00 committed by Vittorio Giovara
parent 741d353ab9
commit db9fd1e9af
1 changed files with 3 additions and 2 deletions

View File

@ -39,6 +39,7 @@
#include "internal.h" #include "internal.h"
#define FPS_TAG MKTAG('F', 'P', 'S', 'x') #define FPS_TAG MKTAG('F', 'P', 'S', 'x')
#define VLC_BITS 11
/** /**
* local variable storage * local variable storage
@ -100,7 +101,7 @@ static int fraps2_decode_plane(FrapsContext *s, uint8_t *dst, int stride, int w,
for (i = 0; i < 256; i++) for (i = 0; i < 256; i++)
nodes[i].count = bytestream_get_le32(&src); nodes[i].count = bytestream_get_le32(&src);
size -= 1024; size -= 1024;
if ((ret = ff_huff_build_tree(s->avctx, &vlc, 256, FF_HUFFMAN_BITS, if ((ret = ff_huff_build_tree(s->avctx, &vlc, 256, VLC_BITS,
nodes, huff_cmp, nodes, huff_cmp,
FF_HUFFMAN_FLAG_ZERO_COUNT)) < 0) FF_HUFFMAN_FLAG_ZERO_COUNT)) < 0)
return ret; return ret;
@ -113,7 +114,7 @@ static int fraps2_decode_plane(FrapsContext *s, uint8_t *dst, int stride, int w,
init_get_bits(&gb, s->tmpbuf, size * 8); init_get_bits(&gb, s->tmpbuf, size * 8);
for (j = 0; j < h; j++) { for (j = 0; j < h; j++) {
for (i = 0; i < w*step; i += step) { for (i = 0; i < w*step; i += step) {
dst[i] = get_vlc2(&gb, vlc.table, FF_HUFFMAN_BITS, 3); dst[i] = get_vlc2(&gb, vlc.table, VLC_BITS, 3);
/* lines are stored as deltas between previous lines /* lines are stored as deltas between previous lines
* and we need to add 0x80 to the first lines of chroma planes * and we need to add 0x80 to the first lines of chroma planes
*/ */