From patchwork Fri Sep 6 15:30:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 14958 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 545C4449BAD for ; Fri, 6 Sep 2019 18:45:45 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8B2D1688046; Fri, 6 Sep 2019 18:30:48 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f193.google.com (mail-qt1-f193.google.com [209.85.160.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BBA64680373 for ; Fri, 6 Sep 2019 18:30:41 +0300 (EEST) Received: by mail-qt1-f193.google.com with SMTP id j10so7451953qtp.8 for ; Fri, 06 Sep 2019 08:30:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=hjYSZPExBczyCOK7BGV9JOUChiRtrNJh1mhg103DPks=; b=D3q3Cf6FY1ng/EmUSyF7dxNaryOb9unAwOGc0X6JX0lwVlQWFYSKoXE78c5V9lr1Zz 6mQr4W4Yaej7HcdqptZ3hSCdYZAW9o4HbQVmExcf6hXdiYVYWg1pMrJyEpF/O0Kxb+m9 +Okucj1MCLTk/pYOcj6CiYzuuciXo9bSRCrsTKkfSNg10I5Fg+/s0ZiUfSV4ScoBixZO Lcwh9PSJIhWutBeC7yiU9BkcaRFzepFboH9BF42qeNDGFNvkAD/tRAKGKqO0lc29WGAD X0ZnweZV75dZ8AYDi7szXED5zEHJwjqKLS07h6GOP+gJzMbzVWWny3wk80LOvx26QEPG PpMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=hjYSZPExBczyCOK7BGV9JOUChiRtrNJh1mhg103DPks=; b=Yqe7EsHXaxpxVOejuSQC5NvMzsuQCLzIDk7oaoyf91ohG/jpz0YmIM1LReGMn4v2qj iKO/mOmFyTACsx0a4sfRS1xd8T9AM8L77OUfKkBwSZzm5VcHe3hFYMTdDy/n5EPNvv/l MtrNyVqXGFSL5MXZRDdfMbqbNv57WomXNyT7QWWi/BPti7nGauD31N4xleGP8vN6YRLQ el6WP6bMs00y2+n6UkCd51VYxRm/i3YjEmnR3qbGvs9rHB/ziM+oRR5BT0g10iKBAifY tSP70jmK2FRBLrEgH7QU6UX2kEZFGM8tsd93xeMmabq8y74PmilMc3iyT056Lma91wpW +9IQ== X-Gm-Message-State: APjAAAWTnJAYku+BBX8jHMudMAcuHehs/qcj3OWB4PiIdkli3XUdMzKQ 85212I+fkPLRPi1QQPh5yvI2dBoE X-Google-Smtp-Source: APXvYqw3H/9KMbvu74i7MG8vO9v4Qsqgp6Z6MNlaO5nBiTWrpuE/m55Yc02xUtvNv7UwqEfcFXJWdQ== X-Received: by 2002:a0c:cdcb:: with SMTP id a11mr5575723qvn.194.1567783840144; Fri, 06 Sep 2019 08:30:40 -0700 (PDT) Received: from localhost.localdomain ([181.23.90.48]) by smtp.gmail.com with ESMTPSA id a11sm2966012qkc.123.2019.09.06.08.30.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Sep 2019 08:30:39 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 6 Sep 2019 12:30:02 -0300 Message-Id: <20190906153003.1093-1-jamrial@gmail.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] x86/vf_v360: make remap{1, 2}_8bit_line_avx2 work on x86_32 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" Signed-off-by: James Almer --- libavfilter/vf_v360.c | 2 +- libavfilter/x86/vf_v360.asm | 11 +++++++++-- libavfilter/x86/vf_v360_init.c | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c index ed00dd09b4..c90f16bfa7 100644 --- a/libavfilter/vf_v360.c +++ b/libavfilter/vf_v360.c @@ -285,7 +285,7 @@ void ff_v360_init(V360Context *s, int depth) break; } - if (ARCH_X86_64) + if (ARCH_X86) ff_v360_init_x86(s, depth); } diff --git a/libavfilter/x86/vf_v360.asm b/libavfilter/x86/vf_v360.asm index c8b5aa7e2e..f49702b603 100644 --- a/libavfilter/x86/vf_v360.asm +++ b/libavfilter/x86/vf_v360.asm @@ -18,10 +18,11 @@ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ;****************************************************************************** -%if HAVE_AVX2_EXTERNAL && ARCH_X86_64 %include "libavutil/x86/x86util.asm" +%if HAVE_AVX2_EXTERNAL + SECTION_RODATA pb_mask: db 0,4,8,12,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 @@ -62,8 +63,11 @@ cglobal remap1_8bit_line, 6, 7, 6, dst, width, src, in_linesize, u, v, x INIT_YMM avx2 cglobal remap2_8bit_line, 7, 8, 8, dst, width, src, in_linesize, u, v, ker, x movsxdifnidn widthq, widthd - xor xq, xq movd xm0, in_linesized +%if ARCH_X86_32 +DEFINE_ARGS dst, width, src, x, u, v, ker +%endif + xor xq, xq pcmpeqw m7, m7 vpbroadcastd m0, xm0 vpbroadcastd m6, [pd_255] @@ -92,6 +96,8 @@ cglobal remap2_8bit_line, 7, 8, 8, dst, width, src, in_linesize, u, v, ker, x jl .loop RET +%if ARCH_X86_64 + INIT_YMM avx2 cglobal remap4_8bit_line, 7, 9, 11, dst, width, src, in_linesize, u, v, ker, x, y movsxdifnidn widthq, widthd @@ -140,3 +146,4 @@ cglobal remap4_8bit_line, 7, 9, 11, dst, width, src, in_linesize, u, v, ker, x, RET %endif +%endif diff --git a/libavfilter/x86/vf_v360_init.c b/libavfilter/x86/vf_v360_init.c index 5dfd0d1a42..8c1a10c705 100644 --- a/libavfilter/x86/vf_v360_init.c +++ b/libavfilter/x86/vf_v360_init.c @@ -34,7 +34,6 @@ void ff_remap4_8bit_line_avx2(uint8_t *dst, int width, const uint8_t *src, ptrdi av_cold void ff_v360_init_x86(V360Context *s, int depth) { -#if ARCH_X86_64 int cpu_flags = av_get_cpu_flags(); if (EXTERNAL_AVX2_FAST(cpu_flags) && s->interp == NEAREST && depth <= 8) @@ -43,6 +42,7 @@ av_cold void ff_v360_init_x86(V360Context *s, int depth) if (EXTERNAL_AVX2_FAST(cpu_flags) && s->interp == BILINEAR && depth <= 8) s->remap_line = ff_remap2_8bit_line_avx2; +#if ARCH_X86_64 if (EXTERNAL_AVX2_FAST(cpu_flags) && (s->interp == BICUBIC || s->interp == LANCZOS) && depth <= 8) s->remap_line = ff_remap4_8bit_line_avx2;