From patchwork Mon Jan 2 23:21:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Langdale X-Patchwork-Id: 34872 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bc95:b0:ad:ade2:bfd2 with SMTP id fx21csp7685073pzb; Mon, 2 Jan 2023 15:22:04 -0800 (PST) X-Google-Smtp-Source: AMrXdXupxjhcMsCj7HtsCy1IS7TliPthmzidWFHSIJ1V56mF9IGowaX4XiHmpInjlMfiGq5dqBB2 X-Received: by 2002:a17:906:6d97:b0:81d:3231:591e with SMTP id h23-20020a1709066d9700b0081d3231591emr36981717ejt.49.1672701723952; Mon, 02 Jan 2023 15:22:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672701723; cv=none; d=google.com; s=arc-20160816; b=uwUzUVOqmc0QC6HL3+AMmPPElYVbk7Cx0EkmELbgQzIkKcVy1YjuaWTKrC0yZwZPI1 sIGXP5NSFe/hbH5T+Wmu+MRo3jVeMmqEBg17tr8AFuBZSya6I9l5R4vV0bBDRHTRkPeq iqMbNsjxCS1mmsXMyWYxPlACRrBWSALuH497/WKb3xPceIuC/hCnv8qMYKyJfn1KjxcO GQnXPycAKh+hT1gpr/1+60JiOeFbs3PdwfTGY7H1vFYn85UenK5M4A8NbqJRW+e3NafG evTwZVwpdWkBYejZDeVlPPFs7U1p58DFb9b9oYK5PXmZBlvWCgDUTcNHxeA55lkarc5Y F82w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=Mk2RILdHse7peI9gmtud19zhvpxyVP/QTiUgyISHFuo=; b=qDnXrW2EU7NxSkVnrWPTEeuhsRG5JJeBIq7aHYZxOBaq2eEr+GFBPqNImJIOoE1rcv CqY7vIyuofeBMNMhWibAfLSu9Dz6lZe8vQCRQOoEc1UQNt3gxZTTBNd+odFpcMi2/qYc c6D8k9b5quXGN8CXmGMkzYhce3HTpDF7BNc3PxFhYHIPD+m73dK2kVrz5+SAjuTYHpW/ da2gSONNYGeXl69Qb/fmWgzdW+YHClNe6dPFRy/g7LxDnAF83SdnGRhmcAhHvH71DjDd CEp3+XTQFbhvQGjD4/FbZC4lIq1Jr4SlEA84Y7RjiyAPgjSgYYH8XvHPpUUGVAULjQPx bsBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@overt.org header.s=mail header.b=UyxY8z4Z; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=overt.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id di15-20020a170906730f00b007c14d966ebasi28508675ejc.404.2023.01.02.15.22.03; Mon, 02 Jan 2023 15:22:03 -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=@overt.org header.s=mail header.b=UyxY8z4Z; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=overt.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 69F7068BCD7; Tue, 3 Jan 2023 01:21:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail.overt.org (unknown [72.14.183.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5E6F868BCAF for ; Tue, 3 Jan 2023 01:21:45 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=overt.org; s=mail; t=1672701703; bh=ds32OTOBsu7/n7x+glFNtkRvj18dyRqwr/RNFOhLoNU=; h=From:To:Cc:Subject:Date:From; b=UyxY8z4Z6ti8bzPUn1/3MMDYbThOuUeiwImxFp/pMU6vdVJSKCFwiSaAdCMmuSINZ OC+/MLRrrIeEpr/oa80JBe7J/W2jsYLSFBYlMFXTxsfLZpsN2n9rdjXyCtzQC9tqt9 0EdY9za4Cjm7RhnuJfUsYx1PxfKYIkZYzFaZ5q/I15Xzwp5xoWYFWwMxQFkSkUx2Lq 7sBmye3kCszeWcZ0oglYHT/yacDRx7CpxgxYyXnRZ+Fh/vzRc+VkBGkh9L4/9n3vgX GfuHrIRxrvBxMqWyxNqDlxVRqCjrDuSS3bnFad9iCY3EJLWf6p49mznyYxhktDBub0 wQJkd0KOxvlow== Received: from authenticated-user (mail.overt.org [72.14.183.176]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.overt.org (Postfix) with ESMTPSA id 3DE7B629EA; Mon, 2 Jan 2023 17:21:43 -0600 (CST) From: Philip Langdale To: ffmpeg-devel@ffmpeg.org Date: Mon, 2 Jan 2023 15:21:31 -0800 Message-Id: <20230102232133.729217-1-philipl@overt.org> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/2] Interpolation filter using nvidia OFFRUC Library 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 Cc: Philip Langdale Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: x1WbJmtcl4EH This filter implements frame rate down/upsampling using nvidia's Optical Flow FRUC (Frame Rate Up Conversion) library. It's neat because you get realtime interpolation with a decent level of quality. It's impractical because of licensing. I have no actual intention to merge this, as it doesn't even meet our bar for a nonfree filter, and given the EULA restrictions with the SDK, anyone who would want to use it can easily cherry-pick it into the build they have to anyway. But I figured I'd send it to list as a way of announcing that it exists. How nice would it be if nvidia had sane licensing on this stuff? I'll keep a branch at: https://github.com/philipl/FFmpeg/tree/fruc-me --phil Philip Langdale (2): lavu/hwcontext_cuda: declare support for argb/abgr/rgba/bgra avfilter/vf_nvoffruc: Add filter for nvidia's Optical Flow FRUC library configure | 7 +- libavfilter/Makefile | 1 + libavfilter/allfilters.c | 1 + libavfilter/vf_nvoffruc.c | 644 +++++++++++++++++++++++++++++++++++++ libavutil/hwcontext_cuda.c | 4 + 5 files changed, 654 insertions(+), 3 deletions(-) create mode 100644 libavfilter/vf_nvoffruc.c