From: "Martin Storsjö" <martin@martin.st>
To: ffmpeg-devel@ffmpeg.org
Cc: Lynne <dev@lynne.ee>
Subject: Re: [FFmpeg-devel] [PATCH v2 2/2] checkasm: aacencdsp: Actually test nonzero values in quant_bands
Date: Mon, 10 Feb 2025 14:09:47 +0200 (EET)
Message-ID: <db623f19-e9c1-768b-b588-2e484bc24c0@martin.st> (raw)
In-Reply-To: <ed167988-723a-a9aa-9644-982a678b28e8@martin.st>
On Fri, 7 Feb 2025, Martin Storsjö wrote:
> On Wed, 5 Feb 2025, Martin Storsjö wrote:
>
>> Previously, we read elements from ff_aac_pow34sf_tab; however
>> that table is initialized to zero; one needs to call
>> ff_aac_float_common_init() to make sure that the table is
>> initialized.
>>
>> However, given the range of the input values, a large number of
>> entries in ff_aac_pow34sf_tab would give results outside of the
>> range for signed 32 bit integers. As the largest aac_cb_maxval
>> entry is 16, it seems more reasonable to produce values within
>> an order of mangitude of that value.
>>
>> (When hitting INT_MIN, implementations may end up with different
>> results depending on whether the value is negated as a float or
>> as an int. This corner case is irrelevant in practice as this
>> is way outside of the expected value range here.)
>>
>> Coincidentally, this fixes linking checkasm with Apple's older
>> linker. (In Xcode 15, Apple switched to a new linker. The one in
>> older toolchains seems to have a bug where it won't figure out to
>> load object files from a static library, if the only symbol
>> referenced in the object file is a "common" symbol, i.e. one for
>> a zero-initialized variable. This issue can also be reproduced with
>> newer Apple toolchains by passing -Wl,-ld_classic to the linker.)
>> ---
>> tests/checkasm/aacencdsp.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tests/checkasm/aacencdsp.c b/tests/checkasm/aacencdsp.c
>> index 5308a2ac03..713284211c 100644
>> --- a/tests/checkasm/aacencdsp.c
>> +++ b/tests/checkasm/aacencdsp.c
>> @@ -67,7 +67,7 @@ static void test_abs_pow34(AACEncDSPContext *s)
>> static void test_quant_bands(AACEncDSPContext *s)
>> {
>> int maxval = randomize_elem(aac_cb_maxval);
>> - float q34 = randomize_elem(ff_aac_pow34sf_tab);
>> + float q34 = (float)rnd() / (UINT_MAX / 1024);
>> float rounding = (rnd() & 1) ? ROUND_TO_ZERO : ROUND_STANDARD;
>> LOCAL_ALIGNED_16(float, in, [BUF_SIZE]);
>> LOCAL_ALIGNED_16(float, scaled, [BUF_SIZE]);
>> --
>> 2.43.0
>
> These changes were OK'd by Lynne on irc, I'll push them later if there's no
> more feedback on it. (I've tested these changes with thousands of different
> checkasm seeds now.)
Pushed now.
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
prev parent reply other threads:[~2025-02-10 12:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-05 21:19 [FFmpeg-devel] [PATCH v2 1/2] x86: aacencdsp: Fix negating signed values in aac_quantize_bands Martin Storsjö
2025-02-05 21:19 ` [FFmpeg-devel] [PATCH v2 2/2] checkasm: aacencdsp: Actually test nonzero values in quant_bands Martin Storsjö
2025-02-07 9:25 ` Martin Storsjö
2025-02-10 12:09 ` Martin Storsjö [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=db623f19-e9c1-768b-b588-2e484bc24c0@martin.st \
--to=martin@martin.st \
--cc=dev@lynne.ee \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git