Message ID | tencent_7AF1121C2D7B224F6BB94068383B2BE69405@qq.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] libavcodec/vp9:reduce memory copy of prob.coef | expand |
Context | Check | Description |
---|---|---|
yinshiyou/commit_msg_loongarch64 | warning | The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ". |
andriy/commit_msg_x86 | warning | The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ". |
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | fail | Make fate failed |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | fail | Make fate failed |
On Mon, Feb 20, 2023 at 06:12:51PM +0800, xufuji456 wrote: > --- > libavcodec/vp9.c | 14 +------------- > 1 file changed, 1 insertion(+), 13 deletions(-) This breaks fate --- ./tests/ref/fate/vp9-00-quantizer-26 2023-02-18 22:17:19.172862988 +0100 +++ tests/data/fate/vp9-00-quantizer-26 2023-02-20 23:07:23.658064323 +0100 @@ -8,4 +8,4 @@ #sar 0: 1/1 #stream#, dts, pts, duration, size, hash 0, 0, 0, 1, 152064, 4f645e0f354da77b9e2f2a6753c361da -0, 1, 1, 1, 152064, b7542998ec298273ca662bc9b658d10e +0, 1, 1, 1, 152064, e30d7da3565aae28d8f3ed0ced8e0ddd Test vp9-00-quantizer-26 failed. Look at tests/data/fate/vp9-00-quantizer-26.err for details. tests/Makefile:306: recipe for target 'fate-vp9-00-quantizer-26' failed make: *** [fate-vp9-00-quantizer-26] Error 1 [...]
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index ebb89a413c..4a9fed62e0 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -948,7 +948,7 @@ static int decode_frame_header(AVCodecContext *avctx, break; for (n = 0; n < 3; n++) { if (vpx_rac_get_prob_branchy(&s->c, 252)) - p[n] = update_prob(&s->c, r[n]); + r[n] = p[n] = update_prob(&s->c, r[n]); else p[n] = r[n]; } @@ -1661,18 +1661,6 @@ static int vp9_decode_frame(AVCodecContext *avctx, AVFrame *frame, return ret; } if (s->s.h.refreshctx && s->s.h.parallelmode) { - int j, k, l, m; - - for (i = 0; i < 4; i++) { - for (j = 0; j < 2; j++) - for (k = 0; k < 2; k++) - for (l = 0; l < 6; l++) - for (m = 0; m < 6; m++) - memcpy(s->prob_ctx[s->s.h.framectxid].coef[i][j][k][l][m], - s->prob.coef[i][j][k][l][m], 3); - if (s->s.h.txfmmode == i) - break; - } s->prob_ctx[s->s.h.framectxid].p = s->prob.p; ff_thread_finish_setup(avctx); } else if (!s->s.h.refreshctx) {