From patchwork Sat Jul 27 12:51:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= X-Patchwork-Id: 50759 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:16f:b0:489:2eb3:e4c4 with SMTP id h47csp219460vqi; Sat, 27 Jul 2024 05:52:04 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUl9Ij6LSvwhNjDWn5/awuq55cTDoOQqj/Iqek9xkZdDPlsVCXOFz3PEpEnrafrxTW7ZMIjciaZidjdQlne+nTVG/JHNwJwOhNNDQ== X-Google-Smtp-Source: AGHT+IEsInzgvqEtm8n5q5CWoOs7qTwXt75RqrmI/C/Qj0VpomGNApOt5FEpe3lElQ3YPASX/OOI X-Received: by 2002:a05:6000:ad2:b0:368:6f64:307c with SMTP id ffacd0b85a97d-36b5d045914mr1976260f8f.15.1722084724364; Sat, 27 Jul 2024 05:52:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1722084724; cv=none; d=google.com; s=arc-20160816; b=sYUA9e7q0ghjRUFDNYL9uFB4Lcj4Sb4wifEZqGFRJJDKCw2dhQpyFiFSRvTxfSsIV3 VZWykFEGAOE//dfRMGOi+XN76jJ6rBf/tbakrcWoOG8+uXxYRFB0fdAgeP8VrA9paHOU YbkFB9ZYK1K7dtSenNGufnbaS0OVo1pIPwLcBGkiP/uV533+3sS9bWXkC57Qj2npzW2W q7/wmVgwKrlx1DYGgjIdvAcX+WqRybdOYjsIbuE/lU1D3dHY2UqB+rJC5of1LEPv0QxW x914AXJsmS8QFddEZNORHMGvrGhWcFpvrCi56XuUxJ0/rU6lbO3hsoCwOVKW6oHw145+ U20w== 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 :delivered-to; bh=80GMEwbrlsrELWZghlbWZO8xad6Jut2KHntiOwnMU1g=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=yqg1xGzYCk3ZFwNGnItvp4LJfjB7TSNtnGxbCK6W6U4MtBPEnSD1OYAkFoIInjk3QQ e616YF96CDDRYyya2c2gBVu+f5f44jpSDMuZfddaRoX3TyO/DC5/m/VguQvrD2TmV5JF sG270Z3TntTmLKSW9ZlhDyoLb6M3sdaWUHQVoKHUxZUxLRMV0uEoEvzUHXKuXkOtXWO/ KQLWitzdNntEUM7bJJUJDbIG63XxXrQvZiEmBaqzkqouMWvsw49pFzwoA2QTkA3kNvRL PzJyBemnvoDqDBsx5SwJsW7PnCo7YtiU6oiwo/oe7KOky/69wKlk/ykaV2f5m17WjYF4 1ICw==; dara=google.com 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 a640c23a62f3a-a7aca7ab301si361826966b.62.2024.07.27.05.52.03; Sat, 27 Jul 2024 05:52:04 -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 AC28A68D645; Sat, 27 Jul 2024 15:52:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D3B1568C736 for ; Sat, 27 Jul 2024 15:51:53 +0300 (EEST) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id F166FC013E for ; Sat, 27 Jul 2024 15:51:52 +0300 (EEST) From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= To: ffmpeg-devel@ffmpeg.org Date: Sat, 27 Jul 2024 15:51:52 +0300 Message-ID: <20240727125152.55694-1-remi@remlab.net> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/1] lavc/ac3dsp: fix R-V CPU requirements 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: t+sadTCy+s80 It probably will not matter on any real hardware, but the Zbb optimisations do not require Zba. And then, we need HAVE_RVV to build the RVV stuff. --- libavcodec/riscv/ac3dsp_init.c | 36 ++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/libavcodec/riscv/ac3dsp_init.c b/libavcodec/riscv/ac3dsp_init.c index f66b6cac57..24b3881854 100644 --- a/libavcodec/riscv/ac3dsp_init.c +++ b/libavcodec/riscv/ac3dsp_init.c @@ -41,26 +41,32 @@ av_cold void ff_ac3dsp_init_riscv(AC3DSPContext *c) #if HAVE_RV int flags = av_get_cpu_flags(); - if (flags & AV_CPU_FLAG_RVB_BASIC) + if (flags & AV_CPU_FLAG_RVB_BASIC) { c->ac3_exponent_min = ff_ac3_exponent_min_rvb; - if (flags & AV_CPU_FLAG_RVV_I32) + c->extract_exponents = ff_extract_exponents_rvb; + } + +# if HAVE_RVV + if (flags & AV_CPU_FLAG_RVV_I32) { c->ac3_exponent_min = ff_ac3_exponent_min_rvv; - if (flags & AV_CPU_FLAG_RVB_ADDR) { - if (flags & AV_CPU_FLAG_RVB_BASIC) - c->extract_exponents = ff_extract_exponents_rvb; -# if HAVE_RV_ZVBB - if (flags & AV_CPU_FLAG_RV_ZVBB) - c->extract_exponents = ff_extract_exponents_rvvb; + if (flags & AV_CPU_FLAG_RVB) { +# if HAVE_RV_ZVBB + if (flags & AV_CPU_FLAG_RV_ZVBB) + c->extract_exponents = ff_extract_exponents_rvvb; +# endif + if (flags & AV_CPU_FLAG_RVV_F32) { + c->float_to_fixed24 = ff_float_to_fixed24_rvv; + c->sum_square_butterfly_float = + ff_sum_square_butterfly_float_rvv; + } +# if __riscv_xlen >= 64 + if (flags & AV_CPU_FLAG_RVV_I64) + c->sum_square_butterfly_int32 = + ff_sum_square_butterfly_int32_rvv; +# endif # endif - if (flags & AV_CPU_FLAG_RVV_F32) { - c->float_to_fixed24 = ff_float_to_fixed24_rvv; - c->sum_square_butterfly_float = ff_sum_square_butterfly_float_rvv; } -# if __riscv_xlen >= 64 - if (flags & AV_CPU_FLAG_RVV_I64) - c->sum_square_butterfly_int32 = ff_sum_square_butterfly_int32_rvv; -# endif } #endif }