[FFmpeg-cvslog] lavu/tx: do not steal lookup tables of subcontexts in the iMDCT
Lynne
git at videolan.org
Fri Sep 23 13:42:08 EEST 2022
ffmpeg | branch: master | Lynne <dev at 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;
}
More information about the ffmpeg-cvslog
mailing list