From patchwork Fri Feb 4 20:16:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 34127 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp3722393iov; Fri, 4 Feb 2022 12:16:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJxABTmcYYGfeF3rONByP1KJqSN/8uvaOfYHfj/lNUeLAQPuqrTiWx0jgHe0gDm5+75S/tSm X-Received: by 2002:a50:ab10:: with SMTP id s16mr878020edc.382.1644005802745; Fri, 04 Feb 2022 12:16:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644005802; cv=none; d=google.com; s=arc-20160816; b=IYMtm1UN8w/551aq0B0VM/FG68NiL3X05/35wqYfIgFQwigdXy4SkECfcO3ubksyQ8 sowLBndxp+EKYFpOArTC7BpX2FNNp9vHwx3m9Mv91KTk/6lnddX/5H8mKGyJ2txAxhCy hIacDBbKb6re+xNX//a84OPIJsqclE+Q1qWkmHr/TrWNGy5YIc06gAPxI4NGK+H44WsK qMLSyXJXmvjmYerALqg0QFVvk4dwIBwe3bcPIg/A4jLU0dLRNsUTZWlEZritraMoqGDn dTRN8oTGIZv09dXy7WRQam1am0HVIsSwYBnlb9NkSTVnUhZzF1ASu/qrApJ5sTrz8Csq AcUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=YUzPhz6S9ZWdUYvdPpSWIbzT65I0TfW3zNxM7CEKpI4=; b=n/WCj3/Gk0RBovyLQOhNEQgOquNLYKv0uCz5xzMz8MKyI9sfYzj+9EjAG8ADz8LnoE 3XvpfWvze+EHlt7zwtAQ5arcvwx6yp/DU/5Lr0OFTCVI3h791A6arOWoJAMsyzj1NjMy woUOuuMjVtX3YKtOgvvgdfTSyOiLRQzoiKlWlEawbtTDMxZdnPLp/8OcJLksybvBymxS sOsGRV3CUd1+UVM6Da4QmEj/e//G0cFH3/r7jTXe8iGg1adC1DcWOlH5u6e1zrnAYU83 Utcoi/9WovyH8hQTS14FKODQ6b/2qMrs+AmpEzq8qhgxTclz8ek1WNgh09nNOAO2ArgK vu4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=JUZQOV7v; 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 13si2051655ejg.306.2022.02.04.12.16.40; Fri, 04 Feb 2022 12:16:42 -0800 (PST) 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=20210112 header.b=JUZQOV7v; 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 BC45A68B2A6; Fri, 4 Feb 2022 22:16:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A820B68B25B for ; Fri, 4 Feb 2022 22:16:30 +0200 (EET) Received: by mail-pf1-f170.google.com with SMTP id c194so5990266pfb.12 for ; Fri, 04 Feb 2022 12:16:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EV8lsbjFjCaSQIY+62CIteSDJUzymGhuwwKixCuG4kU=; b=JUZQOV7vlfGSRDsT4IC/h1yfVoAHdvbQtEIopt1TQyQBqdqdtBPQEoVRbCW8jPoDIW zXtt0aox552s9L6z9EiPQAMa6dhVJY7FUfpA5I3fRksKIDdFgANANvR1Z+8SnFBEL75E 7S9B+Sm8gxyM5bDzbvkWlLufZ9Ijn2BMQFF/09X7thZLXLXIzlFlU5fxYTm1JZ3sAosZ WPb5a/1A2d1UCEEEpUd7Is50DfT4Oc/kt0fvHBIb8o0/U4vUjv552K7ZYHTnUemxOLLv LNoRxs+MLgS7Nb8vxrt2kcd+kd3hJIAZhcYXcDFN5wK/tAKSzMiz5Uci9et6/+lkd2XQ DLAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=EV8lsbjFjCaSQIY+62CIteSDJUzymGhuwwKixCuG4kU=; b=V5A1TLwq8LjAuFkhJ4r/Lbv20HZvQrP8B8Sahe0SqJYNxIKO57ASEH96HbZpEyUT0m 6ncjglYhV3+v+muI/JSCwnALnmNvPii468d2mUvYABlmpmF6t07VRm2bx23nblUO0CMH fAQeMXljt2uOlPi8YcF22FcYuIRNSbNHCnMHG+TM0h4YV81W68AiHqnNH1YgzBGtMxKp cY0omnPtazo9Lp0igY1kb5t8exLjjtklMZKz3jPhDwOVEQJcbXeLcIn1ihwGn9FBg/Vx qBSaCcHf8Xup9NlkgkW7qmdZOUH1L7tvFCe4NV86TSHx8h3VhcrLcH3hv0qmNCJyEaBw ma/g== X-Gm-Message-State: AOAM531/Og6SZyAHZw2rFUhXRNrEeMQvOBSgpnHA1bp87N2bNNiLQvr7 4TTMYyrgsAa7n0m0b6+9H6t58+zkOhQ= X-Received: by 2002:a63:c17:: with SMTP id b23mr547832pgl.45.1644005787668; Fri, 04 Feb 2022 12:16:27 -0800 (PST) Received: from tmm1-imac.lan ([2600:8802:5501:308f:68d4:f3c9:ed4b:e108]) by smtp.gmail.com with ESMTPSA id f22sm3580865pfj.206.2022.02.04.12.16.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Feb 2022 12:16:26 -0800 (PST) From: Aman Karmani To: ffmpeg-devel@ffmpeg.org Date: Fri, 4 Feb 2022 12:16:21 -0800 Message-Id: <20220204201621.20125-1-ffmpeg@tmm1.net> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil: use getauxval on linux/android for CPU capabilities 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: Aman Karmani Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: uv6/OKN1MEfY From: Aman Karmani fixes #6578 Signed-off-by: Aman Karmani --- libavutil/arm/cpu.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/libavutil/arm/cpu.c b/libavutil/arm/cpu.c index 81e85e2525..983e5a4d83 100644 --- a/libavutil/arm/cpu.c +++ b/libavutil/arm/cpu.c @@ -36,6 +36,7 @@ #include #include #include +#include #include "libavutil/avstring.h" #define AT_HWCAP 16 @@ -48,6 +49,15 @@ #define HWCAP_VFPv3 (1 << 13) #define HWCAP_TLS (1 << 15) +static int get_auxval(uint32_t *hwcap) +{ + unsigned long ret = getauxval(AT_HWCAP); + if (ret == 0) + return -1; + *hwcap = ret; + return 0; +} + static int get_hwcap(uint32_t *hwcap) { struct { uint32_t a_type; uint32_t a_val; } auxv; @@ -106,9 +116,10 @@ int ff_get_cpu_flags_arm(void) int flags = CORE_CPU_FLAGS; uint32_t hwcap; - if (get_hwcap(&hwcap) < 0) - if (get_cpuinfo(&hwcap) < 0) - return flags; + if (get_auxval(&hwcap) < 0) + if (get_hwcap(&hwcap) < 0) + if (get_cpuinfo(&hwcap) < 0) + return flags; #define check_cap(cap, flag) do { \ if (hwcap & HWCAP_ ## cap) \