ffmpeg | branch: master | Lynne <d...@lynne.ee> | Thu Sep 22 08:25:52 2022 
+0200| [7e7baf8ab86c4ae715f12d2c0babf831a5b18c39] | committer: Lynne

lavu/tx: do not steal lookup tables of subcontexts in the iMDCT

As it happens, some still need their contexts.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7e7baf8ab86c4ae715f12d2c0babf831a5b18c39
---

 libavutil/tx_template.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/libavutil/tx_template.c b/libavutil/tx_template.c
index 5e7159bd87..2c9682ffb7 100644
--- a/libavutil/tx_template.c
+++ b/libavutil/tx_template.c
@@ -965,15 +965,14 @@ static av_cold int TX_NAME(ff_tx_mdct_init)(AVTXContext 
*s,
             return ret;
     }
 
-    /* If we need to preshuffle just steal the map from the subcontext */
+    s->map = av_malloc((len >> 1)*sizeof(*s->map));
+    if (!s->map)
+        return AVERROR(ENOMEM);
+
+    /* If we need to preshuffle copy the map from the subcontext */
     if (s->sub[0].flags & FF_TX_PRESHUFFLE) {
-        s->map = s->sub[0].map;
-        s->sub[0].map = NULL;
+        memcpy(s->map, s->sub->map, (len >> 1)*sizeof(*s->map));
     } else {
-        s->map = av_malloc((len >> 1)*sizeof(*s->map));
-        if (!s->map)
-            return AVERROR(ENOMEM);
-
         for (int i = 0; i < len >> 1; i++)
             s->map[i] = i;
     }

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to