{
SmackVContext * const smk = (SmackVContext *)avctx->priv_data;
- if(smk->mmap_tbl)
- av_free(smk->mmap_tbl);
- if(smk->mclr_tbl)
- av_free(smk->mclr_tbl);
- if(smk->full_tbl)
- av_free(smk->full_tbl);
- if(smk->type_tbl)
- av_free(smk->type_tbl);
+ av_freep(&smk->mmap_tbl);
+ av_freep(&smk->mclr_tbl);
+ av_freep(&smk->full_tbl);
+ av_freep(&smk->type_tbl);
if (smk->pic.data[0])
avctx->release_buffer(avctx, &smk->pic);
// do parse frame header
if(v->profile < PROFILE_ADVANCED) {
if(vc1_parse_frame_header(v, &s->gb) == -1) {
- if(buf2)av_free(buf2);
+ av_free(buf2);
return -1;
}
} else {
if(vc1_parse_frame_header_adv(v, &s->gb) == -1) {
- if(buf2)av_free(buf2);
+ av_free(buf2);
return -1;
}
}
if(s->pict_type != I_TYPE && !v->res_rtm_flag){
- if(buf2)av_free(buf2);
+ av_free(buf2);
return -1;
}
/* skip B-frames if we don't have reference frames */
if(s->last_picture_ptr==NULL && (s->pict_type==B_TYPE || s->dropable)){
- if(buf2)av_free(buf2);
+ av_free(buf2);
return -1;//buf_size;
}
/* skip b frames if we are in a hurry */
if( (avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type==B_TYPE)
|| (avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type!=I_TYPE)
|| avctx->skip_frame >= AVDISCARD_ALL) {
- if(buf2)av_free(buf2);
+ av_free(buf2);
return buf_size;
}
/* skip everything if we are in a hurry>=5 */
if(avctx->hurry_up>=5) {
- if(buf2)av_free(buf2);
+ av_free(buf2);
return -1;//buf_size;
}
}
if(MPV_frame_start(s, avctx) < 0) {
- if(buf2)av_free(buf2);
+ av_free(buf2);
return -1;
}
/* we substract 1 because it is added on utils.c */
avctx->frame_number = s->picture_number - 1;
- if(buf2)av_free(buf2);
+ av_free(buf2);
return buf_size;
}