Browse Source

Initialize function pointers used by error resilience code before any

potential error return from decode_slice_header.

Fixes issue 284.

Originally committed as revision 11168 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Jeff Downs 18 years ago
parent
commit
cf653d0811
1 changed files with 8 additions and 8 deletions
  1. +8
    -8
      libavcodec/h264.c

+ 8
- 8
libavcodec/h264.c View File

@@ -3875,6 +3875,14 @@ static int decode_slice_header(H264Context *h, H264Context *h0){

s->dropable= h->nal_ref_idc == 0;

if((s->avctx->flags2 & CODEC_FLAG2_FAST) && !h->nal_ref_idc){
s->me.qpel_put= s->dsp.put_2tap_qpel_pixels_tab;
s->me.qpel_avg= s->dsp.avg_2tap_qpel_pixels_tab;
}else{
s->me.qpel_put= s->dsp.put_h264_qpel_pixels_tab;
s->me.qpel_avg= s->dsp.avg_h264_qpel_pixels_tab;
}

first_mb_in_slice= get_ue_golomb(&s->gb);

if((s->flags2 & CODEC_FLAG2_CHUNKS) && first_mb_in_slice == 0){
@@ -4241,14 +4249,6 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
);
}

if((s->avctx->flags2 & CODEC_FLAG2_FAST) && !h->nal_ref_idc){
s->me.qpel_put= s->dsp.put_2tap_qpel_pixels_tab;
s->me.qpel_avg= s->dsp.avg_2tap_qpel_pixels_tab;
}else{
s->me.qpel_put= s->dsp.put_h264_qpel_pixels_tab;
s->me.qpel_avg= s->dsp.avg_h264_qpel_pixels_tab;
}

return 0;
}



Loading…
Cancel
Save