[FFmpeg-devel] [PATCH 1/2] lavu/tx: add real to real and real to imaginary RDFT transforms

Lynne dev at lynne.ee
Fri Aug 4 05:04:20 EEST 2023


Aug 3, 2023, 22:39 by andreas.rheinhardt at outlook.com:

> Michael Niedermayer:
>
>> On Thu, Aug 03, 2023 at 06:26:16PM +0200, Lynne wrote:
>>
>>> These are in-place transforms, required for DCT-I and DST-I.
>>>
>>> Templated as the mod2 variant requires minor modifications, and is
>>> required specifically for DCT-I/DST-I.
>>>
>>> Quite optimized, as there's no need for any additional buffer storage.
>>>
>>> doc/APIchanges          |    3 
>>>  libavutil/tx.c          |   18 ++++
>>>  libavutil/tx.h          |   10 ++
>>>  libavutil/tx_template.c |  175 +++++++++++++++++++++++++++++++++++++-----------
>>>  libavutil/version.h     |    2 
>>>  5 files changed, 167 insertions(+), 41 deletions(-)
>>> 6e6308365cd78a84c7db5800207e6b5977945079  0001-lavu-tx-add-real-to-real-and-real-to-imaginary-RDFT-.patch
>>> From 2ea5e2541c2551bf1b56e967d35946289a85aa49 Mon Sep 17 00:00:00 2001
>>> From: Lynne <dev at lynne.ee>
>>> Date: Thu, 3 Aug 2023 18:21:23 +0200
>>> Subject: [PATCH 1/2] lavu/tx: add real to real and real to imaginary RDFT
>>>  transforms
>>>
>>> These are in-place transforms, required for DCT-I and DST-I.
>>>
>>> Templated as the mod2 variant requires minor modifications, and is
>>> required specifically for DCT-I/DST-I.
>>>
>>
>> not sure if i forgot some patch but
>> this seems to break fate-binkaudio-dct
>>
>
> It's not just you; patchwork reported four failing tests:
> make: *** [fate-filter-firequalizer] Error 218
> make: *** [fate-binkaudio-rdft] Error 218
> make: *** [fate-binkaudio-dct] Error 218
> make: *** [fate-qdm2] Error 218
>
> - Andreas
>

Thanks, I had a typo on the standard, non-half RDFTs. One line change:

@@ -1711,7 +1703,7 @@ static const FFTXCodelet TX_NAME(ff_tx_rdft_ ##n## _def) = {                   \
     .function   = TX_NAME(ff_tx_rdft_ ##n),                                    \
     .type       = TX_TYPE(RDFT),                                               \
     .flags      = AV_TX_UNALIGNED | AV_TX_INPLACE | FF_TX_OUT_OF_PLACE |       \
-                  inv ? FF_TX_INVERSE_ONLY : FF_TX_FORWARD_ONLY,               \
+                  (inv ? FF_TX_INVERSE_ONLY : FF_TX_FORWARD_ONLY),             \
     .factors    = { 4, TX_FACTOR_ANY },                                        \
     .nb_factors = 2,                                                           \
     .min_len    = 4,                                                           \

V2 sent.


More information about the ffmpeg-devel mailing list