From patchwork Wed Jul 3 21:26:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 50319 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp3419432vqv; Wed, 3 Jul 2024 18:04:17 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWAyxAbC+xjrQPhpg7G9IhXMI2dNAhF5mp80C67YERihE8nEZv5qDWqd7USm3XBJORg3N+drUFKA3Czomk99wxVVAMG5Z8BSDlUAw== X-Google-Smtp-Source: AGHT+IGJ48JyGbIwV8W27o0fr2Er2PsyBJ5PQpDvGL1ZlXpn16i9KD9zKJ+G44HvYaob57uw+ptp X-Received: by 2002:a05:6402:35c5:b0:58c:b2b8:31b2 with SMTP id 4fb4d7f45d1cf-58e5a8e8e27mr120882a12.17.1720055045482; Wed, 03 Jul 2024 18:04:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1720055045; cv=none; d=google.com; s=arc-20160816; b=yGTM2WiFKG4yrkbtARjjwRtffpYVCjUkz2fn62/B/+K1oH7mhuTD7MXG3oC3igx1Zn n8iHMb7UDW1fvni5Br1F2rKFdfGRgpHfPmDtoxV6u3fs5XUuVvnbadjdU1n8urxUXt39 /g2paTD6i+WZSWAzt/RPdwH0CdvNi08OxNY+jGGFCYy/JggXw69FXgO7IT2KS176asRY ub+GRcP1nWrI7EoCGwoLpMFzMBjZsQMskkRKfhZUyeFogtlxq67O4jA3y58nJFdNTx2p mPZRYfAolQgBykBW0XHCDuce9RWiCrIs835QUOB3wI20cQ0WFw/KJYyuode86aq7SSJd Jj0A== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=do0m1eLnDUMegzeo75WHEAZhO/iCQYPgcbQlokeg7uU=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Cy6Rpd1UfRgMpwUAAvY9E8Xkz91j2GYi15OxSK4RnaN5lSm2g+Ejf4ZPj4dfVUjEYU gGkAUJi0YMTlMJDu2F4zmXuDJvHZR2QZX1lpxk2wy9qz6jGx+86pRwwZrG1NIRuRB1aI fLGBe94/+HA08WOVOtLXcUF/0BKh/HBU1Fx2vOP6RiXojUxLFBA8FJvWpkauwM4tR1xZ ON7VOVAnm6tUscm55syAIObxlSN/OodNJX1qjii+rVyCkTvdEqBwcjwiksHmaj0qs1/d MYnUw0qPtxhO/MiOmuMfNTQtkjFki7Laqt2jyBO/gA+DMS1XirsYvSJX17e6LqBgyMrZ r0Bw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=AD47C7Kx; 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=QUARANTINE 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 4fb4d7f45d1cf-58c447596fasi1774692a12.475.2024.07.03.18.04.04; Wed, 03 Jul 2024 18:04:05 -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.s=20230601 header.b=AD47C7Kx; 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=QUARANTINE 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 90BE368DA0D; Thu, 4 Jul 2024 00:27:09 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 39ED968D9F9 for ; Thu, 4 Jul 2024 00:26:54 +0300 (EEST) Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1fab03d2f23so45890745ad.0 for ; Wed, 03 Jul 2024 14:26:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720042010; x=1720646810; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=mt1jns9z0idIhvLFMMZnGMUbIC/HJeFVqEKfWRvgeEc=; b=AD47C7Kx+G3g3Ef2dw4HmikaWIoFa02Z5e0UM4tbl6szOi1hOugPUMjppcoaS8NFVJ Q9VtXwH2qZcrJ5XX8+nv2VRP+c9+HLVX7R4jpwuVc7B6rZbohs2E1lv7M8F97ez4FYF1 ahxCKW/s4SqIXXuCdZ3zWHa86ddTCEBQjdz8Wl+Bgkcr9KqFL15xBsWLR+5KbhcuJySl PFdFXN9NEMwkiBcsaGV9qLJzaaE28l85JOLbNNor9hpt8gt3azmiMEkTgl3SooQkN42j BDQixhh8vrZb1KxbLeZaoUgDECHD4Hm3EBe8VGDxGRSky8/IEVutYONAdBRzAiowoTnF 0pgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720042010; x=1720646810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mt1jns9z0idIhvLFMMZnGMUbIC/HJeFVqEKfWRvgeEc=; b=iXoedsJQOBselTQxlg+6Lx4XBpeJJvxUthFxEwl2x35N9ZCX3qTRFIkDe6lY+Zb9VF dJgKd8a0UdWeUqhBhIRB7cEu27Q9y+p3oKj3cGCEXXy5QlXqcurOOFXdwoffS0aMR9nh 3269VkXn71EEFhw/CSiqvqDM/YOPeMjP8AWYr45WWzEIrA4Cx1wKU93ig23WV1gOZuhF 7HGTjnXmP3KIoUSus8dmBWenoFUAA6gkuZtveWINSTFICAzneKZFUFKvRhYDEOjnSNX8 R0j/Zf7/4xhnMMccjlWI1BueY3E5/ulTNOK6dvICoCHExi+VMtBrariXibo1K8xkbZdZ ZsxQ== X-Gm-Message-State: AOJu0YzXQ1dVRAVPym9Ucn5ESB0kaDJNl71Zb64hmv0Cbu6AqKEErm3l 21n170YQ6g50WrNS1DdfW65nGI9EOQjuG3UYrJWy413Mft/MNnpmkt7hEg== X-Received: by 2002:a17:90b:4d8f:b0:2c7:3e4c:e782 with SMTP id 98e67ed59e1d1-2c93d5de1b6mr9453661a91.0.1720042010340; Wed, 03 Jul 2024 14:26:50 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2c91ce58877sm11370560a91.24.2024.07.03.14.26.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Jul 2024 14:26:49 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 3 Jul 2024 18:26:46 -0300 Message-ID: <20240703212648.48483-11-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240703212648.48483-1-jamrial@gmail.com> References: <20240703212648.48483-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 11/11] avformat/movenc: add support for writting hfov boxes 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: sEeHofRxyT44 Signed-off-by: James Almer --- libavformat/movenc.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 500ea25731..5f4c1cb6ea 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -2195,6 +2195,17 @@ static inline int64_t rescale_rational(AVRational q, int b) return av_rescale(q.num, b, q.den); } +static void mov_write_hfov_tag(AVFormatContext *s, AVIOContext *pb, + const AVStereo3D *stereo3d) +{ + if (!stereo3d->horizontal_field_of_view.num) + return; + + avio_wb32(pb, 12); /* size */ + ffio_wfourcc(pb, "hfov"); + avio_wb32(pb, rescale_rational(stereo3d->horizontal_field_of_view, 1000)); +} + static void mov_write_vexu_proj_tag(AVFormatContext *s, AVIOContext *pb, const AVSphericalMapping *spherical_mapping) { @@ -2770,6 +2781,8 @@ static int mov_write_video_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContex if (stereo3d || spherical_mapping) mov_write_vexu_tag(s, pb, stereo3d, spherical_mapping); + if (stereo3d) + mov_write_hfov_tag(s, pb, stereo3d); } if (track->mode == MODE_MP4) {