av_freep(&vc->buf); av_freep(&vc->buf_tmp);
static void vorbis_free(vorbis_context *vc) {    int_fast16_t i;    av_freep(&vc->channel_residues);    av_freep(&vc->channel_floors);    av_freep(&vc->saved);    av_freep(&vc->ret);    av_freep(&vc->residues);    av_freep(&vc->modes);    ff_mdct_end(&vc->mdct0);    ff_mdct_end(&vc->mdct1);    for(i=0;i<vc->codebook_count;++i) {        av_free(vc->codebooks[i].codevectors);        free_vlc(&vc->codebooks[i].vlc);    }    av_freep(&vc->codebooks);    for(i=0;i<vc->floor_count;++i) {        av_free(vc->floors[i].x_list);        av_free(vc->floors[i].x_list_order);        av_free(vc->floors[i].low_neighbour);        av_free(vc->floors[i].high_neighbour);    }    av_freep(&vc->floors);    for(i=0;i<vc->mapping_count;++i) {        av_free(vc->mappings[i].magnitude);        av_free(vc->mappings[i].angle);        av_free(vc->mappings[i].mux);    }    av_freep(&vc->mappings);}