From patchwork Fri Jun 30 03:40:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 4160 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.1.76 with SMTP id 73csp5248900vsb; Thu, 29 Jun 2017 20:41:07 -0700 (PDT) X-Received: by 10.28.18.201 with SMTP id 192mr4014870wms.2.1498794067020; Thu, 29 Jun 2017 20:41:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1498794066; cv=none; d=google.com; s=arc-20160816; b=g9XXbhzF/U56/6n95auZWOeloEJ6DK2oI79Weya6gsMc/EuLnnghM47ELDslPChz8R U1JuJUt6dRxOPi+dkZOTZdKeoqgGc43/7T3OuODeKuUgJw40mOCZtDpYL/F+YVXNhYDu Z33SWjwblyn01MYBgBt/Oie220LO91JMwoWEEuEuwX+ih1G8GWJMQPtgyrkeoTecpRbL R9b+Dzs6Rt2wzkADvVpbbxbGeb4w+P5kKYD2HtO9dftzIAb8bG8j+ok9SkhYcgbfz2/G vtMh4OoxFiQOV4CUPSin0cTJhsSn7Sayq+d13qRHtvSguZ04uB1zwv8ijV+RhHHV5GSN 4Ftg== 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:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=pKpYgdSn3gnuaj/aSxvOe8OrjPiuwSWpBn0iyj0og3g=; b=pjrNlFqw6CbSmk6GinRIGZn77lLrNPB5le7SpDCx6cClpnSn6ApUMkBrtrHSYFAYJY F5rpE49Mrx/opG+zK4e+krz4mcU2M8GgS861+k3QY7H+rKuXbnnGSvc2JOlBBYzQmF3p HF9xiGmzIEAzbuADODlj79GXF4J0BtmxrvtEzkDAjBluxtbiNWiVu3qAUzgsI41YXbx4 McLmtwQfFepAhvqIh552T/uH4lThX0HJN+VMwDoLEzqWyeEEUXc5rM5tqLnx33CfIh0U fxcIQ9+u7obzA8DZuT7fwFf++NvFmOvyCRENgmuHIesobqgU9y0iQZffNsxaMVSuUzvN UyHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.b=C/+hyghV; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u93si5131828wrc.190.2017.06.29.20.41.05; Thu, 29 Jun 2017 20:41:06 -0700 (PDT) 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=@gmail.com header.b=C/+hyghV; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EBFCF689E34; Fri, 30 Jun 2017 06:41:02 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E7F36689C97 for ; Fri, 30 Jun 2017 06:40:55 +0300 (EEST) Received: by mail-qk0-f196.google.com with SMTP id v143so1292295qkb.3 for ; Thu, 29 Jun 2017 20:40:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=zKRYo/1QAkNzXcdJoD9YsSXRpC5RcqK4csfMTT9SbpI=; b=C/+hyghVY2jI0tOSXD2q/36VsWmfa+5EIbEcGbWcjihaiQBtvX72koxuCWq9snT4fu +nM7NdGL1b4fbSe3Dovw7UytjdPvFqaIImRjEDaT4SzGoSXFtPcL9Kxo/db25h1DNT3X OPlij7uxDDLLNe7sSMBf4ICj8Z7b/ASAWDWg5DINvgZ9oOLfGD+rTjV76NukjVdpje/1 RNfFCiAoYshgmQKpjBjojDCHU0bsjgclYuhsw5QMPuA4S1MaMJPyLd5L4S2ZNPfVxWMV 5+pq6wv7dC9BkQ3EctIeHXs/+BK59PT6GsWr/oluRj8XNt2QzIW43FV5LiA1O8SipSGd sxuw== 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; bh=zKRYo/1QAkNzXcdJoD9YsSXRpC5RcqK4csfMTT9SbpI=; b=M2aM9YWkujHPSDCqmOo/pImeMV50dG2ZdnNe+Zu7/XUq8dC9K5abqZfEnTJ8/61rUs lUoSu8IN8QKTJHsVn9laQ+PfFGKqjVEu2WaU/Z8aQPpyWyyeIFCk7k8DQI2N44uK6Xi6 +q9dz4lSzpZ80fY+dWZ6+rZ7KN282jkOM3phiCOgWg+OqRpkMYkkubncNcXPb2fvVya/ SXsOxcjSHCi90ddKZH18Bc/n4rGZ6odMt12H10wDKG4P4UKAAtpbqs8G42KjTAkEQ2Cs z7mxLk2p/0U8XqUEu71zGE9OKldGjTlq3AjVGEmcBxW7fZApE4ZbLeGCuCRlfK9xO2/M l7PQ== X-Gm-Message-State: AIVw1125j/SJB6YVsctOEAZpWPoFEsn+LbxK1ffDIhRELY254kbSZalA lsWTRS1mdYHVrbql X-Received: by 10.55.127.199 with SMTP id a190mr573646qkd.100.1498794054412; Thu, 29 Jun 2017 20:40:54 -0700 (PDT) Received: from localhost.localdomain ([181.231.116.134]) by smtp.gmail.com with ESMTPSA id y6sm5580244qky.1.2017.06.29.20.40.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 29 Jun 2017 20:40:53 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 30 Jun 2017 00:40:16 -0300 Message-Id: <20170630034016.6684-1-jamrial@gmail.com> X-Mailer: git-send-email 2.13.0 Subject: [FFmpeg-devel] [PATCH] x86/utvideodsp: make restore_rgb_planes functions 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- libavcodec/x86/utvideodsp.asm | 20 ++++++++++++++------ libavcodec/x86/utvideodsp_init.c | 2 +- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/libavcodec/x86/utvideodsp.asm b/libavcodec/x86/utvideodsp.asm index a74d6e9ec1..e44c1ea471 100644 --- a/libavcodec/x86/utvideodsp.asm +++ b/libavcodec/x86/utvideodsp.asm @@ -21,8 +21,6 @@ %include "libavutil/x86/x86util.asm" -%if ARCH_X86_64 - SECTION_RODATA pb_128: times 16 db 128 @@ -36,12 +34,18 @@ INIT_XMM sse2 ; void restore_rgb_planes(uint8_t *src_r, uint8_t *src_g, uint8_t *src_b, ; ptrdiff_t linesize_r, ptrdiff_t linesize_g, ptrdiff_t linesize_b, ; int width, int height) -cglobal restore_rgb_planes, 8,9,4, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x +cglobal restore_rgb_planes, 7 + ARCH_X86_64, 7 + ARCH_X86_64 * 2, 4, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x movsxdifnidn wq, wd add src_rq, wq add src_gq, wq add src_bq, wq neg wq +%if ARCH_X86_64 == 0 + mov wm, wq +DEFINE_ARGS src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, x +%define wq r6m +%define hd r7mp +%endif mova m3, [pb_128] .nextrow: mov xq, wq @@ -65,7 +69,7 @@ cglobal restore_rgb_planes, 8,9,4, src_r, src_g, src_b, linesize_r, linesize_g, jg .nextrow REP_RET -cglobal restore_rgb_planes10, 8,9,5, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x +cglobal restore_rgb_planes10, 7 + ARCH_X86_64, 7 + ARCH_X86_64 * 2, 5, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x shl wd, 1 shl linesize_rq, 1 shl linesize_gq, 1 @@ -76,6 +80,12 @@ cglobal restore_rgb_planes10, 8,9,5, src_r, src_g, src_b, linesize_r, linesize_g mova m3, [pw_512] mova m4, [pw_1023] neg wq +%if ARCH_X86_64 == 0 + mov wm, wq +DEFINE_ARGS src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, x +%define wq r6m +%define hd r7mp +%endif .nextrow: mov xq, wq @@ -99,5 +109,3 @@ cglobal restore_rgb_planes10, 8,9,5, src_r, src_g, src_b, linesize_r, linesize_g sub hd, 1 jg .nextrow REP_RET - -%endif diff --git a/libavcodec/x86/utvideodsp_init.c b/libavcodec/x86/utvideodsp_init.c index d4156926bd..f8b2a9b074 100644 --- a/libavcodec/x86/utvideodsp_init.c +++ b/libavcodec/x86/utvideodsp_init.c @@ -36,7 +36,7 @@ av_cold void ff_utvideodsp_init_x86(UTVideoDSPContext *c) { int cpu_flags = av_get_cpu_flags(); - if (ARCH_X86_64 && EXTERNAL_SSE2(cpu_flags)) { + if (EXTERNAL_SSE2(cpu_flags)) { c->restore_rgb_planes = ff_restore_rgb_planes_sse2; c->restore_rgb_planes10 = ff_restore_rgb_planes10_sse2; }