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

xufuji456 839789740 at qq.com
Mon Feb 20 12:12:51 EET 2023


---
 libavcodec/vp9.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

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) {
-- 
2.32.0 (Apple Git-132)



More information about the ffmpeg-devel mailing list