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 7114A4C03F for ; Fri, 2 May 2025 07:45:16 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2493168B412; Fri, 2 May 2025 10:44:57 +0300 (EEST) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 976FC68B3B0 for ; Fri, 2 May 2025 10:44:49 +0300 (EEST) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2279915e06eso19655005ad.1 for ; Fri, 02 May 2025 00:44:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746171887; x=1746776687; 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=rqF5YzJYFRgmD+E1yOIQojoyc133TK64klueZ/3avPI=; b=ns3feAvK4KCk342vLCMO1GFZ0Rg7YQ8ISWhRgimpVZq52xD6lT/89qIXTRZJ0WturL NCyoA+h7XYr92m2Eibsu9N9Z0CPWhNSZd8Ri+DRI4RafxAl/xV+V5TGLRobv8bCPf+ek /yW5tpMafuNErTFEfU25isFXDSxFibwS5FHLjwTkhNrB8DIfVxHnyqwNyaHvY4B/7Dz4 SBH7UQgPBjaBOMdk1Aom572tkuD5d1/GfxOpPHX9zW3RM8V3KGIl+PBQlkM7aLtHTiQr 7mJTOH8f9WsjMSjsg92yS9N9BNyG3WOy09PBz+qx7716Zee6yNm90KDw08mXXsJx5yAX Lmyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746171887; x=1746776687; 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=rqF5YzJYFRgmD+E1yOIQojoyc133TK64klueZ/3avPI=; b=wiOYDa4COVrb4Pu44Z3BTIPbpj00XnRyxaKLJwYUBGlrm0DQB2DWbhk9F+kUs/LFwu p1njjQNDug7sSdMs/0uPs9ssA7ehbjRdzNOU8AVct3S1BCDvLvwgtjN0zo0v0v4QsTol gGcr7aEEuWjyYpz1OsGQXxR68QhCmjHAxdB+CfBXzNJ8IOUKf0A0pJh/54RdyV/16A60 M97TokF1HVDn6ZQMcRaja703apCm1oL5K2Jk2pPtFTF3bWCUQ2fI6f4ecWZxiSJYNNQs PThxXicDF2N3u6uDR3ZV497XqGxAC8GgXA7b80tQt0ZerKuZ4Snl0JNHknOIS8wzZjBL mU7g== X-Gm-Message-State: AOJu0Yyj7M+iriRpizIgbVI3vU9B8uEEo1T70CsLs1WAPdg6IiljirlS w7BeTJYDAUWulhL97oRJF/1Io/aY4PHWrz24fUPp2nZRTRb+UrYdn73UHmRm3uI= X-Gm-Gg: ASbGncuYV57gZq9F26WMY68GATS7VLyCf2rTKL5GfvWpMVXma+JATcsFhkCEdcQ2GdS 7m5E7Ti1fcTqLG/jZgW0C9sXWOywbBc2UlHKbsVcD6TJcmS7W7xK2wWKvy9rz7/Quwefe5j6AzS vWlbWm7D8dZb6ljYSErhpMC1P9zI0QfM2aNP5J7MyMSqupaSlQmkKTEYhERHsA8iDYLC6vwRyxK nLBLwNjXtR3kO+mYbbrsvBhuqFoA0bgtnRZbeIhhgCtOKp1CMGraT592+G+Ypu1IRPgRL0m7M6Q 4q9BPDSPfkIDu+jjS6zSRnpt3D/oKLhe32c= X-Google-Smtp-Source: AGHT+IGawy3garD/1fr96TEZe6LwRmEbiCKmn7LC5/TMmHkAjwPTGg6bkN9piAgO5Mr0wC+mFTu+OQ== X-Received: by 2002:a17:902:e84f:b0:220:d909:1734 with SMTP id d9443c01a7336-22e103208b2mr29659135ad.14.1746171887602; Fri, 02 May 2025 00:44:47 -0700 (PDT) Received: from localhost ([112.65.11.72]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22e152294f1sm1190315ad.161.2025.05.02.00.44.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 00:44:46 -0700 (PDT) From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Fri, 2 May 2025 15:44:28 +0800 Message-Id: <20250502074430.291561-3-nuomi2021@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250502074430.291561-1-nuomi2021@gmail.com> References: <20250502074430.291561-1-nuomi2021@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/5] 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 77967db5e6..8173509d6f 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".