Mercurial > libavcodec.hg
changeset 11421:438b6d4096a8 libavcodec
vp3: use FF_BUFFER_TYPE_COPY
author | conrad |
---|---|
date | Tue, 09 Mar 2010 00:29:19 +0000 |
parents | 57e3c39078bf |
children | 56266eb23fb7 |
files | vp3.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/vp3.c Tue Mar 09 00:29:16 2010 +0000 +++ b/vp3.c Tue Mar 09 00:29:19 2010 +0000 @@ -1889,8 +1889,7 @@ /* release the last frame, if it is allocated and if it is not the * golden frame */ - if ((s->last_frame.data[0]) && - (s->last_frame.data[0] != s->golden_frame.data[0])) + if (s->last_frame.data[0] && s->last_frame.type != FF_BUFFER_TYPE_COPY) avctx->release_buffer(avctx, &s->last_frame); /* shuffle frames (last = current) */ @@ -1900,6 +1899,7 @@ if (s->golden_frame.data[0]) avctx->release_buffer(avctx, &s->golden_frame); s->golden_frame = s->current_frame; + s->last_frame.type = FF_BUFFER_TYPE_COPY; } s->current_frame.data[0]= NULL; /* ensure that we catch any access to this released frame */ @@ -1941,9 +1941,9 @@ free_vlc(&s->motion_vector_vlc); /* release all frames */ - if (s->golden_frame.data[0] && s->golden_frame.data[0] != s->last_frame.data[0]) + if (s->golden_frame.data[0]) avctx->release_buffer(avctx, &s->golden_frame); - if (s->last_frame.data[0]) + if (s->last_frame.data[0] && s->last_frame.type != FF_BUFFER_TYPE_COPY) avctx->release_buffer(avctx, &s->last_frame); /* no need to release the current_frame since it will always be pointing * to the same frame as either the golden or last frame */