@ -1597,9 +1597,6 @@ static int h264_slice_header_parse(H264Context *h, H264SliceContext *sl)
sl - > ref_count [ 1 ] = sl - > ref_count [ 0 ] = 0 ;
sl - > ref_count [ 1 ] = sl - > ref_count [ 0 ] = 0 ;
return ret ;
return ret ;
}
}
ret = ff_h264_build_ref_list ( h , sl ) ;
if ( ret < 0 )
return ret ;
}
}
sl - > pwt . use_weight = 0 ;
sl - > pwt . use_weight = 0 ;
@ -1699,6 +1696,10 @@ int ff_h264_decode_slice_header(H264Context *h, H264SliceContext *sl)
if ( ret ) // can not be ret<0 because of SLICE_SKIPED, SLICE_SINGLETHREAD, ...
if ( ret ) // can not be ret<0 because of SLICE_SKIPED, SLICE_SINGLETHREAD, ...
return ret ;
return ret ;
ret = ff_h264_build_ref_list ( h , sl ) ;
if ( ret < 0 )
return ret ;
if ( h - > ps . pps - > weighted_bipred_idc = = 2 & &
if ( h - > ps . pps - > weighted_bipred_idc = = 2 & &
sl - > slice_type_nos = = AV_PICTURE_TYPE_B ) {
sl - > slice_type_nos = = AV_PICTURE_TYPE_B ) {
implicit_weight_table ( h , sl , - 1 ) ;
implicit_weight_table ( h , sl , - 1 ) ;