From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 2F7794BEF7 for ; Sun, 31 Aug 2025 02:57:51 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'ryRkYf75L5qPxNdlQSfY6m5YrmvlXDVrdQGl04nBpUY=', expected b'6MMzpSERPHMQZwUyAxq4x35qY9fLpiNOq1TjMtmIWHs=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1756609058; h=mime-version : to : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=ryRkYf75L5qPxNdlQSfY6m5YrmvlXDVrdQGl04nBpUY=; b=knUlb3KWVl8EqtWI5IdaYD0+zcV+r79Kh9zF3n7fMbwBHlRZZr8dD7mN4MARcZaix3VtK N6k5elDGzbSR24wPSus6llCTN7CvjZyeKl4dQUr7TMuEllr01mnu27X9J1JPL4Zms3ZJ0wU 9sJTleL0IOwqGqxcIr57eaEzL3R3qXdICvVxlNqkIH85i2LtXMqejXYfYLqT7anrQXTpqr8 pI2G7zjtyZzIJ/B99c9q3/2otnk6/MlsdqxIhq5sDjkhmU9K3iJ6/yJLczUoh06ftqo+Gxa 6yzcB4NTQqWwLVw19LoeiXkcTBKz/LACiblHU/VDusBrjuNuwKFZ0pi+OPyA== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id AF3D568D5DD; Sun, 31 Aug 2025 05:57:38 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1756609049; b=JZDKPApLnRMf5Exi5RKjANfr+QRdM9XG19bsY34lA14UxG7VUWsEL/z/cWLBgSgNnxXoQ u5/UXRrIl7Qa2nwJAR7hq/tioMX1nvMtSd2sHzVZaOGXC0Xic3hPxIUNzOEjA9CoeqP74rF vkJ/DkFFskV7bGMjaKkM42f+1od2NJw/U7W4+b8uAO57JkHx5K+cSgoEb968Bx0ThBLyHD0 BHjYM7K1s28uVxnAazrUxQJrSP7zybLzQdNH6/FAH8AhXhGsF3xDa0e0iAkmbjv1mRuXjy4 l2FcN6AV682Aaz9sbOc8/KFq2czYSadP0cz5j38V3Hjxb60C8d1gSnOrLugg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1756609049; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=ghXd5s6hLFoZ5sY4+TaWICHzahSt6fymCLAlsDgEyRA=; b=pax6ja/QZOQ1k4d6L3Q2YlhTVbvJLCKsj0YETSYXkgFZddEuTeW3b8/pFYLAzEv7fU3ga /+SHVg/Sboeh5pM/eujHm9pLPvhCAGwJUmOCRUibTf5CCfzT01z6UAyl12KbXBRNEvqaLGc u82BUA5IO1Utx62viuf1jicctJcYEbFg+XOdEjTVgUdtFcO9zSQFIkcEXkSwz5FIvbVkjr2 X2BmYuMgUqYh51YpZRSzR24UzWVoyWlKCDykJzL1QVUJxfxVUgQpfP4vJ/6280sRJJRYJL8 I4gCD0uCry26ywE0lilov9vDjTMNLlBlwg8N/4u9tWjFA5cGIpM9EZ0wLVtw== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1756609039; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : from; bh=6MMzpSERPHMQZwUyAxq4x35qY9fLpiNOq1TjMtmIWHs=; b=OlfqUe2URXf52b7vAXuaeVKAxfED8D5q8dg426WN/+Vcw2M2mnIXp6cC0N4iK/QpdJRk3 jb/k7TN4o3MHv1peNOgxBqXWDSNz37oKGIoqiSonjv8xO1zILKfk1wms5Lon0ShEQ9aLB9d pJZkVPipvy4hJaGMfjv/XMAt7A/XF0iSxFtJXMMyHol0e8rhe3TGq1tGirAmq3A3qd53Tyd q9aR7UO6WqGHj4RCCa9jRtEIuspKGa/5jeIinkORHQYfFSpvBFiIMeOBvkL+uMGyPt4yR0B P88WCLNxbaFx2Nb9jCR0No+nBJK3DNYbKFxBLKoGc7cxPak8KssgGACCo/hQ== Received: from 5d8f51c41678 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 3F2CA68D27B for ; Sun, 31 Aug 2025 05:57:19 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Message-ID: <175660903942.25.8061148897280811546@463a07221176> Message-ID-Hash: XB5LTLHPFBAYI3LX4IZQRDSMHBK4CBOO X-Message-ID-Hash: XB5LTLHPFBAYI3LX4IZQRDSMHBK4CBOO X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] libavcodec/aac: add clamping for escape coeff (PR #20376) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: damitha via ffmpeg-devel Cc: damitha Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20376 opened by damitha URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20376 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20376.patch Have noticed that escape coefficient on spectral data can be less than 16 on rare occasions. The failure reproduces deterministically on macOS (ARM) and x86-64, at the same frame for the same source. Example | field | Header | |---------|---------| | fabsf(in[i+j]) | 275295.156 | | Q | 0.00014516688 | | ROUNDING | 0.105400003 | | coef_float | 15.99999932 | | coef_int | 15 | The casting to int ends up being 15. This breaks the `put_bits(pb, len - 4 + 1, (1 << (len - 4 + 1)) - 2);` to be noop. Then `put_sbits(pb, len, coef);` becomes 000. This cause the decoder to have over read here. Eventually the fails at the sections_data() read on the next channel. (At least on the samples I have noticed). So forcing the coefficient minimum to be 16. Issue Link: https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20373 >>From 6d4dbf148b8f272c95669636e0a6b10f1797552e Mon Sep 17 00:00:00 2001 From: damitha Date: Sun, 31 Aug 2025 06:50:48 +1000 Subject: [PATCH] add clamping for escpase coeff --- libavcodec/aaccoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/aaccoder.c b/libavcodec/aaccoder.c index 96915c9731..7f1c4cdcc1 100644 --- a/libavcodec/aaccoder.c +++ b/libavcodec/aaccoder.c @@ -173,7 +173,7 @@ static av_always_inline float quantize_and_encode_band_cost_template( if (BT_ESC) { for (int j = 0; j < 2; j++) { if (ff_aac_codebook_vectors[cb-1][curidx*2+j] == 64.0f) { - int coef = av_clip_uintp2(quant(fabsf(in[i+j]), Q, ROUNDING), 13); + int coef = av_clip(quant(fabsf(in[i+j]), Q, ROUNDING), 16, (1 << 13) - 1); int len = av_log2(coef); put_bits(pb, len - 4 + 1, (1 << (len - 4 + 1)) - 2); -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org