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 ESMTPS id 5C9814E49E for ; Sat, 3 May 2025 09:14:02 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D613D68BA25; Sat, 3 May 2025 12:13:53 +0300 (EEST) Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3BBB68B9BE for ; Sat, 3 May 2025 12:13:47 +0300 (EEST) Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-7376dd56eccso3344067b3a.0 for ; Sat, 03 May 2025 02:13:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746263626; x=1746868426; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vayIoq3dsBRAucSg77HGfoj2K4I2BlD/vqXFDUs+in8=; b=Ec6wqt2wHRz+byzy2Lu9jwj76RyYQuqrjJFjl62O509cArONN9Qq4hP3gsj1PEtkIY ox8O2aCj8LMLc31xUM5uM9bA0md8+1ESz7vrWi1pB8+Xz23iIyEq7m04+Ewa0QyL62eU uM0OLeSMtYisIv9jZN2RDNyJpviScf3/2AiTS8g0whpisdnffDZkX8ET0QTCEPoKgE+d 4AIrzmEwSh3z64dkOiybroU+vKIQ2BqQ2mXG0bY9BJyCnqbYgniQ6SDKRPSqE6U7bwWL VLCVuTncgcCX/qax+0367K4+K3Wup3WgOhK5UifbJi/GvRsX0iRQW0vEy1PeHmotSJjX J2tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746263626; x=1746868426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vayIoq3dsBRAucSg77HGfoj2K4I2BlD/vqXFDUs+in8=; b=QL1ZwBlKFjBED5G2pGasabDpQo1RP8iSNr0vM2bOotv+OXkme0/F+cJJcTHMfqyDMA LShJzA1KCS+KdTfdKI3ZsO71pxwM5yBicj+Y3SZD+pUovdosFftFJl+Am7XdFNU7PMrC 3ILq+yf6BFdpC5dAy6vujvdniClJVR1vPAEBVraSoddXX6Ukd7xkM15Y5vdukNTOy6wf +BVPScISV7LtKOZ02i7SZ8ujnoGza3YM3iciGgyxGWoCH9MH9Am2SmP4gjuoKl+8ceaw gvpwKygwva3Htcqp6EkrZymq9aifLqlxiNyujjXC1KTV781K+GJAAKDeiIuJWviAfr8c p2jw== X-Gm-Message-State: AOJu0Yy13R5NrAmQyILzpXlTK6emv4P8lH3kU8wTQUfgSEl1v5jYLMLS h8LvBPlP3PtLq/eEn7aJ1jAjkq14Pz517jrYvVHJyojQNNxIFC2iuh1OiiOO X-Gm-Gg: ASbGnct1vblLCmTBnpGHoJZbIuG8eh189whG2uDSK4P7bfBXLGCaTzCiWtkmzjNZh2c +a2jQ3iReMhN2THDMExsv72j3P7obEnJedRlYNEVsMG7hZd8nt0njSpTyrR/fGh5pQ0jAO+/YiE 7nsLj6Y8D8hMsYmwQjRgk/11gKvMft6m1O3ZtLiCGgv2BPsPTeNnu2rxRuBpV0kH0gR3AFUnAph DCBHD8CYrWLE2dmWgYg1FbsDQj1UM4eTGjZBK8qu1RNQ/6mJT726rAmuEddICi5+C/NzwhucZVq SF9MJgg8IroFUd5qFCIb0Zj5tKIHKvjnngQ= X-Google-Smtp-Source: AGHT+IFUx6dWCyTF4TXMGAXy+ZAl5Et5XDWdlA8w+ZKPlAMOy0KZzOeVwnEQ7wISVcTJOZCjZuPtUA== X-Received: by 2002:aa7:9316:0:b0:73f:eeb:84bb with SMTP id d2e1a72fcca58-7406f18789emr622649b3a.19.1746263625737; Sat, 03 May 2025 02:13:45 -0700 (PDT) Received: from localhost ([112.65.11.72]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059020ff4sm2927289b3a.118.2025.05.03.02.13.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 May 2025 02:13:44 -0700 (PDT) From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Sat, 3 May 2025 17:13:15 +0800 Message-Id: <20250503091319.76948-3-nuomi2021@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250503091319.76948-1-nuomi2021@gmail.com> References: <20250503091319.76948-1-nuomi2021@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 3/7] x86/hevcdec: refact, remove duplicate code in HEVC_SAO_{BAND, EDGE}_FILTER 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: Nuo Mi , Shaun Loo 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: From: Shaun Loo This is a part of Google Summer of Code 2023 Co-authored-by: Nuo Mi --- libavcodec/x86/hevc/sao_10bit.asm | 100 ++++++++++++++---------------- 1 file changed, 48 insertions(+), 52 deletions(-) diff --git a/libavcodec/x86/hevc/sao_10bit.asm b/libavcodec/x86/hevc/sao_10bit.asm index eeb2b2fe59..0320efd758 100644 --- a/libavcodec/x86/hevc/sao_10bit.asm +++ b/libavcodec/x86/hevc/sao_10bit.asm @@ -28,18 +28,17 @@ H2656_SAO_BAND_FILTER hevc, %1, %2, %3 %endmacro +%macro HEVC_SAO_BAND_FILTER_FUNCS 1 + HEVC_SAO_BAND_FILTER %1, 8, 1 + HEVC_SAO_BAND_FILTER %1, 16, 2 + HEVC_SAO_BAND_FILTER %1, 32, 4 + HEVC_SAO_BAND_FILTER %1, 48, 6 + HEVC_SAO_BAND_FILTER %1, 64, 8 +%endmacro + %macro HEVC_SAO_BAND_FILTER_FUNCS 0 -HEVC_SAO_BAND_FILTER 10, 8, 1 -HEVC_SAO_BAND_FILTER 10, 16, 2 -HEVC_SAO_BAND_FILTER 10, 32, 4 -HEVC_SAO_BAND_FILTER 10, 48, 6 -HEVC_SAO_BAND_FILTER 10, 64, 8 - -HEVC_SAO_BAND_FILTER 12, 8, 1 -HEVC_SAO_BAND_FILTER 12, 16, 2 -HEVC_SAO_BAND_FILTER 12, 32, 4 -HEVC_SAO_BAND_FILTER 12, 48, 6 -HEVC_SAO_BAND_FILTER 12, 64, 8 + HEVC_SAO_BAND_FILTER_FUNCS 10 + HEVC_SAO_BAND_FILTER_FUNCS 12 %endmacro INIT_XMM sse2 @@ -48,54 +47,51 @@ INIT_XMM avx HEVC_SAO_BAND_FILTER_FUNCS %if HAVE_AVX2_EXTERNAL -INIT_XMM avx2 -HEVC_SAO_BAND_FILTER 10, 8, 1 -INIT_YMM avx2 -HEVC_SAO_BAND_FILTER 10, 16, 1 -HEVC_SAO_BAND_FILTER 10, 32, 2 -HEVC_SAO_BAND_FILTER 10, 48, 3 -HEVC_SAO_BAND_FILTER 10, 64, 4 - -INIT_XMM avx2 -HEVC_SAO_BAND_FILTER 12, 8, 1 -INIT_YMM avx2 -HEVC_SAO_BAND_FILTER 12, 16, 1 -HEVC_SAO_BAND_FILTER 12, 32, 2 -HEVC_SAO_BAND_FILTER 12, 48, 3 -HEVC_SAO_BAND_FILTER 12, 64, 4 + +%macro HEVC_SAO_BAND_FILTER_FUNCS_AVX2 1 + INIT_XMM avx2 + HEVC_SAO_BAND_FILTER %1, 8, 1 + INIT_YMM avx2 + HEVC_SAO_BAND_FILTER %1, 16, 1 + HEVC_SAO_BAND_FILTER %1, 32, 2 + HEVC_SAO_BAND_FILTER %1, 48, 3 + HEVC_SAO_BAND_FILTER %1, 64, 4 +%endmacro + + HEVC_SAO_BAND_FILTER_FUNCS_AVX2 10 + HEVC_SAO_BAND_FILTER_FUNCS_AVX2 12 + %endif %macro HEVC_SAO_EDGE_FILTER 3 H2656_SAO_EDGE_FILTER hevc, %1, %2, %3 %endmacro +%macro HEVC_SAO_EDGE_FILTER_FUNCS 1 + HEVC_SAO_EDGE_FILTER %1, 8, 1 + HEVC_SAO_EDGE_FILTER %1, 16, 2 + HEVC_SAO_EDGE_FILTER %1, 32, 4 + HEVC_SAO_EDGE_FILTER %1, 48, 6 + HEVC_SAO_EDGE_FILTER %1, 64, 8 +%endmacro + INIT_XMM sse2 -HEVC_SAO_EDGE_FILTER 10, 8, 1 -HEVC_SAO_EDGE_FILTER 10, 16, 2 -HEVC_SAO_EDGE_FILTER 10, 32, 4 -HEVC_SAO_EDGE_FILTER 10, 48, 6 -HEVC_SAO_EDGE_FILTER 10, 64, 8 - -HEVC_SAO_EDGE_FILTER 12, 8, 1 -HEVC_SAO_EDGE_FILTER 12, 16, 2 -HEVC_SAO_EDGE_FILTER 12, 32, 4 -HEVC_SAO_EDGE_FILTER 12, 48, 6 -HEVC_SAO_EDGE_FILTER 12, 64, 8 +HEVC_SAO_EDGE_FILTER_FUNCS 10 +HEVC_SAO_EDGE_FILTER_FUNCS 12 %if HAVE_AVX2_EXTERNAL -INIT_XMM avx2 -HEVC_SAO_EDGE_FILTER 10, 8, 1 -INIT_YMM avx2 -HEVC_SAO_EDGE_FILTER 10, 16, 1 -HEVC_SAO_EDGE_FILTER 10, 32, 2 -HEVC_SAO_EDGE_FILTER 10, 48, 3 -HEVC_SAO_EDGE_FILTER 10, 64, 4 - -INIT_XMM avx2 -HEVC_SAO_EDGE_FILTER 12, 8, 1 -INIT_YMM avx2 -HEVC_SAO_EDGE_FILTER 12, 16, 1 -HEVC_SAO_EDGE_FILTER 12, 32, 2 -HEVC_SAO_EDGE_FILTER 12, 48, 3 -HEVC_SAO_EDGE_FILTER 12, 64, 4 + +%macro HEVC_SAO_EDGE_FILTER_FUNCS_AVX2 1 + INIT_XMM avx2 + HEVC_SAO_EDGE_FILTER %1, 8, 1 + INIT_YMM avx2 + HEVC_SAO_EDGE_FILTER %1, 16, 1 + HEVC_SAO_EDGE_FILTER %1, 32, 2 + HEVC_SAO_EDGE_FILTER %1, 48, 3 + HEVC_SAO_EDGE_FILTER %1, 64, 4 +%endmacro + +HEVC_SAO_EDGE_FILTER_FUNCS_AVX2 10 +HEVC_SAO_EDGE_FILTER_FUNCS_AVX2 12 + %endif -- 2.34.1 _______________________________________________ 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".