From patchwork Thu Sep 19 14:21:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: TADANO Tokumei X-Patchwork-Id: 35181 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:d154:0:b0:48e:c0f8:d0de with SMTP id bt20csp350622vqb; Thu, 19 Sep 2024 07:29:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWzYHOodkBCZsrkYvfEVrM/y5iKVL931TKq1o4uvr2h+y0WOMDoInjclerysRPZTKsIxKrLFZY1oOzv69hSts2S@gmail.com X-Google-Smtp-Source: AGHT+IHeWXAwHM5hiZePIrf17dcaLY0byGilAk+LhZPhQ4j8irj2J/0kuVr31hRZvLP0Oa6JDQC+ X-Received: by 2002:a05:651c:1549:b0:2f7:631a:6e0d with SMTP id 38308e7fff4ca-2f787dc3b59mr147766551fa.12.1726756154779; Thu, 19 Sep 2024 07:29:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726756154; cv=none; d=google.com; s=arc-20240605; b=h0FrjQ9+UD1hrebXbPXIUVdLsdgWuK9PC8tXCKfhBTE1sr0s+OW7Dw0BhWLOlnZUKc zBOz1jB1LXtWcUjHIkD13V9Vu7Prbfh1IcxT8DcsZalkk7MS7ADqIDTjtDcUBE0iiCva 0BxzRsgjomFHNvQE/M+8GZqGsN150TFdt98SI+zNYrsY3ezPiKKO/HcgnKQQAsOSKelz CZ093qgKY7gsYi1zTrB/5iI8XGxt8XFE9Kv4pv1E7hrMmveTqCiXpKH+Y2B245ZqE1Xo hf01++PSnbbO/miaOZBPf/GyAfs5ybmj53RDz9icqoOU9KpNLHP66hGCtZF9K1rcO5el 2KfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:dkim-signature:mime-version:message-id :date:to:from:delivered-to; bh=NTx/kjowdA8sxDdU8rAs1VWEQMvKKyCofOqnyY0IWew=; fh=ssXC39eKeah6YcPRlt8jBK+nQIpHohGaLsoJm2kZFpQ=; b=dQscZIOqcaf9nkc9qqxVCNNLZh3m6Wi3BPNgfEWXB2zpcevIV0MJ00DjjVj2FbDPVD Tx5XSoyLfbSa32UADpvr2yzl03dhOcZAvfFvx31jzmuLMr3L5/gYLevgkRkKqwZJrzfn 9BTdB9q6kWOsRaZxtUMy9suMlmxuIZew4lbNqUuUVpcwvERT5BrEpyOfUOn4vjjeTsLb mVMtRI0Btn5IYiSwvmkauQfDYUZt9ngOWNPkKgSIHb0TXNP23uU2zCE0cK92K3M/2WMr 1VQBTGghB9BKtZYdkZ8kKTPMFJytGRyT0U1liefl3FsSbF+etSI9Hh68JxY2MEFhZRjV /FpQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@pc.nifty.jp header.s=default-1th84yt82rvi header.b=Ux3KrHWB; 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=pc.nifty.jp Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 38308e7fff4ca-2f79d2c7fa0si38024331fa.70.2024.09.19.07.29.14; Thu, 19 Sep 2024 07:29:14 -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=@pc.nifty.jp header.s=default-1th84yt82rvi header.b=Ux3KrHWB; 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=pc.nifty.jp Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6B1B168DB75; Thu, 19 Sep 2024 17:21:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mta-snd-e02.mail.nifty.com (mta-snd-e02.mail.nifty.com [106.153.226.34]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D3F9868DAB1 for ; Thu, 19 Sep 2024 17:21:27 +0300 (EEST) Received: from localhost.localdomain by mta-snd-e02.mail.nifty.com with ESMTP id <20240919142123409.BNQP.44461.localhost.localdomain@nifty.com>; Thu, 19 Sep 2024 23:21:23 +0900 From: TADANO Tokumei To: ffmpeg-devel@ffmpeg.org Date: Thu, 19 Sep 2024 23:21:15 +0900 Message-Id: <20240919142116.239725-1-aimingoff@pc.nifty.jp> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pc.nifty.jp; s=default-1th84yt82rvi; t=1726755683; bh=Yber+s5aS2cZyuLQlmQml99B6l3S/9egKNC66y9nMzY=; h=From:To:Cc:Subject:Date; b=Ux3KrHWBy+y0A2DOVU87l/eKYGVMIjNaETjAyWy9tRr3CvwJ1kJ3Krz90nBwl0mONyLbfHHa JE0bep6c68Q1vcBU35ZZwlCqrjGt3jyNnUbcbCejE39gN9o9L7AD64CR3b9lqAm8c3kP9M7jUG 9LbJC9SsCVQnI0Bju5V48pF3QCQHj8sDl7Cr1qOWInkXk8izdmIhrRutJUZdVryMQKxU+b6WIb 13WTeOB2tH40RnCLzAwt10XGJ0JNimsh2d9/By3FDjTlVQJGfJvI2KY0c4YhR7BxNlC3Yfh6QO yAV7oAa/vhNr8fiVAmuFQ/glYZI0v9r4bpwo/N/NEbgo8Rfw== Subject: [FFmpeg-devel] [PATCH v5 0/1] lavfi/vf_gopromax_opencl: add GoPor Max 360 video filter 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: TADANO Tokumei Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: NE4HK7em4tKx This is updated patch of: https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=3943 I contacted to Ronan LE MEILLAT and agreed with him to submit new patch. Abstruct of GoPro Max .360 video file format is described in: https://gopro.com/news/max-tech-specs-stitching-resolution The specification is little bit buggy. The format is based on EAC (Equi-Angular Cubemap), and there are overlapped pixels at boundaries of front and rear cams. Probably, the desinger intended to add 2 x 32 (= total 64) ovelapped pixels. But actual format has 2 x 64 pixels overlapped area. Thus the width will be 2 x 32 pixels shorter than standard EAC format after blending overlapped area. This filter blends overlapped area, stretches the width of the cube, and combine two streams into single stream with standard format. v3: modifies `configure` file to add dependency on opencl. v4: fix small difference from v360 filter in xyz_to_eac() v5: rebase to latest master (drop internal.h) TADANO Tokumei (1): lavfi/vf_gopromax_opencl: add GoPro Max 360 video filter configure | 1 + doc/filters.texi | 78 +++++++ libavfilter/Makefile | 2 + libavfilter/allfilters.c | 1 + libavfilter/opencl/gopromax.cl | 282 +++++++++++++++++++++++++ libavfilter/opencl_source.h | 1 + libavfilter/vf_gopromax_opencl.c | 350 +++++++++++++++++++++++++++++++ 7 files changed, 715 insertions(+) create mode 100644 libavfilter/opencl/gopromax.cl create mode 100644 libavfilter/vf_gopromax_opencl.c