From patchwork Thu Nov 9 11:58:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Darnley X-Patchwork-Id: 5930 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp1948933jah; Thu, 9 Nov 2017 04:06:38 -0800 (PST) X-Google-Smtp-Source: ABhQp+QDabXvuwNoD3AAgUcFxFgl0+pAIkCRol9zQ9eeA4PcmOoJ+nVqfwmzbPHrZMiiy/d0DAfj X-Received: by 10.28.113.71 with SMTP id m68mr195669wmc.1.1510229198191; Thu, 09 Nov 2017 04:06:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510229198; cv=none; d=google.com; s=arc-20160816; b=doL/m4SMssAh+2cGSlj1VIj/KAdvKFohVcW948CvSxZjMZMRZMJ5V55y7pG/yLITGW rDnpT85wpy7Xnk0Hv6kKqziinZgdQArAK0rsC40aIj9jAgkuJhgz0elPo1wd4Bu6juaR ffbItBrMhJVp/aNyRyXuGGy5/J+f0/mXAdLQRxxuithTO1fLCQO9R1QPxTVQZw/hdMC7 I6qcCGVV+TYichwG/TK/aIE24Farab3EN1jQYzbzTmedkLF5GQfxixQGbtQvdrC/AIGM L/FXgtB9aKgbxQZxDPATFcXiEDUgAXlj+HBB36UNF7HjEStU6Vi7jXO5A8ppWwWlbAyd kV7g== 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=VuJRgGRfx8BZJoLYWwX62KC1SqSUhJoomYAOzrQX08Q=; b=xJmDzfORJkR+7s7kCUnLmD0e1q74HDxS/N5alGbhVe0KVe4RTBji8frjr4aWGOLscV ZgjAx/+2cnUx4mCCUSksYDYw/xVmmsbYGT0+u61923jPVd8w18CtJi0kIEHHsrQpHvXX xWNkkX8HPw9Z5hD7heDykba2pMMImTQTdXdaTyEA5oSCvAmTZ+1a+NlSyFl9/usegMK5 ubdZS8wPlggNdeGVYL45I2uKPaL86XI71jvAGSOiwDxBA+yr0l1KHWZo99aoDgF0dh/W XwisZ/1JsYvY2oLnhXmjENNS7IQ6o0TARsOsnjHc4KX2BphwO0nHbm024FUhzcETAGcq Y4Kw== 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=rHDQR+eD; 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 e8si5915471wrc.68.2017.11.09.04.06.37; Thu, 09 Nov 2017 04:06:38 -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=rHDQR+eD; 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 ECE89689EC0; Thu, 9 Nov 2017 14:06:23 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7F97D68838F for ; Thu, 9 Nov 2017 14:06:17 +0200 (EET) Received: by mail-wm0-f65.google.com with SMTP id p75so16641307wmg.3 for ; Thu, 09 Nov 2017 04:06:30 -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=JjwUjVOYn+3zPH9qK+TiVcY9+OZkBqT7aycILsln7LA=; b=rHDQR+eDg2FhEmPNKV9BIgG+gSpchPxmr7bQ09LvSB/Kz400UjaU5iP8jkEVCUo/dJ FbrMX06bBD3SWWzfb0GwOY96vXeDyIDQjKrUE1YTiIzvrLlCpIfciPUx6DCTeCOOS0Jo oUBNGfG2/Wme0JBPBYWhycQMXRCp+t0cMk4FKXzyo4rG2bMbCh7R+u5z64ZuTeA1dm01 DrjV5ErQhnpSJV61f6ojhf+z3DzyQT8oaQZsYP82OClnenwZB+yPej/T9O6ZJrqnqGcG ttQixTyrcYRdp8Yn4rZwm6h5kfv1KoZCIIwe07a0xmdzAz7+eIzoRkuebN4zpWJtK8yB 8/ag== 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=JjwUjVOYn+3zPH9qK+TiVcY9+OZkBqT7aycILsln7LA=; b=S25kG0pum+bFDZmarQReSP1KCma1QZ2mjt8ACx8zcUsV5MM/0o7mXbMTuafuywguR+ olkvr3PVL6G8Ehz6GjKXcjtWpe22b8IQ/RAAMenBkFvrHDGC0nAakaEhjCvJFz0sAXjk PlKM0Uy2tr/0lrBkIdxTpKd0HUptecdqJyNMXUNNwo5XCNAF31QzaTwixhFYhTb1RgMV DShOIEIZ16ixdJIUckStD8+BX3wRQYnzUwViixJ+/li38GGfLq6PNWHDQl9ujoixQwqk SqAIhBHzXDm3Oic8yQYqHbz0e3NqH30Cyv2WFjLQbZWtrlg6zd9MznDkmx/auokdk0gH +p+Q== X-Gm-Message-State: AJaThX4ZmsyEekwH/h7JdV62cc3/9ABgzCet/2XU2lbicdY0fOIkstPP L89fSlE6q6hWLC//TtEXZ7e7q2ge X-Received: by 10.80.165.204 with SMTP id b12mr303122edc.289.1510228733214; Thu, 09 Nov 2017 03:58:53 -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.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Nov 2017 03:58:52 -0800 (PST) From: James Darnley To: ffmpeg-devel@ffmpeg.org Date: Thu, 9 Nov 2017 12:58:34 +0100 Message-Id: <20171109115837.32618-9-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 08/11] avcodec/v210enc: add AVX-512 10-bit line pack function 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/v210enc.asm | 5 +++++ libavcodec/x86/v210enc_init.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/libavcodec/x86/v210enc.asm b/libavcodec/x86/v210enc.asm index 965f2bea3c..5068af27f8 100644 --- a/libavcodec/x86/v210enc.asm +++ b/libavcodec/x86/v210enc.asm @@ -103,6 +103,11 @@ INIT_YMM avx2 v210_planar_pack_10 %endif +%if HAVE_AVX512_EXTERNAL +INIT_YMM avx512 +v210_planar_pack_10 +%endif + %macro v210_planar_pack_8 0 ; v210_planar_pack_8(const uint8_t *y, const uint8_t *u, const uint8_t *v, uint8_t *dst, ptrdiff_t width) diff --git a/libavcodec/x86/v210enc_init.c b/libavcodec/x86/v210enc_init.c index e997b4b67a..e8aac373a0 100644 --- a/libavcodec/x86/v210enc_init.c +++ b/libavcodec/x86/v210enc_init.c @@ -32,6 +32,9 @@ void ff_v210_planar_pack_10_ssse3(const uint16_t *y, const uint16_t *u, void ff_v210_planar_pack_10_avx2(const uint16_t *y, const uint16_t *u, const uint16_t *v, uint8_t *dst, ptrdiff_t width); +void ff_v210_planar_pack_10_avx512(const uint16_t *y, const uint16_t *u, + const uint16_t *v, uint8_t *dst, + ptrdiff_t width); av_cold void ff_v210enc_init_x86(V210EncContext *s) { @@ -51,4 +54,8 @@ av_cold void ff_v210enc_init_x86(V210EncContext *s) s->sample_factor_10 = 2; s->pack_line_10 = ff_v210_planar_pack_10_avx2; } + + if (EXTERNAL_AVX512(cpu_flags)) { + s->pack_line_10 = ff_v210_planar_pack_10_avx512; + } }