From patchwork Wed Sep 11 18:06:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 35178 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:14c:b0:48e:c0f8:d0de with SMTP id h12csp478895vqi; Wed, 11 Sep 2024 11:06:44 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWif3avsgFkmePnhHsYFHk0NOVsqxQOntUVWfKASmzRn0NMggI8Fz3Qcfeuzt8FAQkYpkZdahRfHz8qN3bLk6xs@gmail.com X-Google-Smtp-Source: AGHT+IHaJOHAM0HIGexJ3N7VFpzay9KEx/xzvIC6yWeKmYsCGvTbyqNc+H1qv1cjP2i32BKkBmpc X-Received: by 2002:a05:6402:5249:b0:5c2:5075:7d1 with SMTP id 4fb4d7f45d1cf-5c413e05ee8mr228318a12.7.1726078003752; Wed, 11 Sep 2024 11:06:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726078003; cv=none; d=google.com; s=arc-20240605; b=PJ71Oxt0fIFIIeQyTowDnBD3Bis7TRJrNg2MQ8ctAyeTRBh0bzVsW2hNBRPJnz/+1l uKXKCsQFvO07TJUXYlBflvdqhltzpaFZlbWxU/eTmtuF8IuhNt18cULmFPMLaho0oo/d 2qQlT8/vby1snz1aQcp7oUCnlbk6PHUdghgSLjeWI6iE4TizYPJOes4xlKVpq7s4q++q ERCR3jXwE/bkh96Jzi8c+vVEPJ/+NhEXJ8SzR3mT2QN7c3kld0VxYdc8vqielX3Hhac/ vZLg3J6EsLWRaZ79ETn0xPiWV5iuJsovY/P4SzUrgUodNYsmbujyuK/pPu3XzM3CFw4J VKew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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:date:to:from:message-id :dkim-signature:delivered-to; bh=dqQcohi/zXLp3jISYe+Y4WH43po156C697xcgJmXytw=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=iF12wnV2LNk2yZsDVwvXBGrocSpior9NdCwemBG/MkA9RrPvgTGOsbzrHFFfN7EyK3 YjtGAMHOITpn4sknQ6zdURKZNvldBr7dvxeh6mzIypE/Wa38zhFSW5FNRuwd/LgdYFBg toMKKRXr/gmI43lZhtOonYbwSVfT7e7gOO9bKW8Pi8GTUx7yycIBVt9DOAweZ8c/DxTe ec3ZtJj07TWUsYXl6eV3IsawFBpxv9xVNwO/Nd1kSFUI27nEbR+aHR7vloBvScIR92WL LBXrCGXDQs0jz8YONaBXdzCQ31cbWuSwWC1WRad/HoTXoL2vn4ulGXhd1FUj2G6Afjlm +oAg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=GMKq899Y; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5c3ebd42eb5si7293820a12.24.2024.09.11.11.06.43; Wed, 11 Sep 2024 11:06:43 -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; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=GMKq899Y; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1314F68E293; Wed, 11 Sep 2024 21:06:39 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-245.mail.qq.com (out203-205-221-245.mail.qq.com [203.205.221.245]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A00CA68E22A for ; Wed, 11 Sep 2024 21:06:30 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1726077980; bh=erztiekntu93+/Tb1VBOPDaB6l035Z9/4bXPor1C7ZE=; h=From:To:Cc:Subject:Date; b=GMKq899Y/1w6EF8Hg646Dy21hqzYryfRTLQkqzPNLHPNBtUu9vVy+n3Y3DmoDF4wO WInMeLNp1kg0FDxfB9VD3NtzgvBzQgUEn8MWkt5mi2VF2R/9oB9e/DJneG+Yz4e51k DFKVydP0KrjHyg84XqeyFhVfU0e/Y33YohEx60YI= Received: from ZHILIZHAO-MB1.tencent.com ([113.118.115.139]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id 19397694; Thu, 12 Sep 2024 02:06:19 +0800 X-QQ-mid: xmsmtpt1726077979tz4plad3g Message-ID: X-QQ-XMAILINFO: MyIXMys/8kCt38Bd07ZJwpraQGzCPUgNqfMniCygrnuuikOQC2U/Ov7Hb+TX60 cK0LNjsO2STuR3cBoOGz0yZwsCi0+l1Fng/vdJxJ/UtSFa/kF2EE67dbjViEqnV3KixYMDmwKwyO y1CUQrYqtDe1ZjIolJ2/jf04bRGn/KnJBLgWVgRUkTHKbk3utQX8kZjt4nWBYNV39nnh7h/8S69x w+Tt+5L+dHuEwndYnk3s0ox5Z7P3zQwRTsDwl7KHiX+lOkShAk0TUc5HgAjzE+Z1Xinkm0+ec9ym Kiypay9jJ+Ju4JeaPncgshw/y/Ri4mJIjG2I396AeYcL/5pbXpa4rBQ4uUqcwclAFKo/ULEeWk9V 6qcfaT6eEpRJ0jhzwi74eDBMYLutsxWfvD3v/7Hcvs61P4CbAgzIbhtiw1jVMdCNFaLJOIw/LXXD 8na0Whpt3SmK3STtD8uZquHrCyU/IsmpLspfzxA2UYYeDR2qW5slYKHrJrnRmThQpLCkLAOQhZvt pHb4R3WnAOi/I4IeVkVxRyE8pT1ZS3Dhde4SfkRI62KVjzDnI5SoFcmmrNfB8okzjAtywYT6Es9s iOy6gM8OK5yeRvb56AxNKKsLPBCzYRldbkM+DAyBmw9eN5EO8eFg9g/Gb+63x8jJeJuUNwOZn0rn rukb7wMIx2JqiFGck77OA6XdNsvsWxzZ2PEppOQYB+E/2BRdZc2ZDmTsfCKkcmQKj1z3Z+QYaOE9 Y5+52cDnUnVyuzpNK6CIzZhEPP0F6ylLg1op7TXZIGuqUmY0KWGeJeVwcloByi1hIVrWaB/9nexV Y0P/S5KWTsZ6BPutXuUORGPZmoBLBZemrokdlfl/JOOFm1sPzfUFMF1z4JIQK7beD8nTyrhpfgsz NDRc6f7Te2Jrk8WQKLVtksHjCuIRMA0WSW2HkidCSgBlo1qlw7dCDP3VJ9i/WyfdjC6Mu93zgIhx 9HkSJwpnOFHsPqb73S7cHVC26uBnztdjK4uK8xdMeYwKfak40mve1+2jPVytPr X-QQ-XMRINFO: NI4Ajvh11aEj8Xl/2s1/T8w= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Thu, 12 Sep 2024 02:06:04 +0800 X-OQ-MSGID: <20240911180618.28921-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 00/14] aarch64/vvc: Add SIMD 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: cHij95/OmSSc From: Zhao Zhili Patches 1~9 has been updated according to Martin's review. Patches 10~14 are new. I have created a PR on github: https://github.com/quink-black/FFmpeg/pull/2 Zhao Zhili (14): aarch64/hevc: Simplify function prototypes by macro aarch64/hevc: Move epel/qpel to h26x directory aarch64/vvc: Add put_qpel_h_* and put_qpel_uni_h_* aarch64/vvc: Add put_pel/put_pel_uni/put_pel_uni_w aarch64/vvc: Add put_qpel_hx i8mm avcodec/hevc: ff_hevc_(qpel/epel)_filters are signed type aarch64/h26x: Remove duplicate b.eq instruction aarch64/vvc: Add put_qpel_vx aarch64/vvc: Add put_qpel_hv aarch64/vvc: Add sad aarch64/vvc: Add put_epel_h aarch64/vvc: Add put_epel_h i8mm aarch64/vvc: Add put_epel_hv aarch64/vvc: Add avg libavcodec/aarch64/Makefile | 4 +- libavcodec/aarch64/h26x/dsp.h | 268 ++++++++ .../{hevcdsp_epel_neon.S => h26x/epel_neon.S} | 404 +++++++++--- .../{hevcdsp_qpel_neon.S => h26x/qpel_neon.S} | 592 ++++++++++++++++-- libavcodec/aarch64/hevcdsp_init_aarch64.c | 227 ------- libavcodec/aarch64/vvc/Makefile | 4 + libavcodec/aarch64/vvc/dsp_init.c | 114 ++++ libavcodec/aarch64/vvc/inter.S | 163 +++++ libavcodec/aarch64/vvc/sad.S | 75 +++ libavcodec/hevc/dsp_template.c | 4 +- 10 files changed, 1480 insertions(+), 375 deletions(-) rename libavcodec/aarch64/{hevcdsp_epel_neon.S => h26x/epel_neon.S} (94%) rename libavcodec/aarch64/{hevcdsp_qpel_neon.S => h26x/qpel_neon.S} (91%) create mode 100644 libavcodec/aarch64/vvc/inter.S create mode 100644 libavcodec/aarch64/vvc/sad.S