From patchwork Sun Dec 17 12:36:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Martin_Storsj=C3=B6?= X-Patchwork-Id: 45188 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1225:b0:181:818d:5e7f with SMTP id v37csp6782542pzf; Sun, 17 Dec 2023 04:36:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IFuivegcepm0Hq9qBr8//GznKst3tS2/SrjCXfaoNgjZuqKAfei1AiIB3z+BViWqyvz9JiZ X-Received: by 2002:ac2:4c54:0:b0:50b:f3fa:acc2 with SMTP id o20-20020ac24c54000000b0050bf3faacc2mr7871086lfk.20.1702816580717; Sun, 17 Dec 2023 04:36:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702816580; cv=none; d=google.com; s=arc-20160816; b=AEd82Fx0nfJzO1sefxJmblJw7EXQVEfndD45Fpm2Vj9F5bNfqT7qKLlceTfU3aIIQq 6bG+mmr5wF546ib2IZTZ4sBiIIAih+cUuU4fBb3yKT0apuzFEpw/XClFdihT4slsvN1/ NegVPL7uSNUljAIayIRuELrBxXN6aap1SeP0ZbZZORkVXZw30fD09biw8x7htdz54iuM OiZdf7u3JUsHze/kvpKwio4oT0ioGQkTFXzCbIEhL4R9npOF792a7OfKpzjSjRwORUP3 fDtC1vKMGckMrTsnAaYCu5nv1KiKFBzHA2MKrElB9lbYzm6/rSByLmzC/JVQHzoze18d eJ5A== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=bZf4JXK4auIbNfy9oJOtdHtIyb5cIXpy2TgjH2Rg/RM=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=vUUrJ/4JNo7hmOho1herjceL5loajSUDN+R6QPi8RT3ZBcS4tfStgodBM7NTLTa+Jl +/M2qo0GeEqfTJf5Zk613dyeaEciwhkfNsPoVvGuPmmXLT0FNZ7nkKjIo/Qxn1f81b9b FJeG2HaulGFAzJsq9ENb+B4zQ/tV4Xlh+TRHHR/lG8GE3vssXWQVcqahvkJHbczSHVSg 2Z9CYRtu4+xfCrnvF4AkutXcXAdjvPQYJv5XWCcEuODRr6N8AZrjxKTVfG2464C2wTrX jOt7a4uJBAC8Hw2uBIY6RsSoAbZOOkAHdZzbWc3CPEsLqcjSKA6DksNL7pzKnkbWxd1g sjWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@martin-st.20230601.gappssmtp.com header.s=20230601 header.b=MPXqyg8c; 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 p27-20020a1709060e9b00b00a233a6103f2si747522ejf.153.2023.12.17.04.36.20; Sun, 17 Dec 2023 04:36:20 -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=@martin-st.20230601.gappssmtp.com header.s=20230601 header.b=MPXqyg8c; 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 B315968D13C; Sun, 17 Dec 2023 14:36:16 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 67DEF68CFDA for ; Sun, 17 Dec 2023 14:36:10 +0200 (EET) Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-2cc6b56eadaso3433551fa.1 for ; Sun, 17 Dec 2023 04:36:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=martin-st.20230601.gappssmtp.com; s=20230601; t=1702816569; x=1703421369; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=LttSMojDwjgETp0MwaOMOU5W3gUKbRP8QGRx52kt6q0=; b=MPXqyg8cgBeM0eITRYfSJpzB4QTHIku/sPaVGJVnZq39WBdrZa6jKaIn6RxQkIWvoH H0HOceO9lKMiF+t3uzkUeA2HZYTcbMlgkUVE7QLX3oZUODaRw8JhvspetBIdvXKuMRL2 vJOXjnTaWPHV1Vl3Y1wRQj1GUSfWLx6epIOpfLpD4T4d0UcvxnsIFwt/4pnOkdp8HOtO beCU0pQ41BeXcEUgSfhPcCGXpxbKFaToUVIXcvrWcv9J4rN4XU+5wV7fE7xC3gSUiIiZ +4fh/mpzrvGkDffAihQBFelGeLTObkzu0bwCAIgDE/A+Yr3JdYYBUvV6WoIG9fF7K2DS 85yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702816569; x=1703421369; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LttSMojDwjgETp0MwaOMOU5W3gUKbRP8QGRx52kt6q0=; b=udKt02ljfAdGF1iof5PD6z4k+NMtn+fbn9ZExfal2pacjYbE+GP2Ev1/hrao0hwSR1 W2vOoYZvp1NKqPw0xvqAJ//9uPBj2T8K6641670NMj+fPrcArDfHOcEnXVtUaTY0EdHR n2CPu5pLw9fXdwvsl+FEO2RXw1RjWqHFAcyMGl1QpWQgMY0u3LuGDyRe53QeIyumRBiu O+Qh7dsFzNWfn2IRiPYDhtyO3stOuobL4/1EFPF6GcR7ZK/zuS/Gg7ZpT8fSjs9wZgmv A/HUVQwmHV5yjq5pdxueUBRSX3eOv+osZXbSWkWPRCzlyOgyelPgWald3RKwWo1QzWaG lVTg== X-Gm-Message-State: AOJu0YwDgCIfcTQXAjyfdnLwehGKkwjczW0Qf6ksczdyCWuwhDrEDWym AMD2G2Uxjmsw59qDkcK8edGEEHPfoECMcUBcgBAfiA== X-Received: by 2002:a2e:a286:0:b0:2cc:4568:f520 with SMTP id k6-20020a2ea286000000b002cc4568f520mr2198273lja.88.1702816569052; Sun, 17 Dec 2023 04:36:09 -0800 (PST) Received: from localhost (dsl-tkubng21-58c01c-243.dhcp.inet.fi. [88.192.28.243]) by smtp.gmail.com with ESMTPSA id cy20-20020a2e9a14000000b002cc4ab0c174sm839971ljb.81.2023.12.17.04.36.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Dec 2023 04:36:08 -0800 (PST) From: =?utf-8?q?Martin_Storsj=C3=B6?= To: ffmpeg-devel@ffmpeg.org Date: Sun, 17 Dec 2023 14:36:08 +0200 Message-Id: <20231217123608.2839656-1-martin@martin.st> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3] riscv: Tweak names of cpu flags, print flags in libavutil/tests/cpu 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: b/d3KYR1ODeN The names of the cpu flags, when parsed from a string with av_parse_cpu_caps, are parsed by the libavutil eval functions. These interpret dashes as subtractions. Therefore, these previous cpu flag names haven't been possible to set. Use the official names for these extensions, as the previous ad-hoc names wasn't parseable. libavutil/tests/cpu tests that the cpu flags can be set, and prints the detected flags. Acked-by: RĂ©mi Denis-Courmont --- v3: Fixed the name zve64d. Kept the cpuflags names all lowercase for consistency with the other cpuflags. --- libavutil/cpu.c | 12 ++++++------ libavutil/tests/cpu.c | 10 ++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/libavutil/cpu.c b/libavutil/cpu.c index 1e0607d581..48d195168c 100644 --- a/libavutil/cpu.c +++ b/libavutil/cpu.c @@ -186,12 +186,12 @@ int av_parse_cpu_caps(unsigned *flags, const char *s) { "rvi", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVI }, .unit = "flags" }, { "rvf", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVF }, .unit = "flags" }, { "rvd", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVD }, .unit = "flags" }, - { "rvv-i32", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_I32 }, .unit = "flags" }, - { "rvv-f32", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F32 }, .unit = "flags" }, - { "rvv-i64", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_I64 }, .unit = "flags" }, - { "rvv", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F64 }, .unit = "flags" }, - { "rvb-addr",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVB_ADDR }, .unit = "flags" }, - { "rvb-basic",NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVB_BASIC }, .unit = "flags" }, + { "zve32x", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_I32 }, .unit = "flags" }, + { "zve32f", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F32 }, .unit = "flags" }, + { "zve64x", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_I64 }, .unit = "flags" }, + { "zve64d", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVV_F64 }, .unit = "flags" }, + { "zba", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVB_ADDR }, .unit = "flags" }, + { "zbb", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_RVB_BASIC }, .unit = "flags" }, #endif { NULL }, }; diff --git a/libavutil/tests/cpu.c b/libavutil/tests/cpu.c index 200f20388a..d91bfeab5c 100644 --- a/libavutil/tests/cpu.c +++ b/libavutil/tests/cpu.c @@ -84,6 +84,16 @@ static const struct { #elif ARCH_LOONGARCH { AV_CPU_FLAG_LSX, "lsx" }, { AV_CPU_FLAG_LASX, "lasx" }, +#elif ARCH_RISCV + { AV_CPU_FLAG_RVI, "rvi" }, + { AV_CPU_FLAG_RVF, "rvf" }, + { AV_CPU_FLAG_RVD, "rvd" }, + { AV_CPU_FLAG_RVB_ADDR, "zba" }, + { AV_CPU_FLAG_RVB_BASIC, "zbb" }, + { AV_CPU_FLAG_RVV_I32, "zve32x" }, + { AV_CPU_FLAG_RVV_F32, "zve32f" }, + { AV_CPU_FLAG_RVV_I64, "zve64x" }, + { AV_CPU_FLAG_RVV_F64, "zve64d" }, #endif { 0 } };