From patchwork Tue Jul 27 14:48:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas George X-Patchwork-Id: 29064 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a11:4023:0:0:0:0 with SMTP id ky35csp4919454pxb; Tue, 27 Jul 2021 07:48:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyB/pZh0qPojghwXPgJ3Hi9DyQE0X69yt8THx1sZOvljwf1SLSDYdPefT3cifzgmY0juhrD X-Received: by 2002:a50:9ae3:: with SMTP id p90mr101606edb.154.1627397321807; Tue, 27 Jul 2021 07:48:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627397321; cv=none; d=google.com; s=arc-20160816; b=rPVnTajPP4EqqlYD6ULMDSvGpG7ERueQDaEpAS6Im5Cbm81vbJaFp3CwyRKOrpUZlj sYJqpyikHljIOl41VYl9KlOunxA4wsUoQC1wAh/h6s0ux4JGa33qoQL8Mc5J7ODcUfHE tPm1IW8WXaVA1PchtQw1PaKr7V/c+KhqeWT5rUBFbB4qGK1fj0K98sYg9Bipim6pSrwq 28iGb0aYeGbrysuyAng774AL0yqv8moZWMsYh3kBs5ylAJv3vTz7/XWEZmbOEoebkiZj xcfPc0UzZFuHdSKxra+L6cFsiJpGIWcSS9yxtm3B3Jq2tOWqbmDMcMEL9bWAAFROidwa vEGg== 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:delivered-to; bh=vdX3QLIjUDanBfTs/9BLD07rgkBF9761QnJS93hbq+Q=; b=gbgCrJ3vZGFtJVfRbZAoVi9O7f4fc6cloh4+cmenXuzG6ayEsMxCZHrx4DE5KhE8L0 nTzZ+YPiRASEDCgYgX+CwWM91CEqcnKtiFCNDZHfhVM3rJ7K88NB7RvA875jxSiw9rX7 IBfm/h8dvdGzH845+xwV+FC8vhigxZEjHOedxu+GxYCqbo2PWOV2R7iJKA3bm2UAZEh4 qG9ODKMDPaHZIlFQ4QJb0d0eYF6sMPy+hlLlrs3EtK1OmJB50s9zpcfbFQF0Niiqa66N 9NM32U1QwtJ3L7qWgSbc5UfkLzWwTbBqYz/kYlltdwiMQ2pgERrQ6KV1LRzQyS0Tc8K9 G++A== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id rh9si3272454ejb.525.2021.07.27.07.48.41; Tue, 27 Jul 2021 07:48:41 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C56F26808E6; Tue, 27 Jul 2021 17:48:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from nef.ens.fr (nef2.ens.fr [129.199.96.40]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0AE4168072C for ; Tue, 27 Jul 2021 17:48:16 +0300 (EEST) X-ENS-nef-client: 129.199.129.80 ( name = phare.normalesup.org ) Received: from phare.normalesup.org (phare.normalesup.org [129.199.129.80]) by nef.ens.fr (8.14.4/1.01.28121999) with ESMTP id 16REmG1P026188 for ; Tue, 27 Jul 2021 16:48:16 +0200 Received: by phare.normalesup.org (Postfix, from userid 1001) id 392EBE0027; Tue, 27 Jul 2021 16:48:16 +0200 (CEST) From: Nicolas George To: ffmpeg-devel@ffmpeg.org Date: Tue, 27 Jul 2021 16:48:04 +0200 Message-Id: <20210727144813.452917-2-george@nsup.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210727144813.452917-1-george@nsup.org> References: <20210727144813.452917-1-george@nsup.org> MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (nef.ens.fr [129.199.96.32]); Tue, 27 Jul 2021 16:48:16 +0200 (CEST) Subject: [FFmpeg-devel] [PATCH 01/10] lavu/internal: add hex to int functions. 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: eCzF2PzAM+cn Signed-off-by: Nicolas George --- libavutil/internal.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/libavutil/internal.h b/libavutil/internal.h index a33e8700c3..ba221438ed 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -291,4 +291,38 @@ void ff_check_pixfmt_descriptors(void); */ int avpriv_dict_set_timestamp(AVDictionary **dict, const char *key, int64_t timestamp); +/** + * Test if val is between min and max, inclusive. + */ +static inline int ff_between(unsigned min, unsigned max, unsigned val) +{ + return val - min <= max - min; +} + +/** + * Convert a hex digit to its value, -1 if not hex. + */ +static inline int ff_hexchar2int(char c) +{ + if (ff_between('0', '9', c)) + return c - '0'; + c &= ~('a' - 'A'); + if (ff_between('A', 'F', c)) + return c - 'A' + 10; + return -1; +} + +/** + * Convert a hex digit to its value, -1 if not hex. + */ +static inline int ff_hexpair2int(const char *s) +{ + int a, b; + + if ((a = ff_hexchar2int(s[0])) < 0 || + (b = ff_hexchar2int(s[1])) < 0) + return -1; + return (a << 4) | b; +} + #endif /* AVUTIL_INTERNAL_H */