@ -418,7 +418,7 @@ int ff_h264_build_ref_list(H264Context *h, H264SliceContext *sl)
return 0 ;
return 0 ;
}
}
int ff_h264_decode_ref_pic_list_reordering ( const H264Context * h , H264SliceContext * sl )
int ff_h264_decode_ref_pic_list_reordering ( H264Slice Context * sl , void * logctx )
{
{
int list , index ;
int list , index ;
@ -436,10 +436,10 @@ int ff_h264_decode_ref_pic_list_reordering(const H264Context *h, H264SliceContex
break ;
break ;
if ( index > = sl - > ref_count [ list ] ) {
if ( index > = sl - > ref_count [ list ] ) {
av_log ( h - > av ctx, AV_LOG_ERROR , " reference count overflow \n " ) ;
av_log ( log ctx, AV_LOG_ERROR , " reference count overflow \n " ) ;
return AVERROR_INVALIDDATA ;
return AVERROR_INVALIDDATA ;
} else if ( op > 2 ) {
} else if ( op > 2 ) {
av_log ( h - > av ctx, AV_LOG_ERROR ,
av_log ( log ctx, AV_LOG_ERROR ,
" illegal modification_of_pic_nums_idc %u \n " ,
" illegal modification_of_pic_nums_idc %u \n " ,
op ) ;
op ) ;
return AVERROR_INVALIDDATA ;
return AVERROR_INVALIDDATA ;
@ -821,14 +821,14 @@ int ff_h264_execute_ref_pic_marking(H264Context *h)
return ( h - > avctx - > err_recognition & AV_EF_EXPLODE ) ? err : 0 ;
return ( h - > avctx - > err_recognition & AV_EF_EXPLODE ) ? err : 0 ;
}
}
int ff_h264_decode_ref_pic_marking ( const H264Context * h , H264SliceContext * sl ,
int ff_h264_decode_ref_pic_marking ( H264Slice Context * sl , GetBitContext * gb ,
GetBitContext * gb )
const H2645NAL * nal , void * logctx )
{
{
int i ;
int i ;
MMCO * mmco = sl - > mmco ;
MMCO * mmco = sl - > mmco ;
int nb_mmco = 0 ;
int nb_mmco = 0 ;
if ( h - > nal_unit_ type = = H264_NAL_IDR_SLICE ) { // FIXME fields
if ( nal - > type = = H264_NAL_IDR_SLICE ) { // FIXME fields
skip_bits1 ( gb ) ; // broken_link
skip_bits1 ( gb ) ; // broken_link
if ( get_bits1 ( gb ) ) {
if ( get_bits1 ( gb ) ) {
mmco [ 0 ] . opcode = MMCO_LONG ;
mmco [ 0 ] . opcode = MMCO_LONG ;
@ -863,8 +863,8 @@ int ff_h264_decode_ref_pic_marking(const H264Context *h, H264SliceContext *sl,
if ( long_arg > = 32 | |
if ( long_arg > = 32 | |
( long_arg > = 16 & & ! ( opcode = = MMCO_SET_MAX_LONG & &
( long_arg > = 16 & & ! ( opcode = = MMCO_SET_MAX_LONG & &
long_arg = = 16 ) & &
long_arg = = 16 ) & &
! ( opcode = = MMCO_LONG2UNUSED & & FIELD_PICTURE ( h ) ) ) ) {
! ( opcode = = MMCO_LONG2UNUSED & & FIELD_PICTURE ( sl ) ) ) ) {
av_log ( h - > av ctx, AV_LOG_ERROR ,
av_log ( log ctx, AV_LOG_ERROR ,
" illegal long ref in memory management control "
" illegal long ref in memory management control "
" operation %d \n " , opcode ) ;
" operation %d \n " , opcode ) ;
return - 1 ;
return - 1 ;
@ -873,7 +873,7 @@ int ff_h264_decode_ref_pic_marking(const H264Context *h, H264SliceContext *sl,
}
}
if ( opcode > ( unsigned ) MMCO_LONG ) {
if ( opcode > ( unsigned ) MMCO_LONG ) {
av_log ( h - > av ctx, AV_LOG_ERROR ,
av_log ( log ctx, AV_LOG_ERROR ,
" illegal memory management control operation %d \n " ,
" illegal memory management control operation %d \n " ,
opcode ) ;
opcode ) ;
return - 1 ;
return - 1 ;