From patchwork Thu Nov 23 19:12:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikulas Patocka X-Patchwork-Id: 6301 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp1341181jah; Thu, 23 Nov 2017 14:24:21 -0800 (PST) X-Google-Smtp-Source: AGs4zMZUORvoLDJXmHO1NkHoFdTG6x4bUBtzWdXqhjGjAiI/Ur6U2oJhtNLqLS9Q/8kBrM49npQJ X-Received: by 10.28.22.204 with SMTP id 195mr8282767wmw.11.1511475861121; Thu, 23 Nov 2017 14:24:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511475861; cv=none; d=google.com; s=arc-20160816; b=y/dRYkiU9pUuaILTeOrQeKzD4wpXVkBakmy1SURcMBxrRY6zYsvNXRAEgahlUXkgKy F7RFcWLr7uJngsVW/CN0mgLXCs4zzh1iY4/q5kSKDOrhqKd/GdFYzdxkgD39j/L4v1DJ hGko5IPkevwMtZjWrDZsUT0EoykQcHkKYrV3cP+cmcrsaOnW044lxP5LvTcBS01Z4e29 Nt7r3+OJ9oeKkxUDBpfj2eYEgnorfJDYM3gtclEV+SM2XtOfHZKfkDrN9vsYZL/hP8qL l16ka8YJteDC8jvAukw9DJzJTQHJsJQ0xGUQYvd8fnInuOIozKX0r0G62M4nRNk25voW RG+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:user-agent:message-id:to:from:date :delivered-to:arc-authentication-results; bh=WFOsJqi96j+qOIDMz4ZLEKey9FYYOKOTW0Jl4XUDz2A=; b=bzjmSh6zBIRLXpZbuUtU9rgfQMCJYHOTi152ub21bpvTMJA6trON3xjlLG2F1T2/Gd 0TRBriKJbqfHeJDw+83BBdwW0sNleNPZj11wysHV0YmyACGUI3yyyWOa2yGRDDpGicEq k2zjge3YffvoYSAUpyLhpzfsqxEdLbQiRJ6vdegqIowf2BphRWpDFEygoGjSbqIIU5pw J8BPFyGZiWmxucherLb8yGQeHvVyB+DPe9qmNUe1z2/eMupeSlmw8A7PmeIT4DWYsnT1 JTwk22owZnpl7bqQrW2mKwl07UUpepClH9BnkDET7eTCabzrAcOzmoCd33hmPWghVzJh o9+Q== ARC-Authentication-Results: i=1; mx.google.com; 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 b53si16548208wra.318.2017.11.23.14.24.20; Thu, 23 Nov 2017 14:24:21 -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; 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 3D5D868A245; Fri, 24 Nov 2017 00:24:18 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from leontynka.twibright.com (109-183-129-149.tmcz.cz [109.183.129.149]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 49C61689E1F for ; Thu, 23 Nov 2017 21:12:58 +0200 (EET) Received: from mikulas (helo=localhost) by leontynka.twibright.com with local-esmtp (Exim 4.80) (envelope-from ) id 1eHwvf-0008EP-Vi; Thu, 23 Nov 2017 20:12:56 +0100 Date: Thu, 23 Nov 2017 20:12:55 +0100 (CET) From: Mikulas Patocka X-X-Sender: mikulas@leontynka To: Timo Rothenpieler , ffmpeg-devel@ffmpeg.org Message-ID: User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 X-Mailman-Approved-At: Fri, 24 Nov 2017 00:24:17 +0200 Subject: [FFmpeg-devel] [PATCH] ffmpeg fft: fix broken opus on 3dnow 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" The commit b7c16a3f2c4921f613319938b8ee0e3d6fa83e8d ("x86: fft: Port to cpuflags") breaks the opus decoder in ffmpeg when compiling for 3dnow. The output is audible, but there's a lot of noise. This could be tested by disabling sse and compiling ffmpeg on a processor with 3dnow support: CC='gcc -m32' ./configure --disable-sse --disable-sse2 --disable-sse3 The reason for the breakage is that the commit unintentionally changed the INTERL macro so that it is empty when compiling for 3dnow. This patch fixes it. Signed-off-by: Mikulas Patocka --- libavcodec/x86/fft.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: ffmpeg/libavcodec/x86/fft.asm =================================================================== --- mplayer.orig/libavcodec/x86/fft.asm +++ mplayer/libavcodec/x86/fft.asm @@ -199,7 +199,7 @@ SECTION .text vextractf128 %4 %+ H(%5), %3, 0 vextractf128 %4(%5 + 1), %2, 1 vextractf128 %4 %+ H(%5 + 1), %3, 1 -%elif cpuflag(sse) +%elif cpuflag(sse) || cpuflag(3dnow) mova %3, %2 unpcklps %2, %1 unpckhps %3, %1