From patchwork Mon Dec 18 15:16:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: flow gg X-Patchwork-Id: 45229 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1225:b0:181:818d:5e7f with SMTP id v37csp7402102pzf; Mon, 18 Dec 2023 07:16:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IG3B+TYMCso04Pmzm0j3tt6vHHJ+pZJPEw0bN8d6wiSddcmFUHpSVi+T0NEiepIEbz3Qlg+ X-Received: by 2002:a05:651c:1a0c:b0:2cc:767d:e2ac with SMTP id by12-20020a05651c1a0c00b002cc767de2acmr1392566ljb.0.1702912583843; Mon, 18 Dec 2023 07:16:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702912583; cv=none; d=google.com; s=arc-20160816; b=Y6PZplI6U9XMsv4RD/mQII1kf0u3bxUVhVRN16vDtgxi2RK4f+OuvVALqSZmfGLJ/8 9LQIlP9Dsp8LySdVyjV4nQ0eXWrw5wQ8dE+5venxS/kW5e57Vbk1g+xiY57YBWbp6FG3 HbZWgFzoSLMXQK2gxMoJINxxIz/aGiCTK8DNUk4JcJDctqfDxMff9Qba+Nr7gw/ZxGtD i5XjWqJpTS1LyMykZoh0TQ8hMAsJ//bOShUxb8Z8cqFGHf5t3ZNxCq8/dkCUM6wS0C1U Of3cHo6nzeG5L0e7BWj4TZ7YODT4chlUgQ+udFlpy+bVS7zU9zMy+GQEgYS6H7yHGTDK c9Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:mime-version:dkim-signature:delivered-to; bh=Lj0BQ6KOUKE6Rf8k3ZTHkj9wYFf4ViqcelwWQ3Td7+Q=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=HrT4FO9dHGB0Daynnz/lkl8z1nuqRzSd0GRixsQ7ZKpOETWhmAZ3BRIv8UbiIjXWDi pcWth3FKkIflwglQVnq/EKWisSjnI+1cwaqy+0DXAt7dwBb4BFWXKYsfQ58TecTh6Ft7 tZjfoMs1Zv6VllJvNVq3lJMgu/qMnaK3C6obsThtFumGOmREXy/LGSs143uqlePhKWKp GChFvmo3VkGEQ7QlLAmssaFq4LBX4eTFujXc1DrJPWmuIXEtob0eYJSgs5zsFwVGWRs1 X71750Btog3DPfvpVLdhTsklAdQf6+me3kgToswrlJLVGUJkXBHgvIhw6ckj7e2ihm+m qwBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b="CpBa/gJl"; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u15-20020a50c04f000000b00552eb91d465si2597046edd.550.2023.12.18.07.16.23; Mon, 18 Dec 2023 07:16:23 -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=20230601 header.b="CpBa/gJl"; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5596A68D2C3; Mon, 18 Dec 2023 17:16:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2734468CFAA for ; Mon, 18 Dec 2023 17:16:15 +0200 (EET) Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-67f27b7f412so21282396d6.3 for ; Mon, 18 Dec 2023 07:16:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702912573; x=1703517373; darn=ffmpeg.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=C0EJtPVYnpalwFfjt1Tn9aKrwZw9Q4xXDp7FI1ZwDfg=; b=CpBa/gJldQeVxo99TFXJ3joSUtebyV5zSNcfFYd9YnR/CZCX7LaFPkPrpk3jp3Wt5W wyBBSNWQROwMOdG2ODCpBAszsXsZELKexlXrD4YEpUBpzSKwnalguIFC5992kg0vpgtt 1cGU4t5OsqyNnO7E2FYlOjSBTngHWViDtXAK+pGDa1VGyVqfEuSqrWkpFUmkjFFbXkxH GLs162A6AKAYzbVeUoGRfBFJaWsvNmtyZ+wxnv3WJlpNNfYaqTeqy/sJxKyKPJIE2G+J h3Qlr5ZRBj9UZjp0uqefcsPaKsRVPhEhOtxYVSjmJ7Y5CT/ScFVwl8WdRETCg2ttrmcp 1ZgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702912573; x=1703517373; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=C0EJtPVYnpalwFfjt1Tn9aKrwZw9Q4xXDp7FI1ZwDfg=; b=e3pu58t4+augDUROUl5iAkKstGHxZr9J25/6tS4bCQf77uIh2u2bKbZc/RCOLVkNnC S6eC3C8l7LhCKJNBEv9FsZgGCQE6Vt1iJZ0WuFqFCGEF5Xd0Tt5w85Xh0qxJnU/07FCj xa1bZ2TUzV9AuNB4893meyOr/PYLjNQXUhU4qbZjZD3aEsHldqYS3CgYYNXR17UAILmV ZigSZsWlxWlgMyiUTI7QROeOekpqtWu96X+t6dzp4sVjiiAAM1JxEGsz4+HzAyaaW2k6 zyMPObCZX8h0wtHQogy0Se8L133ic7/7uth6d+D7fhHzl4vmmSPUmpOdTnzNTMm4ZWSb 1BUw== X-Gm-Message-State: AOJu0Yz0cAyQEJzRSRcxKyg3LamLPPTx7eBor8cq+iw8QYLdRWLL1ebt n9iWm/psk39f4ws8dUw3DpEhisN16TAEVX5fUkQO3KchrdwuWYWC X-Received: by 2002:a05:6214:1bc7:b0:67f:3541:6dff with SMTP id m7-20020a0562141bc700b0067f35416dffmr5139723qvc.13.1702912573605; Mon, 18 Dec 2023 07:16:13 -0800 (PST) MIME-Version: 1.0 From: flow gg Date: Mon, 18 Dec 2023 23:16:02 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH 5/6] lavc/takdsp: R-V V decorrelate_sr 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: RRmgM+MbWhR6 C908: decorrelate_sr_c: 95.5 decorrelate_sr_rvv_i32: 28.2 From fa1a84337a7cd2a62c26a9d5f8d707a97e917f77 Mon Sep 17 00:00:00 2001 From: sunyuechi Date: Mon, 18 Dec 2023 22:52:20 +0800 Subject: [PATCH 5/6] lavc/takdsp: R-V V decorrelate_sr C908: decorrelate_sr_c: 95.5 decorrelate_sr_rvv_i32: 28.2 --- libavcodec/riscv/takdsp_init.c | 2 ++ libavcodec/riscv/takdsp_rvv.S | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/libavcodec/riscv/takdsp_init.c b/libavcodec/riscv/takdsp_init.c index fcf0c5f37b..0b4ec18086 100644 --- a/libavcodec/riscv/takdsp_init.c +++ b/libavcodec/riscv/takdsp_init.c @@ -26,6 +26,7 @@ #include "libavcodec/takdsp.h" void ff_decorrelate_ls_rvv(int32_t *p1, int32_t *p2, int length); +void ff_decorrelate_sr_rvv(int32_t *p1, int32_t *p2, int length); av_cold void ff_takdsp_init_riscv(TAKDSPContext *dsp) { @@ -34,6 +35,7 @@ av_cold void ff_takdsp_init_riscv(TAKDSPContext *dsp) if ((flags & AV_CPU_FLAG_RVV_I32) && (flags & AV_CPU_FLAG_RVB_ADDR)) { dsp->decorrelate_ls = ff_decorrelate_ls_rvv; + dsp->decorrelate_sr = ff_decorrelate_sr_rvv; } #endif } diff --git a/libavcodec/riscv/takdsp_rvv.S b/libavcodec/riscv/takdsp_rvv.S index 00e8e38fdf..65c79e1aa9 100644 --- a/libavcodec/riscv/takdsp_rvv.S +++ b/libavcodec/riscv/takdsp_rvv.S @@ -33,3 +33,17 @@ func ff_decorrelate_ls_rvv, zve32x bnez a2, 1b ret endfunc + +func ff_decorrelate_sr_rvv, zve32x +1: + vsetvli t0, a2, e32, m8, ta, ma + vle32.v v0, (a0) + sub a2, a2, t0 + vle32.v v8, (a1) + sh2add a1, t0, a1 + vsub.vv v16, v8, v0 + vse32.v v16, (a0) + sh2add a0, t0, a0 + bnez a2, 1b + ret +endfunc -- 2.43.0