Mercurial > libavcodec.hg
changeset 2793:ae85da6c5c2f libavcodec
more fine grained skip_frame
author | michael |
---|---|
date | Thu, 14 Jul 2005 21:57:22 +0000 |
parents | 0a8c847ad5e7 |
children | ed1ab1566353 |
files | h264.c |
diffstat | 1 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/h264.c Thu Jul 14 21:39:36 2005 +0000 +++ b/h264.c Thu Jul 14 21:57:22 2005 +0000 @@ -7267,7 +7267,11 @@ av_log(h->s.avctx, AV_LOG_ERROR, "decode_slice_header error\n"); break; } - if(h->redundant_pic_count==0 && s->hurry_up < 5 && avctx->skip_frame < AVDISCARD_ALL) + if(h->redundant_pic_count==0 && s->hurry_up < 5 + && (avctx->skip_frame < AVDISCARD_NONREF || h->nal_ref_idc) + && (avctx->skip_frame < AVDISCARD_BIDIR || h->slice_type!=B_TYPE) + && (avctx->skip_frame < AVDISCARD_NONKEY || h->slice_type==I_TYPE) + && avctx->skip_frame < AVDISCARD_ALL) decode_slice(h); break; case NAL_DPA: @@ -7289,7 +7293,11 @@ h->inter_gb_ptr= &h->inter_gb; if(h->redundant_pic_count==0 && h->intra_gb_ptr && s->data_partitioning - && s->hurry_up < 5 && avctx->skip_frame < AVDISCARD_ALL) + && s->hurry_up < 5 + && (avctx->skip_frame < AVDISCARD_NONREF || h->nal_ref_idc) + && (avctx->skip_frame < AVDISCARD_BIDIR || h->slice_type!=B_TYPE) + && (avctx->skip_frame < AVDISCARD_NONKEY || h->slice_type==I_TYPE) + && avctx->skip_frame < AVDISCARD_ALL) decode_slice(h); break; case NAL_SEI: