@ -1788,29 +1788,34 @@ static av_cold int vp3_decode_init(AVCodecContext *avctx)
for ( i = 0 ; i < 16 ; i + + ) {
/* DC histograms */
init_vlc ( & s - > dc_vlc [ i ] , 5 , 32 ,
if ( init_vlc ( & s - > dc_vlc [ i ] , 5 , 32 ,
& s - > huffman_table [ i ] [ 0 ] [ 1 ] , 4 , 2 ,
& s - > huffman_table [ i ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) ;
& s - > huffman_table [ i ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) < 0 )
goto vlc_fail ;
/* group 1 AC histograms */
init_vlc ( & s - > ac_vlc_1 [ i ] , 5 , 32 ,
if ( init_vlc ( & s - > ac_vlc_1 [ i ] , 5 , 32 ,
& s - > huffman_table [ i + 16 ] [ 0 ] [ 1 ] , 4 , 2 ,
& s - > huffman_table [ i + 16 ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) ;
& s - > huffman_table [ i + 16 ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) < 0 )
goto vlc_fail ;
/* group 2 AC histograms */
init_vlc ( & s - > ac_vlc_2 [ i ] , 5 , 32 ,
if ( init_vlc ( & s - > ac_vlc_2 [ i ] , 5 , 32 ,
& s - > huffman_table [ i + 16 * 2 ] [ 0 ] [ 1 ] , 4 , 2 ,
& s - > huffman_table [ i + 16 * 2 ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) ;
& s - > huffman_table [ i + 16 * 2 ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) < 0 )
goto vlc_fail ;
/* group 3 AC histograms */
init_vlc ( & s - > ac_vlc_3 [ i ] , 5 , 32 ,
if ( init_vlc ( & s - > ac_vlc_3 [ i ] , 5 , 32 ,
& s - > huffman_table [ i + 16 * 3 ] [ 0 ] [ 1 ] , 4 , 2 ,
& s - > huffman_table [ i + 16 * 3 ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) ;
& s - > huffman_table [ i + 16 * 3 ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) < 0 )
goto vlc_fail ;
/* group 4 AC histograms */
init_vlc ( & s - > ac_vlc_4 [ i ] , 5 , 32 ,
if ( init_vlc ( & s - > ac_vlc_4 [ i ] , 5 , 32 ,
& s - > huffman_table [ i + 16 * 4 ] [ 0 ] [ 1 ] , 4 , 2 ,
& s - > huffman_table [ i + 16 * 4 ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) ;
& s - > huffman_table [ i + 16 * 4 ] [ 0 ] [ 0 ] , 4 , 2 , 0 ) < 0 )
goto vlc_fail ;
}
}
@ -1844,6 +1849,10 @@ static av_cold int vp3_decode_init(AVCodecContext *avctx)
}
return 0 ;
vlc_fail :
av_log ( avctx , AV_LOG_FATAL , " Invalid huffman table \n " ) ;
return - 1 ;
}
/*