1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00

vp9: fix bug in updating of coef probabilities with parallelmode=1.

Fixes trac ticket 3228.

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Ronald S. Bultje 2013-12-23 21:41:35 -05:00 committed by Michael Niedermayer
parent b2597042e5
commit 4a55bffad3

View File

@ -3547,13 +3547,16 @@ static int vp9_decode_frame(AVCodecContext *ctx, void *frame,
if (s->refreshctx && s->parallelmode) { if (s->refreshctx && s->parallelmode) {
int j, k, l, m; int j, k, l, m;
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++) {
for (j = 0; j < 2; j++) for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++) for (k = 0; k < 2; k++)
for (l = 0; l < 6; l++) for (l = 0; l < 6; l++)
for (m = 0; m < 6; m++) for (m = 0; m < 6; m++)
memcpy(s->prob_ctx[s->framectxid].coef[i][j][k][l][m], memcpy(s->prob_ctx[s->framectxid].coef[i][j][k][l][m],
s->prob.coef[i][j][k][l][m], 3); s->prob.coef[i][j][k][l][m], 3);
if (s->txfmmode == i)
break;
}
s->prob_ctx[s->framectxid].p = s->prob.p; s->prob_ctx[s->framectxid].p = s->prob.p;
ff_thread_finish_setup(ctx); ff_thread_finish_setup(ctx);
} }