Mercurial > libavcodec.hg
changeset 7923:2c15748c530a libavcodec
Do not free sps & pps on width/height changes.
Fixes issue557.
author | michael |
---|---|
date | Thu, 25 Sep 2008 19:01:39 +0000 |
parents | ed0ebbb168b6 |
children | 926c3a5dcdd3 |
files | h264.c |
diffstat | 1 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/h264.c Thu Sep 25 14:34:14 2008 +0000 +++ b/h264.c Thu Sep 25 19:01:39 2008 +0000 @@ -2034,12 +2034,6 @@ av_freep(&h->mb2b_xy); av_freep(&h->mb2b8_xy); - for(i = 0; i < MAX_SPS_COUNT; i++) - av_freep(h->sps_buffers + i); - - for(i = 0; i < MAX_PPS_COUNT; i++) - av_freep(h->pps_buffers + i); - for(i = 0; i < h->s.avctx->thread_count; i++) { hx = h->thread_context[i]; if(!hx) continue; @@ -7920,10 +7914,18 @@ { H264Context *h = avctx->priv_data; MpegEncContext *s = &h->s; + int i; av_freep(&h->rbsp_buffer[0]); av_freep(&h->rbsp_buffer[1]); free_tables(h); //FIXME cleanup init stuff perhaps + + for(i = 0; i < MAX_SPS_COUNT; i++) + av_freep(h->sps_buffers + i); + + for(i = 0; i < MAX_PPS_COUNT; i++) + av_freep(h->pps_buffers + i); + MPV_common_end(s); // memset(h, 0, sizeof(H264Context));