# HG changeset patch # User michael # Date 1106616550 0 # Node ID 9baa47d8297b79c7a0b41474cfc0603936739f78 # Parent 5fd4de95731f9c3c464ce5894b98ededeba6f026 check norm6 vlc validity as there are some bit sequences which dont corespond to any codeword, the other vlc tables all seem to be huffman tables though diff -r 5fd4de95731f -r 9baa47d8297b vc9.c --- a/vc9.c Mon Jan 24 23:01:18 2005 +0000 +++ b/vc9.c Tue Jan 25 01:29:10 2005 +0000 @@ -852,6 +852,10 @@ for(y= bp->height%tile_h; y< bp->height; y+=tile_h){ for(x= bp->width%tile_w; x< bp->width; x+=tile_w){ code = get_vlc2(&v->gb, vc9_norm6_vlc.table, VC9_NORM6_VLC_BITS, 2); + if(code<0){ + av_log(v->avctx, AV_LOG_DEBUG, "inavlid NORM-6 VLC\n"); + return -1; + } //FIXME following is a pure guess and probably wrong //FIXME A bitplane (0 | !0), so could the shifts be avoided ? planep[x + 0*bp->stride]= (code>>0)&1;