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
This commit is contained in:
parent
9de2919ce5
commit
cf653d0811
@ -3875,6 +3875,14 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
|
|||||||
|
|
||||||
s->dropable= h->nal_ref_idc == 0;
|
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);
|
first_mb_in_slice= get_ue_golomb(&s->gb);
|
||||||
|
|
||||||
if((s->flags2 & CODEC_FLAG2_CHUNKS) && first_mb_in_slice == 0){
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user