diff options
author | Lynne <dev@lynne.ee> | 2021-01-09 19:27:16 +0300 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2021-01-14 03:44:18 +0300 |
commit | 238b2d4155d9779d770fccb3594076bb32742c82 (patch) | |
tree | 22c9e2e26fe214cf508bbc248f64b539b726e6e6 /libavcodec/ac3enc_fixed.c | |
parent | 784c08af3005390cb1d74add13b58edf1663cd40 (diff) |
ac3enc: halve the MDCT window size by using vector_fmul_reverse
This brings the encoder in-line with the rest of ours and saves
on a bit of memory.
Diffstat (limited to 'libavcodec/ac3enc_fixed.c')
-rw-r--r-- | libavcodec/ac3enc_fixed.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libavcodec/ac3enc_fixed.c b/libavcodec/ac3enc_fixed.c index eab086cdab..7a8a77fb93 100644 --- a/libavcodec/ac3enc_fixed.c +++ b/libavcodec/ac3enc_fixed.c @@ -101,15 +101,13 @@ static av_cold int ac3_fixed_mdct_init(AC3EncodeContext *s) { float fwin[AC3_BLOCK_SIZE]; - int32_t *iwin = av_malloc_array(AC3_WINDOW_SIZE, sizeof(*iwin)); + int32_t *iwin = av_malloc_array(AC3_BLOCK_SIZE, sizeof(*iwin)); if (!iwin) return AVERROR(ENOMEM); - ff_kbd_window_init(fwin, 5.0, AC3_WINDOW_SIZE/2); - for (int i = 0; i < AC3_WINDOW_SIZE/2; i++) { + ff_kbd_window_init(fwin, 5.0, AC3_BLOCK_SIZE); + for (int i = 0; i < AC3_BLOCK_SIZE; i++) iwin[i] = lrintf(fwin[i] * (1 << 22)); - iwin[AC3_WINDOW_SIZE-1-i] = lrintf(fwin[i] * (1 << 22)); - } s->mdct_window = iwin; |