From patchwork Thu Nov 9 11:58:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Darnley X-Patchwork-Id: 6000 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp1940025jah; Thu, 9 Nov 2017 03:59:35 -0800 (PST) X-Google-Smtp-Source: AGs4zMbuOBb576aC4hvEbWb26wKrCPEirTyKkARmd6cs7OancC9p0b825bxT0omBiHKkbuHKhdi6 X-Received: by 10.28.183.8 with SMTP id h8mr174250wmf.2.1510228775121; Thu, 09 Nov 2017 03:59:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510228775; cv=none; d=google.com; s=arc-20160816; b=ZLnQfTf1ld978FcbbFHGalExrR5EvAmuNBFKXS8p8WjuC9lqsRWxWKQKcbJs42VEa2 7z9KFbU2lb5WW8jvJdlnlPgnOWy1qfziW4x8U1/u/stFEFHWTMcUTdMZVhxphIu+0JlZ Cq34HqiTuPKXR3ozinL77TbWmc0mSFj4K10AHVUIGnZtAqHPfmyve+jauyRbfqXhkKkx k7Slnlu/tQ1r2PJ+1UtH/yh9sE5da3PlYjYp+ZS9OuJtKnLZz8+ejZY3BjaJtHIUa6iV eqJQqid/vG9HCXMiVH7PIzDpSt952W3a8ilE8lQBQwAD5uwys+riB6zViqgKLfA5Y7IH T/ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=eMwseEqzN9jpjMoD/S0w2yFxTE2rskGR63zl5OSvJVU=; b=thaSGyejtmpqFoYis42S81wlNwssqjdQww/oWsoYw7w/tHaavbwFhgfR0uF21/V/rO p+x4qasbWtLv7nsxwAl83kKSmDl6q66t7S3Iw/DtSn+elDDL81HKv/yuSATLQi8s785R 556ahqDFFfQWmbwsxw78OitS06f87AAzZwuoIRpEjZBoKwEDAqS5/4scEo6bGWmJpe8p sY2sCIG4a3d5zJXkblnj0zEUFYNRKwoiV1y5naPZKuwwxYjAobpCoWQWDz+F60OXVTuL ba19hyLsG1D5JmGJg5iNFEOtfCbjavfd1VFvbB+0GiNxT0N+27xGXbDZKeUhZdTxfzS4 IdMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@ob-encoder-com.20150623.gappssmtp.com header.s=20150623 header.b=gJtlgr/Y; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o43si5878742wrb.197.2017.11.09.03.59.34; Thu, 09 Nov 2017 03:59:35 -0800 (PST) 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=@ob-encoder-com.20150623.gappssmtp.com header.s=20150623 header.b=gJtlgr/Y; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BC81A689EDA; Thu, 9 Nov 2017 13:58:44 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9534E689EA2 for ; Thu, 9 Nov 2017 13:58:43 +0200 (EET) Received: by mail-wm0-f66.google.com with SMTP id p75so16592951wmg.3 for ; Thu, 09 Nov 2017 03:58:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ob-encoder-com.20150623.gappssmtp.com; s=20150623; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=0eCrWg2okEMdngHnjfN3WtBQoP6Z/3uMw5T2kCtw5Yo=; b=gJtlgr/Y+W32Vxcf085+hiBx2/HtNJ9UWdkJfQBzgGyrUDyFJE+4sJRJ4E4WouPa1R vv/oF0cRitXLkvL3deGgD7x+Hp1apGzjaTAjIZKDe4+KHBEE72RsYLjc/E+7jV1ISUu1 v9VTL11lDFusHrokNm+oEQmG9zotKfU+0tMsM68LW+XBhkj7u3ev7g1Xecj3ICULpmhv M+vQJXg/T3xZUxzRsy4qNOCkQMdBYGA20eutC0+TLa6uNXdUI/OqQ2Ts1shVAXsu5Rdj MZ9sXA9FBs11cZ4YooPf/sC4XqtHIXDmvk1SLf+z3yRWscumm8zJQ7Na7GPJjfUP+OXq ifNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=0eCrWg2okEMdngHnjfN3WtBQoP6Z/3uMw5T2kCtw5Yo=; b=MLobujWr0WDW4RZ2gLCHCMdK8ZdRwGQ/CMBznq0jEvxfGEO3uzN4kFXpmkz+hU4Umy UxTRNyzkYVhhV0iDE131PpAHm/Xv4a99NN1tn/5NydXVdTAPE4ntmU48lAV22cKDVVqI t1bRL1PWRuVbkMBp1phAoNX7nE/BkIvvOkXmm5fxhaqqfo76nOhSl2WLZsl1ZAV++W/k 5Rg9b8eihTtzck7SAgtdF017aRA9B5mIikTLlZafJB41hlDM5vRqPKC0WOJhZouIIX4z wNyzUIktIdcnlKQbTijTlSen7JsvemLp+lzpc01pIIzOFFxbERppaTsed5Vg7mzMvNe1 /enA== X-Gm-Message-State: AJaThX4MTvPMpuE3yhttJVNyE9QThHGaKs3UQnYMy0vCtzq2UPZo/QS2 rrfwUR9rwFkt3Wbe5Qga/c4yv4hJ X-Received: by 10.80.144.178 with SMTP id c47mr348514eda.240.1510228736094; Thu, 09 Nov 2017 03:58:56 -0800 (PST) Received: from Highwind.systemlords.lan (d51A44418.access.telenet.be. [81.164.68.24]) by smtp.gmail.com with ESMTPSA id x7sm5754101edi.6.2017.11.09.03.58.55 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Nov 2017 03:58:55 -0800 (PST) From: James Darnley To: ffmpeg-devel@ffmpeg.org Date: Thu, 9 Nov 2017 12:58:37 +0100 Message-Id: <20171109115837.32618-12-jdarnley@obe.tv> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171109115837.32618-1-jdarnley@obe.tv> References: <20171109115837.32618-1-jdarnley@obe.tv> Subject: [FFmpeg-devel] [PATCH 11/11] avcodec/lossless_videodsp: add AVX-512 version of add_bytes 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavcodec/x86/lossless_videodsp.asm | 5 +++++ libavcodec/x86/lossless_videodsp_init.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/libavcodec/x86/lossless_videodsp.asm b/libavcodec/x86/lossless_videodsp.asm index ba4d4f0153..5649348f86 100644 --- a/libavcodec/x86/lossless_videodsp.asm +++ b/libavcodec/x86/lossless_videodsp.asm @@ -229,6 +229,11 @@ INIT_YMM avx2 ADD_BYTES %endif +%if HAVE_AVX512_EXTERNAL +INIT_ZMM avx512 +ADD_BYTES +%endif + %macro ADD_HFYU_LEFT_LOOP_INT16 2 ; %1 = dst alignment (a/u), %2 = src alignment (a/u) add wd, wd add srcq, wq diff --git a/libavcodec/x86/lossless_videodsp_init.c b/libavcodec/x86/lossless_videodsp_init.c index 4f20c1ce92..80d6972f36 100644 --- a/libavcodec/x86/lossless_videodsp_init.c +++ b/libavcodec/x86/lossless_videodsp_init.c @@ -26,6 +26,7 @@ void ff_add_bytes_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t w); void ff_add_bytes_sse2(uint8_t *dst, uint8_t *src, ptrdiff_t w); void ff_add_bytes_avx2(uint8_t *dst, uint8_t *src, ptrdiff_t w); +void ff_add_bytes_avx512(uint8_t *dst, uint8_t *src, ptrdiff_t w); void ff_add_median_pred_mmxext(uint8_t *dst, const uint8_t *top, const uint8_t *diff, ptrdiff_t w, @@ -119,4 +120,8 @@ void ff_llviddsp_init_x86(LLVidDSPContext *c) if (EXTERNAL_AVX2_FAST(cpu_flags)) { c->add_bytes = ff_add_bytes_avx2; } + + if (EXTERNAL_AVX512(cpu_flags)) { + c->add_bytes = ff_add_bytes_avx512; + } }