diff mbox series

[FFmpeg-devel] libavcodec/vp9:reduce memory copy of prob.coef

Message ID tencent_7AF1121C2D7B224F6BB94068383B2BE69405@qq.com
State New
Headers show
Series [FFmpeg-devel] libavcodec/vp9:reduce memory copy of prob.coef | expand

Checks

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

Commit Message

徐福隆 Feb. 20, 2023, 10:12 a.m. UTC
---
 libavcodec/vp9.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

Comments

Michael Niedermayer Feb. 20, 2023, 10:36 p.m. UTC | #1
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 mbox series

Patch

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) {