From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 4AB1B40FCD for ; Wed, 13 Jul 2022 08:04:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 42F8268B8AD; Wed, 13 Jul 2022 11:04:41 +0300 (EEST) Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 268CA68B6EC for ; Wed, 13 Jul 2022 11:04:35 +0300 (EEST) Received: by mail-wr1-f47.google.com with SMTP id z12so14337135wrq.7 for ; Wed, 13 Jul 2022 01:04:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=qunlpH+B74Rn/EpmVl5VgQDpzHvfmJ1aRDxd9QCHf5Y=; b=lf8Vo/mpno8zS8CPB/DwDzNEofzCHpluvIfeThw6u0RNjn0fih5xwMJ6wtifFgeTh9 ZdtaGMlO2lyBhZZFGrBMJrqvZeIr2fjTMtIINZ6/RIph5bMZfSkZ7i6LxgIksU1g0XAW iRCYxzljT1IMDQPWc8J5eQ+CqFh3rhDD8kqse5VOidfsM4Q7bmms9xUXVOvlgMS2RASW Fg8XGGsMou+at9yemQVAXbu19G3WAJXlqManMh1MQrvkN0hreZCYI3wQKjAcL939S+Rk 0sNToojFPQlyx0yN1zeJXc+BLzGP8Duo6erflEkfmW+8rLobOl4kJwpyqrO/53TeDuAD JP5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=qunlpH+B74Rn/EpmVl5VgQDpzHvfmJ1aRDxd9QCHf5Y=; b=BqTm+cEZ+yKuxMsi4SLA33nf1rDSmkiUF5aUuDnYl5uT5r2HU936kkISjgFh4m5Wcj SBO21W6dIocUZwUfh2pANJi++qqChkbII7DZQBglEChyojddn6tTsAcNlKUOTsM+B8os /hRNxeMZfqi7XX5jSk5KbAjB+5M1zsly6Zu4r2+cR/jAnhpkCMiBO98V+qkdMRvxIRpy prE50pslM7jcWxvjHBLQgkpsXZbvvumPE5ckx5N524ySqX6nhz/7+m8DoorHQCXiDyhm mWTv3/+uWZsOoDkgfzK/uhPCJAWIgc+1EZJuh3hwhb7AZl9zPWueBPXU27ouYs+6GX66 RuRw== X-Gm-Message-State: AJIora/kO72gN+O5P97YRKP6fbFH+hTaXUZgv/PM8XErnpgIr+otTKPC X2OnzVagLh5GszQ8dpsR/HI2IxI8mv4ujZvzR0BDRVt8P1g= X-Google-Smtp-Source: AGRyM1t9Jd5W9XhoW/vbFE35sS3mg/AW7We6+GRWfOrpXr9fYpBad8HcsmSEpX1Uo4uB8i8Zq6Tx9hxeiOpFLXVZRyk= X-Received: by 2002:a5d:6501:0:b0:21d:85ce:6b91 with SMTP id x1-20020a5d6501000000b0021d85ce6b91mr1949843wru.5.1657699473885; Wed, 13 Jul 2022 01:04:33 -0700 (PDT) MIME-Version: 1.0 References: <20220426080002.404023-1-alankelly@google.com> In-Reply-To: <20220426080002.404023-1-alankelly@google.com> From: Alan Kelly Date: Wed, 13 Jul 2022 10:04:22 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v2 3/5] libswscale: Avx2 hscale can process inputs of any size. 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Hi, Are there any further comments on this patch or can it be committed? Thanks, Alan On Tue, Apr 26, 2022 at 10:00 AM Alan Kelly wrote: > The main loop processes blocks of 16 pixels. The tail processes blocks > of size 4. > --- > libswscale/x86/scale_avx2.asm | 44 ++++++++++++++++++++++++++++++++++- > 1 file changed, 43 insertions(+), 1 deletion(-) > > diff --git a/libswscale/x86/scale_avx2.asm b/libswscale/x86/scale_avx2.asm > index 20acdbd633..7657b2825f 100644 > --- a/libswscale/x86/scale_avx2.asm > +++ b/libswscale/x86/scale_avx2.asm > @@ -53,6 +53,9 @@ cglobal hscale8to15_%1, 7, 9, 16, pos0, dst, w, srcmem, > filter, fltpos, fltsize, > mova m14, [four] > shr fltsized, 2 > %endif > + cmp wq, 16 > + jl .tail_loop > + sub wq, 0x10 > .loop: > movu m1, [fltposq] > movu m2, [fltposq+32] > @@ -101,7 +104,46 @@ cglobal hscale8to15_%1, 7, 9, 16, pos0, dst, w, > srcmem, filter, fltpos, fltsize, > add fltposq, 0x40 > add countq, 0x10 > cmp countq, wq > - jl .loop > + jle .loop > + > + add wq, 0x10 > + cmp countq, wq > + jge .end > + > +.tail_loop: > + movu xm1, [fltposq] > +%ifidn %1, X4 > + pxor xm9, xm9 > + pxor xm10, xm10 > + xor innerq, innerq > +.tail_innerloop: > +%endif > + vpcmpeqd xm13, xm13 > + vpgatherdd xm3,[srcmemq + xm1], xm13 > + vpunpcklbw xm5, xm3, xm0 > + vpunpckhbw xm6, xm3, xm0 > + vpmaddwd xm5, xm5, [filterq] > + vpmaddwd xm6, xm6, [filterq + 16] > + add filterq, 0x20 > +%ifidn %1, X4 > + paddd xm9, xm5 > + paddd xm10, xm6 > + paddd xm1, xm14 > + add innerq, 1 > + cmp innerq, fltsizeq > + jl .tail_innerloop > + vphaddd xm5, xm9, xm10 > +%else > + vphaddd xm5, xm5, xm6 > +%endif > + vpsrad xm5, 7 > + vpackssdw xm5, xm5, xm5 > + vmovq [dstq + countq * 2], xm5 > + add fltposq, 0x10 > + add countq, 0x4 > + cmp countq, wq > + jl .tail_loop > +.end: > REP_RET > %endmacro > > -- > 2.36.0.rc2.479.g8af0fa9b8e-goog > > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".