From patchwork Thu Mar 17 12:43:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34812 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:3486:0:0:0:0 with SMTP id ek6csp867192nkb; Thu, 17 Mar 2022 05:44:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyLGf23XEQrMKYOpRNz7zB+qZj31gQqd1puiQRL+DB+w10eVxXyzlP2xwuvscmdyyNrs7Ar X-Received: by 2002:a17:907:1c98:b0:6db:b42:7f81 with SMTP id nb24-20020a1709071c9800b006db0b427f81mr4218536ejc.258.1647521050103; Thu, 17 Mar 2022 05:44:10 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c4-20020a170906924400b006df69626abfsi2724909ejx.75.2022.03.17.05.44.09; Thu, 17 Mar 2022 05:44:10 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=E3dA0eDD; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BF1FB68B181; Thu, 17 Mar 2022 14:43:50 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073074.outbound.protection.outlook.com [40.92.73.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5FAA768B109 for ; Thu, 17 Mar 2022 14:43:43 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aR3hdKENU8E2iXczfnGjlgePFAgXvC8t/RFSTz7YP9rSb7mroksv1bxtKfnZxDRuMIedSdSvuL0UyHFbxX2nnqxNDpOUP08EujZdFZiX0l7dnbPqxFlZ8YhZ2fvq9jWTjQGR/MBhw1slXo7dpMv1OiFAlqLyrbP1tsfTWq9nAsmTYZb9N8ocKZRR9Pu9NsGMN9pj25sZLHAxEZKdVBJJISxHzBdIQXY/ElLJ9cctkRYeHCOy8D0Q2HklczajmIN1krt47CGyE3EiqHUDTOgKaQL4R4iv/CiGMgqy8wlY7KabUjUV2/H264v36VRT0y6q8Cq4LWEqO4ipZb67D7hU4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/dDpVXxbZNktgYdZ5itP1V8OEKjvCO3Fy+iRO/CsA0Y=; b=TMrPJ7G0FmXUX7wplL2dNjihd7SqKmLS7E1MYsndjfE/EBtevdgnmXeu6/jANh/TLZu+mq0ys9ySuepqlyOYgGZG4aIEWzp4+tYSarBqEDrjRRKs5Yo/qJS0LdBLfRKKAJl9Sw6bELi0dPPT6ejAYTRohzkQju8aGV8J8diYgGCYeM0qAf0e6mH8CraCHNpQPvkhqFAXx2t9OgOax1coH5nUEwX57FaZql8e+mTEEsdkwDvoGFkaEkFrbMygrI9xXoKMNVB0dVSN5iUEDKaK0Z9OlSYpBCEeWQ9KuLO5UIfojY4ZUb14tIVAaMcBEbOq9bFVx32GZ1fNcrAQz4sZag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/dDpVXxbZNktgYdZ5itP1V8OEKjvCO3Fy+iRO/CsA0Y=; b=E3dA0eDDL45LKz761FlAeQqV5hAyst1I4/WVTZj1Bjaytph4y8KW43k2Xm2aik+rVpgeNlA4Es/UhftNAaeAC2qOlbnJAxBMrLsSv5jPcPmzNGLUpAU3WUbuPCT1r3lWS9+vIpJwl3BwywsN+OwLhWYksUMuym6MiaVWpTePDPhJE/GDthEe7dHeosBqjF3OExLoOdR854m2spkBVhCpyvGxvQF+TTD0hOQM8zjhvq01rwed4FgUE7ho11iTRDsEWgoGi0ibqng7Ykq6o/5S+daoad9w1ifMVt4UBXr5cX/4kSd7Yz6vg9BCiUoHgI5W4wBcfy876K6OE29iWzefTA== Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) by VI1PR0101MB2528.eurprd01.prod.exchangelabs.com (2603:10a6:800:53::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5061.22; Thu, 17 Mar 2022 12:43:41 +0000 Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8]) by AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8%3]) with mapi id 15.20.5081.016; Thu, 17 Mar 2022 12:43:41 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 17 Mar 2022 13:43:18 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [k5r6RoWB3WWS2l1817d+bMpBj681ZnwZ] X-ClientProxiedBy: AS9PR06CA0037.eurprd06.prod.outlook.com (2603:10a6:20b:463::21) To AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) X-Microsoft-Original-Message-ID: <20220317124320.1123436-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f46bac23-ce3a-4f7b-4bff-08da0813c423 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQ6HuBZDc1qMEDnMDhIMgaih1qnWyCBOPFoE+9VW/gOaqMhlMfjdlY7GA9Y+zaLjE6U3h84PiLUxZDctGApd9hFsuORW/DdUYrInvBU+W6qrd4NMITnx3+ilboy2zbmUvoESq2u3yxx+SeRBW+YiOXtZOOJyrjJOpZcp9dQBaU+GfilDRNnA0/HMerzOhje/DqAGwlwFWrtYqbxqq59FcM1FO/gbC2NM0fGTu8bF9DhxGGbI9AzpfCNzOAEz4+5Xr7Zs9C6RsL6803ZNs72cG0Jjt6iHmtGGBbIg/kWS0UxsT3bQm4PlTUEaXSBnfGostteR1I0eS3U74kIYvHV+oNPEDZPkqwrdV9DaF3YvO2qQNNkOnPz8DNmEPvZRn3Y97Py63ih16PqgHbcGl4pywFUS1GtIks/KWpe1PvVJBhrMQV4uEKz8rxfTjVPceG3S90hx6LOcwyy4sAqyhxj3rYLBKKo20xoP/6O8LFCfsmZ3UuJnhYi7pPIURWiYshfNKEXFoekPFK0OcNuZ2nfqGxEK9KSD/gWr0TN3UomP9g6p3ZbHJf6eOcfzQo2mvyRh9RAdSQafjPqMgFukwZDQ68YadWM+/yEYJ1uR8mF0QZI/m/nLTONw0xAIZR/DB5JLnuQ3iMpwXxd4XAICDBNOMFSTUd6vFOb1Kw4R5nK9jBrf5/+D3DDGFh2xf8x6bZ4hGRcyQXY4kEoAI6tgdMK7o2OsT6tgr66IyMI0TuGlKfVm1Xth2fugurM6Q4+IcgbslU= X-MS-TrafficTypeDiagnostic: VI1PR0101MB2528:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 25BRoGJy68R7v7Rm6OhcTDKCDvx7472TpnXWH5Us1F9FxMxvb6o9x3NaP0KowQJ+Ee5WpV2OVMBaDmZtb8iNFJg6o/Tm9Q6ZUIJjn6z+nHXa34bEXtoQ+059YFh8CJ/oYZvrLDDY6ciQdsYAv5z2u1dkqRooMmD6bCIxzmYo2oDDtZAw/IAbHzTDqVQ9M0KybljO7IWZ16UlDllKtGCRKyAEfrCt8fEtslfV7xwLC9KHvS4/xt3r4opq0R0M9LCqXqgdtwm/6+XOPeK4hilnVf3D4jvd8ZdeAj6IztqKaNHkzYpD6NDEdxu6l6Ct9UmAaMEhBo0rLn9DoVwJmfiW7D0O98XqqfGKHW91hJQUDWtm5wSkIRMfOTCJkbg6KyaIncRId/zAOytoHCSLOSZcDKxkHeo1RJDlMpxBJ7/U3nfMkVQWSynLvFQzMM1bUWE9DhrC+yAUMgkpZkglAcAEOyaM4bOXX0LEFBbC8GpLYeoTCvuOOTGBb9mHEv82CYsFNoCWrta3/VGxHXDVcBcDBiVveCMX0aAcTb0oOGBLk4eyZchvJc4583GSYOS+AkyZjMiepT8mBd2aYK/d7hduiQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GlUbFo0PnhIltNYu47rQb3EtH3soPQnfaUj7wMGuRMslf1vBoRS3L3FMFgzB8V8Xshdlo1ITz0doLtmb0GgB/fXjkQTIpv3S1xYUzno7mxGHGcGsYol6EPVejeVT/zzfWS8s++U+GWIKpMbRIO95+NWzt6snne44oQ3ujsqBI3JeM8D/m1ykuYA3/ueRxzrNvH2MRfjhieWNnbs7yC/WLREpfxhzGwYa0BxFnvaxHeYshtgYMbSZ2q+QYZpSL9Aodx3SKvxjAodpvql3IJfl9Dm1MLJXe7cuw3X24VvRpKjfDtNZ4yck7dlm7W9gRwqpOfJ+Uehtrswlm3936I8yEarSL/Ng/B/Y12YZpUMQPHB/RhYtaFAj7B6za7RIhfDKJz5CxI9O1qRhEeBmY6enxiVKpTO41TELIgd44/wJEEE15KnRFdjv/OknReQbJzH9N7nHmew2fZaMBvLKfwsJ61nN5+xlAp280VSGEgXdVNuXZDAH+UWAY2plszGWInSMIx5QJgOJkK+cElVm12FFi0p8nJVqhK6/0Bp21yRjtzfvfYa7565X3+V+J4YSGDsbWKs2JIkQS6hYh7zR/NGalT1SLgjbHO8XY3QlINY2UlHarr+mZFD++yLHRAYS3B3fr6sfwDn5w2hquyGSNzlHj3dlYRKakTFM24Vep9/SauDqKa0udbfB6fkdMD74S0g81s7+G9HYeKkwQllJR26Eq0xq8SHCFn+O4jcK9bsDJuiNqQFuY7sVGInOMUFaO7mhhtIwxZH754Qitp6EosRlh7amc2MmlWKYozVohJulyjeQeL1N/j5DLhUpkq1vb4J/PLoLVsQxwjdsy8VjKs3WaVdk13KFWsfVnf7WEyxPGq9+767oAt1KPH6QniZtW65mDDWtSyA0Q+/XfuWgrUPkMtxb914eV11LXKYtO5Or+a/VNKuSl0UWqqJ9pmMg7xRCssfCP1oVHtfadxGXtQwZg5p7lL9jcR4z0LcvwmCLcycJhyd5Q3AUZ8wjrkvcMmnvkDNSwMGQXtfydHKed74UNMJyzjH8MVVv/uJjwF6+oFa2V8UYuINX/79Zb5A72PsFeqg6uLHwrIjlhjmdpg+O+lQkwLH3DjGL2poyv9hBgSBgY6GY4wz3EjqKZ6LmqHtwUgYLD1a1eXbmoV8HytUgjmbODMZGi+lQlJkr9cxIZJE= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f46bac23-ce3a-4f7b-4bff-08da0813c423 X-MS-Exchange-CrossTenant-AuthSource: AS1PR01MB9564.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2022 12:43:41.7688 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0101MB2528 Subject: [FFmpeg-devel] [PATCH 6/7] avcodec/internal: Move FF_SIGNBIT and ff_log2_run to mathops.h X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: zcQ903BAeeEs It is a more fitting place for them. Also move the definition of ff_log2_run to mathtables.c. Signed-off-by: Andreas Rheinhardt --- libavcodec/aptx.c | 2 +- libavcodec/bitstream.c | 9 --------- libavcodec/cavs.c | 4 ---- libavcodec/cavsdec.c | 1 + libavcodec/dnxhdenc.c | 2 +- libavcodec/ffv1dec.c | 1 - libavcodec/ffv1enc.c | 1 - libavcodec/internal.h | 4 ---- libavcodec/jpeglsdec.c | 2 -- libavcodec/jpeglsenc.c | 1 - libavcodec/mathops.h | 3 +++ libavcodec/mathtables.c | 9 +++++++++ 12 files changed, 15 insertions(+), 24 deletions(-) diff --git a/libavcodec/aptx.c b/libavcodec/aptx.c index b1a78c5f77..f2604be60c 100644 --- a/libavcodec/aptx.c +++ b/libavcodec/aptx.c @@ -21,7 +21,7 @@ */ #include "aptx.h" -#include "internal.h" +#include "mathops.h" static const int32_t quantize_intervals_LF[65] = { diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c index 36a980646d..3606575055 100644 --- a/libavcodec/bitstream.c +++ b/libavcodec/bitstream.c @@ -36,15 +36,6 @@ #include "libavutil/intreadwrite.h" #include "put_bits.h" -const uint8_t ff_log2_run[41]={ - 0, 0, 0, 0, 1, 1, 1, 1, - 2, 2, 2, 2, 3, 3, 3, 3, - 4, 4, 5, 5, 6, 6, 7, 7, - 8, 9,10,11,12,13,14,15, -16,17,18,19,20,21,22,23, -24, -}; - void ff_put_string(PutBitContext *pb, const char *string, int terminate_string) { while (*string) { diff --git a/libavcodec/cavs.c b/libavcodec/cavs.c index 5367c44248..87bbe26f98 100644 --- a/libavcodec/cavs.c +++ b/libavcodec/cavs.c @@ -25,14 +25,10 @@ * @author Stefan Gehrer */ -#include "libavutil/mem_internal.h" - #include "avcodec.h" -#include "get_bits.h" #include "golomb.h" #include "h264chroma.h" #include "idctdsp.h" -#include "internal.h" #include "mathops.h" #include "qpeldsp.h" #include "cavs.h" diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c index ba7ead6f41..760dd792cb 100644 --- a/libavcodec/cavsdec.c +++ b/libavcodec/cavsdec.c @@ -32,6 +32,7 @@ #include "cavs.h" #include "codec_internal.h" #include "internal.h" +#include "mathops.h" #include "mpeg12data.h" #include "startcode.h" diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c index 6d4d7e01c7..1795993efe 100644 --- a/libavcodec/dnxhdenc.c +++ b/libavcodec/dnxhdenc.c @@ -33,7 +33,7 @@ #include "codec_internal.h" #include "encode.h" #include "fdctdsp.h" -#include "internal.h" +#include "mathops.h" #include "mpegvideo.h" #include "mpegvideoenc.h" #include "pixblockdsp.h" diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index a5aae79c94..d1f69ae6e1 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -32,7 +32,6 @@ #include "libavutil/pixdesc.h" #include "avcodec.h" #include "codec_internal.h" -#include "internal.h" #include "get_bits.h" #include "rangecoder.h" #include "golomb.h" diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index edaa8b4b3d..13af2547a0 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -35,7 +35,6 @@ #include "avcodec.h" #include "encode.h" #include "codec_internal.h" -#include "internal.h" #include "put_bits.h" #include "put_golomb.h" #include "rangecoder.h" diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 854c969395..351c057d01 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -44,8 +44,6 @@ #define FF_SANE_NB_CHANNELS 512U -#define FF_SIGNBIT(x) ((x) >> CHAR_BIT * sizeof(x) - 1) - #if HAVE_SIMD_ALIGN_64 # define STRIDE_ALIGN 64 /* AVX-512 */ #elif HAVE_SIMD_ALIGN_32 @@ -159,8 +157,6 @@ typedef struct AVCodecInternal { AVChannelLayout initial_ch_layout; } AVCodecInternal; -extern const uint8_t ff_log2_run[41]; - /** * Return the index into tab at which {a,b} match elements {[0],[1]} of tab. * If there is no such matching pair then size is returned. diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c index c3d0a1c9a7..4c747b3919 100644 --- a/libavcodec/jpeglsdec.c +++ b/libavcodec/jpeglsdec.c @@ -29,9 +29,7 @@ #include "codec_internal.h" #include "get_bits.h" #include "golomb.h" -#include "internal.h" #include "mathops.h" -#include "mjpeg.h" #include "mjpegdec.h" #include "jpegls.h" #include "jpeglsdec.h" diff --git a/libavcodec/jpeglsenc.c b/libavcodec/jpeglsenc.c index 42c2d6b038..dbd7941df2 100644 --- a/libavcodec/jpeglsenc.c +++ b/libavcodec/jpeglsenc.c @@ -34,7 +34,6 @@ #include "get_bits.h" #include "put_bits.h" #include "put_golomb.h" -#include "internal.h" #include "mathops.h" #include "mjpeg.h" #include "jpegls.h" diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h index 239e0e492f..f81d21f9c4 100644 --- a/libavcodec/mathops.h +++ b/libavcodec/mathops.h @@ -30,6 +30,7 @@ #define MAX_NEG_CROP 1024 extern const uint32_t ff_inverse[257]; +extern const uint8_t ff_log2_run[41]; extern const uint8_t ff_sqrt_tab[256]; extern const uint8_t ff_crop_tab[256 + 2 * MAX_NEG_CROP]; extern const uint8_t ff_zigzag_direct[64]; @@ -125,6 +126,8 @@ static inline av_const int median4(int a, int b, int c, int d) } #endif +#define FF_SIGNBIT(x) ((x) >> CHAR_BIT * sizeof(x) - 1) + #ifndef sign_extend static inline av_const int sign_extend(int val, unsigned bits) { diff --git a/libavcodec/mathtables.c b/libavcodec/mathtables.c index 81eabc7a65..8b0031eb00 100644 --- a/libavcodec/mathtables.c +++ b/libavcodec/mathtables.c @@ -112,3 +112,12 @@ const uint8_t ff_zigzag_scan[16+1] = { 1 + 2 * 4, 0 + 3 * 4, 1 + 3 * 4, 2 + 2 * 4, 3 + 1 * 4, 3 + 2 * 4, 2 + 3 * 4, 3 + 3 * 4, }; + +const uint8_t ff_log2_run[41] = { + 0, 0, 0, 0, 1, 1, 1, 1, + 2, 2, 2, 2, 3, 3, 3, 3, + 4, 4, 5, 5, 6, 6, 7, 7, + 8, 9, 10, 11, 12, 13, 14, 15, +16, 17, 18, 19, 20, 21, 22, 23, +24, +};