From patchwork Mon Apr 19 19:22:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 27102 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:5014:0:0:0:0:0 with SMTP id e20csp799530iob; Mon, 19 Apr 2021 12:22:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwcjG14d6D2F5AV0txGnYW41LZMVkJa+U8vJOltszARNFLo2+YhWTV1E2/W30+1iesswzrW X-Received: by 2002:aa7:d5da:: with SMTP id d26mr28290431eds.379.1618860165200; Mon, 19 Apr 2021 12:22:45 -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 v24si14428226edy.243.2021.04.19.12.22.44; Mon, 19 Apr 2021 12:22:45 -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=PzlJ4ibE; 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 D5101680340; Mon, 19 Apr 2021 22:22:40 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074075.outbound.protection.outlook.com [40.92.74.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1BD156806F8 for ; Mon, 19 Apr 2021 22:22:34 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XLdX/js4eu6UANEjgBCTeB2K1a/C2Em0ZqjdwGtNNyFXFYArhMbc3k7G63jMuKcBI4GataW3y12IImuKwuIfQjakVYyZ1O+cwclInb2Nz6CP8bjVnGE4qsK5J6RMHgjVpZTxL+N9AUjFCgcS12nEYEa843sXiYwZcKGA6FV80ifVxyxhBp9DwGYx6RxZ1W+7sgY+XUiZVo+CVnLr5eFhBgnfQuD3pQCoaTMfkgDYG0XhxGX5Pfny5Q3uMGSaHBJfi7Bzt0Sta5+x6jHX97BHKpJGvVYdtJDUkuosMunZBhlpn7LvSWW5JJz1/3nR+chOZR1UehCjZ/T62UpVM0tCtw== 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-SenderADCheck; bh=7/oISrutuvlLBq4iz78lcp4h+3m5lhae2Tk5F5Xo4Q8=; b=ZOF5syJEi/Hbh5jzSceMKpjPRlIRckd0+lUZMY31+hPYADfXdKdP90KC2UIWDZuIVyCOiVvuFlPOyqPkFigaKekZ6CKOKfZtzH829qBgApvNH8/c70VMwjZEqxxX0RtGyZIyWyC9KPElXKKp6G4AErEeIwPq1MUzGyR42In1tLVnKer16eip8nyHfm4y+BNOxuzkN53TV7fU56NQCy7F1WN8fO9DkOaUAwKerGdo9qBkg3AHiYGKq6g2UQm4z0f4dbO6XgSLHgrbW+dn87555lnxj6+9LfWCsTEapI6Ggo7ZmXiXFsUsIIlbijERDF6fa7d3YAhpyHG+2WICgc5T2Q== 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=7/oISrutuvlLBq4iz78lcp4h+3m5lhae2Tk5F5Xo4Q8=; b=PzlJ4ibEn1yNZMbo8ioQh6rHKwtLc5SxWudGKxy5BxExaIg/SKKknuUVSoTbwcA2zAccRW/WMdX+5PhvYnBwmhmqau+kELxNwgtsIi5Yz7sz8jHjkW1e8ysmW6PMETbnHXt8GrDbovwqPBo0olRw9hcWq19/GzYYipR3QPbfSE+PU1xfFwi3SdEoz2P9++E8dkzGSYszyMkSZihQ/DbhTFhFUE709IJUHYV9hm6YxTs+hH2kNgXE8daf+zniq+4lGAGaLAmpUv5ZhXzGvgfLVbD+PeNrBTBl8rImZ+QAmx/bHH0HB9EMVRUSR+2SjkaWFEKwzZ+JFWP5DLFy7M7dmQ== Received: from VI1EUR04FT030.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0e::47) by VI1EUR04HT024.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0e::209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Mon, 19 Apr 2021 19:22:32 +0000 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com (2a01:111:e400:7e0e::52) by VI1EUR04FT030.mail.protection.outlook.com (2a01:111:e400:7e0e::366) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Mon, 19 Apr 2021 19:22:32 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:DFDEDE0A9ADD645446AB27B4EDE54D35D8833441FF008F9A722E979A9AC61364; UpperCasedChecksum:66930779D2C61403B0C8E7DA6C6835E6407FEB7CF40A7CB37E5B7F2FD4B971CE; SizeAsReceived:7493; Count:48 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::45bb:c44f:2b75:23b7]) by HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::45bb:c44f:2b75:23b7%5]) with mapi id 15.20.4042.024; Mon, 19 Apr 2021 19:22:31 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Apr 2021 21:22:21 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210419141024.8174-68-jamrial@gmail.com> References: <20210419141024.8174-68-jamrial@gmail.com> X-TMN: [YIE9K1sV/7e8/TY3aEd6nhiil2KN/3zv] X-ClientProxiedBy: PR0P264CA0213.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::33) To HE1PR0301MB2154.eurprd03.prod.outlook.com (2603:10a6:3:2a::22) X-Microsoft-Original-Message-ID: <20210419192221.961345-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.137.96) by PR0P264CA0213.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1f::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Mon, 19 Apr 2021 19:22:30 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 09e1eb6a-7987-4768-8584-08d903687a42 X-MS-TrafficTypeDiagnostic: VI1EUR04HT024: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: azrs2VaU6rMzTDeZcrdVg6x2sm1Xv3q71mIEqWljzBcFzgLIV0zHR8SjwgYR/164RvUcxp++PCAU2WDdxE3coBcbVgHdOOyHi6xE31UT8moEnxVImmgY5JyUf4z0LyL4zZE7k7fjycb7mwvSM9kSWtcjFDykNTvSrTcQHxXF4cwVUYX/RWtsWaxhITFM8Fe/xHUSsUFpiLZ0dFpNfXPofIGjErd49QvCyNAxFryT+ZZRVLkUSxbUm7aKD6+qsLcFSME74Qc3qF+awxyhUIYv0emREqwXtuZGS0Z++P0AVOK2q5Nm4xiavndguhkeov/G3w86IFWR97Wk4+JkpOuZuu+0PCro5IHSHddMmwQT6UM7fSV1EDC+z+3FAQ/wuurnWfgXdfuMNFpcQDzJUKNRPQ== X-MS-Exchange-AntiSpam-MessageData: pbt2bhKcKpnolWoV35xN7jQnwp5T/SRpI7Gr9EpxjiXS43CYs1M8YQxpdQ3wudw1LBDdgniMnNCuuQ0pYvrGWF4WxnddTsZSiw2+BPk50v2q0tiRIEcx2XUw4plc0SG9uXYeQ0P3+1Du7Xn7RoATTQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09e1eb6a-7987-4768-8584-08d903687a42 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2021 19:22:31.5366 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: VI1EUR04FT030.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1EUR04HT024 Subject: [FFmpeg-devel] [PATCH v2 67/90] 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: qjK+g5SX3Seh From: Andreas Rheinhardt Announced in e435beb1ea5380a90774dbf51fdc8c941e486551. Signed-off-by: Andreas Rheinhardt --- I forgot a printf specifier in tests/api/api-h264-test.c. 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 --- tests/api/api-h264-test.c | 2 +- 17 files changed, 40 insertions(+), 103 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 diff --git a/tests/api/api-h264-test.c b/tests/api/api-h264-test.c index 04bdfbc9d2..6f13e773f9 100644 --- a/tests/api/api-h264-test.c +++ b/tests/api/api-h264-test.c @@ -153,7 +153,7 @@ static int video_decode_example(const char *input_filename) av_frame_unref(fr); return number_of_written_bytes; } - printf("%d, %s, %s, %8"PRId64", %8d, 0x%08lx\n", video_stream, + printf("%d, %s, %s, %8"PRId64", %8d, 0x%08"PRIx32"\n", video_stream, av_ts2str(fr->pts), av_ts2str(fr->pkt_dts), fr->pkt_duration, number_of_written_bytes, av_adler32_update(0, (const uint8_t*)byte_buffer, number_of_written_bytes));