summaryrefslogtreecommitdiff
path: root/libavcodec/vp56.c
diff options
context:
space:
mode:
authorBen Jackson <ben@ben.com>2012-09-15 10:32:41 -0700
committerMichael Niedermayer <michaelni@gmx.at>2012-09-15 20:26:35 +0200
commiteebc11ebc8000aefc8562d17749ac2f9160fdfec (patch)
treee34abb45093093d688dd9e054ac6f72cd0602d54 /libavcodec/vp56.c
parent6e86d6af6bd914fb076d1263cbb240c888a1284e (diff)
lavc/vp56: Move golden_frame into VP56Context
Makes golden_frame more like other frame data, paves way for threading alpha channel decode. Signed-off-by: Ben Jackson <ben@ben.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vp56.c')
-rw-r--r--libavcodec/vp56.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index b8e183cf05..47f92f1a1c 100644
--- a/libavcodec/vp56.c
+++ b/libavcodec/vp56.c
@@ -507,12 +507,11 @@ int ff_vp56_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
for (is_alpha=0; is_alpha < 1+s->has_alpha; is_alpha++) {
int mb_row, mb_col, mb_row_flip, mb_offset = 0;
int block, y, uv, stride_y, stride_uv;
- int golden_frame = 0;
int res;
s->modelp = &s->models[is_alpha];
- res = s->parse_header(s, buf, remaining_buf_size, &golden_frame);
+ res = s->parse_header(s, buf, remaining_buf_size);
if (!res)
return -1;
@@ -620,7 +619,7 @@ int ff_vp56_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
}
next:
- if (p->key_frame || golden_frame) {
+ if (p->key_frame || s->golden_frame) {
if (s->framep[VP56_FRAME_GOLDEN]->data[0] && s->framep[VP56_FRAME_GOLDEN] != p &&
s->framep[VP56_FRAME_GOLDEN] != s->framep[VP56_FRAME_GOLDEN2])
avctx->release_buffer(avctx, s->framep[VP56_FRAME_GOLDEN]);
@@ -690,6 +689,7 @@ av_cold void ff_vp56_init_context(AVCodecContext *avctx, VP56Context *s,
s->macroblocks = NULL;
s->quantizer = -1;
s->deblock_filtering = 1;
+ s->golden_frame = 0;
s->filter = NULL;