1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-10-04 09:37:53 +02:00

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

Originally committed as revision 3883 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2005-01-25 01:29:10 +00:00
parent e5540b3fd3
commit 6b250f09e8

View File

@ -852,6 +852,10 @@ static int bitplane_decoding(BitPlane *bp, VC9Context *v)
for(y= bp->height%tile_h; y< bp->height; y+=tile_h){ for(y= bp->height%tile_h; y< bp->height; y+=tile_h){
for(x= bp->width%tile_w; x< bp->width; x+=tile_w){ 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); 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 following is a pure guess and probably wrong
//FIXME A bitplane (0 | !0), so could the shifts be avoided ? //FIXME A bitplane (0 | !0), so could the shifts be avoided ?
planep[x + 0*bp->stride]= (code>>0)&1; planep[x + 0*bp->stride]= (code>>0)&1;