From patchwork Mon Apr 19 14:10:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 27056 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:5014:0:0:0:0:0 with SMTP id e20csp564116iob; Mon, 19 Apr 2021 07:21:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw0y4fJbwPP2w3SeE/ceznK1Wk7pfJaJMBJ9F6MIb1CaSJuQOYYyT5KfdtQjgwiZ1vqWABG X-Received: by 2002:a50:82e5:: with SMTP id 92mr26003352edg.141.1618842093360; Mon, 19 Apr 2021 07:21:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618842093; cv=none; d=google.com; s=arc-20160816; b=wFy+qpId0cQ79NwkwZ0eYtc9+FUzI+J7s5OH4IwAE0k9+GREJz1XL3m2dNbbP6DhQF 5t79xhCbi3h/Zfh5f2ZTBO6C97UpsjbMw4be1EPxho1J6fw9341k8iOUvsvvz0icuSkU cDqkA/zBtCjtcJdduT1aTkDxWiLqs7whXmAvVYqxQE2wI3K6qUnbICDLoIS+MZKFrgtp sy1X0dmDfhspVmXnGOnbODuBCMoTBnVTx1CYD6o4m8m3cQ7qSeNVUJavAwb2JALRPj/a 3SpRgdcAC3fiYu6q93i8FjW7aFUIiRqarzhTYuqmeekaGslOEUMZH8zwzSW7ez9e8mSS z1VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=RmbQl3Ucgf/485fz4OJeJNnx8/h7/Wtghal2KkFQ0ww=; b=rUVAWuOFfaXSkWmyYgjrCKAXAr2p1HFBbSLurDaS8bQVE56vYpXGVODLpxzrdso5fh g6/RGyLqQT3DRxlmUoFTwAE7+QZmgaNaTRoYh1+bHm91AXErRkmi26hXm2YvaTX9Zb+/ buNvf2TSeW6q7uy6A1nKWAMBNnVdOHwjY6UBOW4EPP+Y0Pvgfg+Z0pxUXcpgRwfyqE2B PFLzuD2Y/33wm6b8ey//0PwbTaEtBvKhDPieTVRoqNbfU9Zu3ud38MqmJ1zt/lIsJryc pmBXOSFoLEui80N4q30tBN8L/z1XumJJVHvBAv4hONoGVM7NthcAOAxNrnaooL3C6Oge 45ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=qnGSO9hI; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o9si12581134edc.429.2021.04.19.07.21.32; Mon, 19 Apr 2021 07:21:33 -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=@gmail.com header.s=20161025 header.b=qnGSO9hI; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 09D39689CDB; Mon, 19 Apr 2021 17:12:28 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 576DA689BFF for ; Mon, 19 Apr 2021 17:12:25 +0300 (EEST) Received: by mail-qv1-f43.google.com with SMTP id i3so11376447qvj.7 for ; Mon, 19 Apr 2021 07:12:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=LZiBx3Wb/0VVRdX7al6ij+lvcs328ZxA2rCF0G40uVk=; b=qnGSO9hIAsVN0oGzB78/QwJl2RUFqhtGTvhlO8PvRDlYnzk4t2+Qn1eeiN8XEcoE6m YXfVVhpMES6V7qutbRwvvQUsH3dA6xAMIr95OmRs07Iu3+qIyATm6TjBg7FjifbvffG0 6kK1B2qtodYeWcV2rDm1fz6SSMChX2JIWZ6jonnNbvvfRH5b92184NdNEuS8utA8HeJa /PWZZjMsAKx7DK19lNWRKh54b45NqGXLDfOS1eq42ACD9Hgil2vlOUU7t3sLKGobRndE ropidK4T+GCfRUNjsJRYtMIOJWW1IbWy7OymmzIHYGhXkTKs8HaK/jz/P7ZKQKK0qI9b sK7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LZiBx3Wb/0VVRdX7al6ij+lvcs328ZxA2rCF0G40uVk=; b=cAru7d4HcktDFgTRwJ/uJGLSBkiKYb95GsE1Ka+m7hPV6Y1V+lUKKEz2as3/3/quPK g1XrxaEPCUDEc1YETUEzfEHiTF4H6KlaSkp7cVKUNgTpzF6IX/QzLRzs6H6QM0toxz6x cZYESWZMQglOgyrCOBrfkOvvk/GjdOlvXDFsge2ursMUK2GbBDg5AD5cCXFDgTI0fvYy yZ/CMpv7N4IFlJ8EPNMAnre8fH76kt2yH4u/Mht0NBpHwRxTqD+wqTAQ2EI08bRsPoov x5cpQxb/9cr1HF7N8vURfc61Iahs4CIol9kCnEjxlBWnw2ieUeNb0kNUrFAIFEoc8TAm vA1Q== X-Gm-Message-State: AOAM5309KEvLY4tgmCiFTMKR56g5ekVQM+uJmy81SJkSSTrs18UAfs+S cKFfTwtq8py8P4SPjV2LWQ64qro6GV0= X-Received: by 2002:ad4:576e:: with SMTP id r14mr21942593qvx.13.1618841543516; Mon, 19 Apr 2021 07:12:23 -0700 (PDT) Received: from localhost.localdomain ([191.83.209.133]) by smtp.gmail.com with ESMTPSA id f7sm2049494qtv.53.2021.04.19.07.12.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Apr 2021 07:12:22 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Apr 2021 11:10:04 -0300 Message-Id: <20210419141024.8174-68-jamrial@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210419141024.8174-1-jamrial@gmail.com> References: <20210419141024.8174-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 67/87] avutil: Switch crypto APIs to size_t 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Yzi0QPkPu7UE From: Andreas Rheinhardt Announced in e435beb1ea5380a90774dbf51fdc8c941e486551. Signed-off-by: Andreas Rheinhardt --- libavutil/adler32.c | 5 ----- libavutil/adler32.h | 9 --------- libavutil/hash.c | 4 ---- libavutil/hash.h | 4 ---- libavutil/hmac.c | 4 ---- libavutil/md5.c | 15 +++------------ libavutil/md5.h | 8 -------- libavutil/murmur3.c | 4 ---- libavutil/murmur3.h | 4 ---- libavutil/ripemd.c | 23 ++++++++++++----------- libavutil/ripemd.h | 4 ---- libavutil/sha.c | 23 ++++++++++++----------- libavutil/sha.h | 4 ---- libavutil/sha512.c | 23 ++++++++++++----------- libavutil/sha512.h | 4 ---- libavutil/version.h | 3 --- 16 files changed, 39 insertions(+), 102 deletions(-) diff --git a/libavutil/adler32.c b/libavutil/adler32.c index 5ed5ff55a3..f7d3062265 100644 --- a/libavutil/adler32.c +++ b/libavutil/adler32.c @@ -41,12 +41,7 @@ #define DO4(buf) DO1(buf); DO1(buf); DO1(buf); DO1(buf); #define DO16(buf) DO4(buf); DO4(buf); DO4(buf); DO4(buf); -#if FF_API_CRYPTO_SIZE_T -unsigned long av_adler32_update(unsigned long adler, const uint8_t * buf, - unsigned int len) -#else AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf, size_t len) -#endif { unsigned long s1 = adler & 0xffff; unsigned long s2 = adler >> 16; diff --git a/libavutil/adler32.h b/libavutil/adler32.h index e7a8f83729..232d07f5fe 100644 --- a/libavutil/adler32.h +++ b/libavutil/adler32.h @@ -30,7 +30,6 @@ #include #include #include "attributes.h" -#include "version.h" /** * @defgroup lavu_adler32 Adler-32 @@ -40,11 +39,7 @@ * @{ */ -#if FF_API_CRYPTO_SIZE_T -typedef unsigned long AVAdler; -#else typedef uint32_t AVAdler; -#endif /** * Calculate the Adler32 checksum of a buffer. @@ -59,11 +54,7 @@ typedef uint32_t AVAdler; * @return updated checksum */ AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf, -#if FF_API_CRYPTO_SIZE_T - unsigned int len) av_pure; -#else size_t len) av_pure; -#endif /** * @} diff --git a/libavutil/hash.c b/libavutil/hash.c index d626c31181..9a49748189 100644 --- a/libavutil/hash.c +++ b/libavutil/hash.c @@ -157,11 +157,7 @@ void av_hash_init(AVHashContext *ctx) } } -#if FF_API_CRYPTO_SIZE_T -void av_hash_update(AVHashContext *ctx, const uint8_t *src, int len) -#else void av_hash_update(AVHashContext *ctx, const uint8_t *src, size_t len) -#endif { switch (ctx->type) { case MD5: av_md5_update(ctx->ctx, src, len); break; diff --git a/libavutil/hash.h b/libavutil/hash.h index af4719e423..930d2d6cde 100644 --- a/libavutil/hash.h +++ b/libavutil/hash.h @@ -182,11 +182,7 @@ void av_hash_init(struct AVHashContext *ctx); * @param[in] src Data to be added to the hash context * @param[in] len Size of the additional data */ -#if FF_API_CRYPTO_SIZE_T -void av_hash_update(struct AVHashContext *ctx, const uint8_t *src, int len); -#else void av_hash_update(struct AVHashContext *ctx, const uint8_t *src, size_t len); -#endif /** * Finalize a hash context and compute the actual hash value. diff --git a/libavutil/hmac.c b/libavutil/hmac.c index d064a105f4..e277fd7701 100644 --- a/libavutil/hmac.c +++ b/libavutil/hmac.c @@ -34,11 +34,7 @@ #define MAX_BLOCKLEN 128 typedef void (*hmac_final)(void *ctx, uint8_t *dst); -#if FF_API_CRYPTO_SIZE_T -typedef void (*hmac_update)(void *ctx, const uint8_t *src, int len); -#else typedef void (*hmac_update)(void *ctx, const uint8_t *src, size_t len); -#endif typedef void (*hmac_init)(void *ctx); struct AVHMAC { diff --git a/libavutil/md5.c b/libavutil/md5.c index 31e69925ae..88596203c1 100644 --- a/libavutil/md5.c +++ b/libavutil/md5.c @@ -98,14 +98,13 @@ static const uint32_t T[64] = { // T[i]= fabs(sin(i+1)<<32) a = b + (a << t | a >> (32 - t)); \ } while (0) -static void body(uint32_t ABCD[4], const uint8_t *src, int nblocks) +static void body(uint32_t ABCD[4], const uint8_t *src, size_t nblocks) { int i av_unused; - int n; const uint32_t *X; uint32_t a, b, c, d, t; - for (n = 0; n < nblocks; n++) { + for (size_t n = 0; n < nblocks; n++) { a = ABCD[3]; b = ABCD[2]; c = ABCD[1]; @@ -150,11 +149,7 @@ void av_md5_init(AVMD5 *ctx) ctx->ABCD[3] = 0x67452301; } -#if FF_API_CRYPTO_SIZE_T -void av_md5_update(AVMD5 *ctx, const uint8_t *src, int len) -#else void av_md5_update(AVMD5 *ctx, const uint8_t *src, size_t len) -#endif { const uint8_t *end; int j; @@ -180,7 +175,7 @@ void av_md5_update(AVMD5 *ctx, const uint8_t *src, size_t len) src += 64; } } else { - int nblocks = len / 64; + size_t nblocks = len / 64; body(ctx->ABCD, src, nblocks); src = end; } @@ -204,11 +199,7 @@ void av_md5_final(AVMD5 *ctx, uint8_t *dst) AV_WL32(dst + 4 * i, ctx->ABCD[3 - i]); } -#if FF_API_CRYPTO_SIZE_T -void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len) -#else void av_md5_sum(uint8_t *dst, const uint8_t *src, size_t len) -#endif { AVMD5 ctx; diff --git a/libavutil/md5.h b/libavutil/md5.h index ca72ccbf83..eee6af44df 100644 --- a/libavutil/md5.h +++ b/libavutil/md5.h @@ -64,11 +64,7 @@ void av_md5_init(struct AVMD5 *ctx); * @param src input data to update hash with * @param len input data length */ -#if FF_API_CRYPTO_SIZE_T -void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, int len); -#else void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, size_t len); -#endif /** * Finish hashing and output digest value. @@ -85,11 +81,7 @@ void av_md5_final(struct AVMD5 *ctx, uint8_t *dst); * @param src The data to hash * @param len The length of the data, in bytes */ -#if FF_API_CRYPTO_SIZE_T -void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len); -#else void av_md5_sum(uint8_t *dst, const uint8_t *src, size_t len); -#endif /** * @} diff --git a/libavutil/murmur3.c b/libavutil/murmur3.c index 3e85c3c94f..f2e2a9ea6c 100644 --- a/libavutil/murmur3.c +++ b/libavutil/murmur3.c @@ -91,11 +91,7 @@ static inline uint64_t update_h2(uint64_t k, uint64_t h1, uint64_t h2) return k; } -#if FF_API_CRYPTO_SIZE_T -void av_murmur3_update(AVMurMur3 *c, const uint8_t *src, int len) -#else void av_murmur3_update(AVMurMur3 *c, const uint8_t *src, size_t len) -#endif { const uint8_t *end; uint64_t h1 = c->h1, h2 = c->h2; diff --git a/libavutil/murmur3.h b/libavutil/murmur3.h index b3b3a07de2..c5cd7e49e0 100644 --- a/libavutil/murmur3.h +++ b/libavutil/murmur3.h @@ -100,11 +100,7 @@ void av_murmur3_init(struct AVMurMur3 *c); * @param[in] src Input data to update hash with * @param[in] len Number of bytes to read from `src` */ -#if FF_API_CRYPTO_SIZE_T -void av_murmur3_update(struct AVMurMur3 *c, const uint8_t *src, int len); -#else void av_murmur3_update(struct AVMurMur3 *c, const uint8_t *src, size_t len); -#endif /** * Finish hashing and output digest value. diff --git a/libavutil/ripemd.c b/libavutil/ripemd.c index 89d69cc23d..b8e9761a24 100644 --- a/libavutil/ripemd.c +++ b/libavutil/ripemd.c @@ -511,13 +511,10 @@ av_cold int av_ripemd_init(AVRIPEMD *ctx, int bits) return 0; } -#if FF_API_CRYPTO_SIZE_T -void av_ripemd_update(AVRIPEMD* ctx, const uint8_t* data, unsigned int len) -#else void av_ripemd_update(AVRIPEMD* ctx, const uint8_t* data, size_t len) -#endif { - unsigned int i, j; + unsigned int j; + size_t i; j = ctx->count & 63; ctx->count += len; @@ -530,15 +527,19 @@ void av_ripemd_update(AVRIPEMD* ctx, const uint8_t* data, size_t len) } } #else - if ((j + len) > 63) { + if (len >= 64 - j) { + const uint8_t *end; memcpy(&ctx->buffer[j], data, (i = 64 - j)); ctx->transform(ctx->state, ctx->buffer); - for (; i + 63 < len; i += 64) - ctx->transform(ctx->state, &data[i]); + data += i; + len -= i; + end = data + (len & ~63); + len = len % 64; + for (; data < end; data += 64) + ctx->transform(ctx->state, data); j = 0; - } else - i = 0; - memcpy(&ctx->buffer[j], &data[i], len - i); + } + memcpy(&ctx->buffer[j], data, len); #endif } diff --git a/libavutil/ripemd.h b/libavutil/ripemd.h index 921aa66684..8c24b72855 100644 --- a/libavutil/ripemd.h +++ b/libavutil/ripemd.h @@ -67,11 +67,7 @@ int av_ripemd_init(struct AVRIPEMD* context, int bits); * @param data input data to update hash with * @param len input data length */ -#if FF_API_CRYPTO_SIZE_T -void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, unsigned int len); -#else void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, size_t len); -#endif /** * Finish hashing and output digest value. diff --git a/libavutil/sha.c b/libavutil/sha.c index ef6fa44227..ab42869c7b 100644 --- a/libavutil/sha.c +++ b/libavutil/sha.c @@ -311,13 +311,10 @@ av_cold int av_sha_init(AVSHA *ctx, int bits) return 0; } -#if FF_API_CRYPTO_SIZE_T -void av_sha_update(struct AVSHA *ctx, const uint8_t *data, unsigned int len) -#else void av_sha_update(struct AVSHA *ctx, const uint8_t *data, size_t len) -#endif { - unsigned int i, j; + unsigned int j; + size_t i; j = ctx->count & 63; ctx->count += len; @@ -330,15 +327,19 @@ void av_sha_update(struct AVSHA *ctx, const uint8_t *data, size_t len) } } #else - if ((j + len) > 63) { + if (len >= 64 - j) { + const uint8_t *end; memcpy(&ctx->buffer[j], data, (i = 64 - j)); ctx->transform(ctx->state, ctx->buffer); - for (; i + 63 < len; i += 64) - ctx->transform(ctx->state, &data[i]); + data += i; + len -= i; + end = data + (len & ~63); + len = len % 64; + for (; data < end; data += 64) + ctx->transform(ctx->state, data); j = 0; - } else - i = 0; - memcpy(&ctx->buffer[j], &data[i], len - i); + } + memcpy(&ctx->buffer[j], data, len); #endif } diff --git a/libavutil/sha.h b/libavutil/sha.h index c0180e5729..85356218b9 100644 --- a/libavutil/sha.h +++ b/libavutil/sha.h @@ -74,11 +74,7 @@ int av_sha_init(struct AVSHA* context, int bits); * @param data input data to update hash with * @param len input data length */ -#if FF_API_CRYPTO_SIZE_T -void av_sha_update(struct AVSHA *ctx, const uint8_t *data, unsigned int len); -#else void av_sha_update(struct AVSHA *ctx, const uint8_t *data, size_t len); -#endif /** * Finish hashing and output digest value. diff --git a/libavutil/sha512.c b/libavutil/sha512.c index 6d092a7c5c..97aaaa865c 100644 --- a/libavutil/sha512.c +++ b/libavutil/sha512.c @@ -239,13 +239,10 @@ av_cold int av_sha512_init(AVSHA512 *ctx, int bits) return 0; } -#if FF_API_CRYPTO_SIZE_T -void av_sha512_update(AVSHA512* ctx, const uint8_t* data, unsigned int len) -#else void av_sha512_update(AVSHA512* ctx, const uint8_t* data, size_t len) -#endif { - unsigned int i, j; + unsigned int j; + size_t i; j = ctx->count & 127; ctx->count += len; @@ -258,15 +255,19 @@ void av_sha512_update(AVSHA512* ctx, const uint8_t* data, size_t len) } } #else - if ((j + len) > 127) { + if (len >= 128 - j) { + const uint8_t *end; memcpy(&ctx->buffer[j], data, (i = 128 - j)); sha512_transform(ctx->state, ctx->buffer); - for (; i + 127 < len; i += 128) - sha512_transform(ctx->state, &data[i]); + data += i; + len -= i; + end = data + (len & ~127); + len = len % 128; + for (; data < end; data += 128) + sha512_transform(ctx->state, data); j = 0; - } else - i = 0; - memcpy(&ctx->buffer[j], &data[i], len - i); + } + memcpy(&ctx->buffer[j], data, len); #endif } diff --git a/libavutil/sha512.h b/libavutil/sha512.h index bef714b41c..30dd8744f8 100644 --- a/libavutil/sha512.h +++ b/libavutil/sha512.h @@ -76,11 +76,7 @@ int av_sha512_init(struct AVSHA512* context, int bits); * @param data input data to update hash with * @param len input data length */ -#if FF_API_CRYPTO_SIZE_T -void av_sha512_update(struct AVSHA512* context, const uint8_t* data, unsigned int len); -#else void av_sha512_update(struct AVSHA512* context, const uint8_t* data, size_t len); -#endif /** * Finish hashing and output digest value. diff --git a/libavutil/version.h b/libavutil/version.h index dbeb7ffe23..54b09534a2 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -105,9 +105,6 @@ * @{ */ -#ifndef FF_API_CRYPTO_SIZE_T -#define FF_API_CRYPTO_SIZE_T (LIBAVUTIL_VERSION_MAJOR < 57) -#endif #ifndef FF_API_FRAME_GET_SET #define FF_API_FRAME_GET_SET (LIBAVUTIL_VERSION_MAJOR < 57) #endif