[FFmpeg-cvslog] lavu/tx: rotate 3 & 15-point exptabs

Lynne git at videolan.org
Sat Sep 10 03:37:46 EEST 2022


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Sat Sep 10 02:31:43 2022 +0200| [c92edd969aaf8b12434ff4bd731aa4bc5548fbbf] | committer: Lynne

lavu/tx: rotate 3 & 15-point exptabs

This just inverts their signs. Simplifies SIMD.

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

 libavutil/tx_template.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libavutil/tx_template.c b/libavutil/tx_template.c
index 1d4c4d294b..0c7ddd26f6 100644
--- a/libavutil/tx_template.c
+++ b/libavutil/tx_template.c
@@ -109,11 +109,11 @@ static av_cold void TX_TAB(ff_tx_init_tab_53)(void)
     TX_TAB(ff_tx_tab_53)[0] = RESCALE(cos(2 * M_PI / 12));
     TX_TAB(ff_tx_tab_53)[1] = RESCALE(cos(2 * M_PI / 12));
     TX_TAB(ff_tx_tab_53)[2] = RESCALE(cos(2 * M_PI /  6));
-    TX_TAB(ff_tx_tab_53)[3] = RESCALE(cos(2 * M_PI /  6));
+    TX_TAB(ff_tx_tab_53)[3] = RESCALE(cos(8 * M_PI /  6));
     TX_TAB(ff_tx_tab_53)[4] = RESCALE(cos(2 * M_PI /  5));
-    TX_TAB(ff_tx_tab_53)[5] = RESCALE(sin(2 * M_PI /  5));
+    TX_TAB(ff_tx_tab_53)[5] = RESCALE(sin(8 * M_PI /  5));
     TX_TAB(ff_tx_tab_53)[6] = RESCALE(cos(2 * M_PI / 10));
-    TX_TAB(ff_tx_tab_53)[7] = RESCALE(sin(2 * M_PI / 10));
+    TX_TAB(ff_tx_tab_53)[7] = RESCALE(sin(6 * M_PI /  5));
 }
 
 static av_cold void TX_TAB(ff_tx_init_tab_7)(void)
@@ -226,8 +226,8 @@ static av_always_inline void NAME(TXComplex *out, TXComplex *in,    \
                                                                     \
     SMUL(t[4].re, t[0].re, tab[4], tab[6], t[2].re, t[0].re);       \
     SMUL(t[4].im, t[0].im, tab[4], tab[6], t[2].im, t[0].im);       \
-    CMUL(t[5].re, t[1].re, tab[5], tab[7], t[3].re, t[1].re);       \
-    CMUL(t[5].im, t[1].im, tab[5], tab[7], t[3].im, t[1].im);       \
+    CMUL(t[5].re, t[1].re, -tab[5], -tab[7], t[3].re, t[1].re);     \
+    CMUL(t[5].im, t[1].im, -tab[5], -tab[7], t[3].im, t[1].im);     \
                                                                     \
     BF(z0[0].re, z0[3].re, t[0].re, t[1].re);                       \
     BF(z0[0].im, z0[3].im, t[0].im, t[1].im);                       \



More information about the ffmpeg-cvslog mailing list