From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 99F4540593 for ; Wed, 26 Jan 2022 03:32:03 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 895D868B095; Wed, 26 Jan 2022 05:32:00 +0200 (EET) Received: from w4.tutanota.de (w4.tutanota.de [81.3.6.165]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EDF3268AF8F for ; Wed, 26 Jan 2022 05:31:53 +0200 (EET) Received: from w3.tutanota.de (unknown [192.168.1.164]) by w4.tutanota.de (Postfix) with ESMTP id 9F8F41060162 for ; Wed, 26 Jan 2022 03:31:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1643167913; s=s1; d=lynne.ee; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:References:Sender; bh=pWxs9Ukxy1ZQgOfQKK4GqzTw0XSrGMefGjo70n6FKsY=; b=f46dXlMGP5FEWrGvd2cAkzqpavSUnvT9zuRVMO7AUft0tmNFEHf+WZ89DLL/pUYQ z3KBZ6cYdvCzUPufQiH4Y4XGQLyVddI032nCUTbzZ5w6cdDToPQTngUmsgBaG0+cRbs eOIDb0K866ccz/rwRF4FNNFWpi9/30fQiYHN7kZrE68O1J4K+MXOJ1kNE5+Bny0Xlif T0tJdMucv54UsH/9JXUDKQgIG/1SskHwelbfLfrvMarABew5qxeYsBO6h1Cdpmg29jv GfVaOd8Ey0mBB9N33Y7gbyQJEDBlletWw4HHdkYNTDhBsjZH1MntXIyHBeiclIqdAHY YYLzE8YLXw== Date: Wed, 26 Jan 2022 04:31:53 +0100 (CET) From: Lynne To: FFmpeg development discussions and patches Message-ID: In-Reply-To: References: MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavu/tx: rewrite internal code as a tree-based codelet constructor X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 25 Jan 2022, 18:17 by onemda@gmail.com: > On Tue, Jan 25, 2022 at 11:46 AM Lynne wrote: > >> 21 Jan 2022, 09:51 by dev@lynne.ee: >> >> > 21 Jan 2022, 09:33 by dev@lynne.ee: >> > >> >> This commit rewrites the internal transform code into a constructor >> >> that stitches transforms (codelets). >> >> This allows for transforms to reuse arbitrary parts of other >> >> transforms, and allows transforms to be stacked onto one >> >> another (such as a full iMDCT using a half-iMDCT which in turn >> >> uses an FFT). It also permits for each step to be individually >> >> replaced by assembly or a custom implementation (such as an ASIC). >> >> >> >> Patch attached. >> >> >> > >> > Forgot that I disabled double and int32 transforms to speed up >> > testing, reenabled locally and on my github tx_tree branch. >> > Also removed some inactive debug code. >> > https://github.com/cyanreg/FFmpeg/tree/tx_tree >> > >> >> I fixed bugs and improved to code more, and I think it's ready >> for merging now. >> The rdft is no longer bound by any convention, and its >> scale may be changed by the user, eliminating after-transform >> multiplies that are used pretty much everywhere in our code. >> >> If someone (looks at Paul) gives it a test or converts a filter, >> would be nice. I've only tested it on my synthetic benchmarks: >> https://github.com/cyanreg/lavu_fft_test >> > > > Will try it once its applied. Thanks. > Applied. It's around 20% faster than lavc's rdft for powers of two lengths. Non-power-of-two lengths are partially SIMD'd, so they're usable too. I'll SIMD the small O(n) rdft loop once I'm done with NEON's and PFA's SIMD. If you find bugs ping me on IRC. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".