From patchwork Thu Jun 27 13:24:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 50194 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:bc92:0:b0:482:c625:d099 with SMTP id p18csp463400vqy; Thu, 27 Jun 2024 06:32:51 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUbOsi+rAkiBAErRNQX3j0R1gfWlljqn36+Oz4c7XwNw9Ysgb7567SQm0/VqT04RFBLERu/FnihTaTE+7cRH0Hnmwg/0TNVVLzBmQ== X-Google-Smtp-Source: AGHT+IF6yEFR+hMxFZiAtXuv8ANY/d5osDj6PyDP2BjZKKZmKOzK/c/ejK+VjY5wLEdzy5OA44HO X-Received: by 2002:a17:907:a684:b0:a72:7e1e:6301 with SMTP id a640c23a62f3a-a727f820170mr537077566b.61.1719495170364; Thu, 27 Jun 2024 06:32:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719495170; cv=none; d=google.com; s=arc-20160816; b=W4VBNA+fCNjDcd8qBGsE85GyrJh40S8QV5iJl/U+hf/UAGzYJvSEhDg9OJSrQOPGIc p33m+nEtbhZYNMjfqVTfYFdZzInlVERQQM0T9am1ug8LE8hFe4tbBfZAbWTJtcREI2YV k91mFIpexaO676BpWhW23syzs2AEacf2mn4nvHTG7ywHPTJnUbWZdHrYgQ+xvrYYDyxQ eYW0JjQq5NP0ZYVBHGYaKi72ZZrNljwWoLEUF1Gm6XtYUd59UfOFbXRyfB5wIEQG94CQ d5PewARvG1VC51OwQ7nIdwTcSTZ4JNC+ELRO3C4mD5kLlx0NN7gVxS/goc1A2p48WMcc iALQ== 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=AjWrMeCb2VQFQy/4Tw7qZJSlHNaNS1tZHTek4RaR9hA=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=T2Z6Xn3uD/kLS2sMhJx19CXkBSau8143nhckRp7R32LDTFNMiM1c42t0rJzSMVk5vj aG6bf2Yv+Ukh8Y/7rxLgLEsYE0qoFAflNK6RdM5CMrnxZjy35pQo16+qMDKpxLXzkUSy vwv4a5nD/lWW4zEPtnIEbZxOaR/NexYtayM/ll6EeTZndbylOnQZAXC/ysfxWTdeo7kC 4sloFBXQ7z9zagMc2T06Y6fOvZm0ZENaXKOJAnVUESL++V1uWlSIKdBQq4kqLnqk3K1E fjtWcZWgqmovp+6ZWCMZiiK0P34Azo/81mtwqcZ3iHg4WAJv9R18v4Rx0ucTsouCI6x5 Hr3g==; 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=jTJlqU+D; 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 a640c23a62f3a-a729d7c4ebbsi65562166b.844.2024.06.27.06.32.50; Thu, 27 Jun 2024 06:32:50 -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=jTJlqU+D; 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 BF21868C41D; Thu, 27 Jun 2024 16:24:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oo1-f48.google.com (mail-oo1-f48.google.com [209.85.161.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 56F6068CC25 for ; Thu, 27 Jun 2024 16:24:19 +0300 (EEST) Received: by mail-oo1-f48.google.com with SMTP id 006d021491bc7-5c410776a80so205358eaf.1 for ; Thu, 27 Jun 2024 06:24:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719494657; x=1720099457; 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=FmfdWdUWL5ujp325v1AWj1z7laptkD4Rw32Sq2C4ldA=; b=jTJlqU+DjKBKTS1nQyoH24dGznR9mIWWl2UFLw8ZKT9BCrSJPTcDhmo6KUsBjLXgp/ CJgOqhLwePedoXMxJNE99ODjEGo+5JCjTQd73EcCIW9U0AyT7FusX85DNJJVun2CqekM /dAxjGejTqsKped6zASfdRpOUrljyNa6JKuhQjuaznkHS+oWscNF1ODToeRbirKEjo9b 1ap16gJ562+jJmiORoCv28YHa7ypt07X1eBm5ii3hvGBtYrg5sVN/AA+QWYFG8p/je5D qQ1vkp4GfB41dlH1EvFCSgCpUQEAv14TTbz/N72+Rajfh/pfRbsJm3pNNW2zPLhZJORs WNww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719494657; x=1720099457; 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=FmfdWdUWL5ujp325v1AWj1z7laptkD4Rw32Sq2C4ldA=; b=S6hnbBHgKWdqS0a8407G/oK7oc6hIyuU9agdkNUgFG76VvD5TJNAu85fQHOk9ODqTS HxVskqHsKph18UYZ8EefthTeJrZjBZ7Ag9B+SbI+BvuE9w72o8VypIbnkwhajcrKM6aQ Lm7Zk2QvkjbPdM5pV1GRcNwoq5IrJCPw+QdghW+0fw7+yydKfgx0+TF+MUuzDLy2B3xt BuYm2nCsyX1KY0vnEGqnCYIo5AzaAg2Knzbvs++Hn3ql1H4UbaEcbXvRZDE9ay0quDRM OHTCI007eHrABurEVu5Fmuqt1IjlxUslPMwKmMzbrkwhwLeUL/n/FONVJcxzslXm6wZ4 2NcA== X-Gm-Message-State: AOJu0YzQv67zDYD76bcX4sEu+IfoHnmS2Nb2d/KgWKutdWyC5UWC7/h3 u1qrDa8na6aQoeFBqfyD3SUkMwmq87to+GLV9CPOi3MGSthI5OUp1LYLQg== X-Received: by 2002:a05:6870:9a8b:b0:259:87a5:6d10 with SMTP id 586e51a60fabf-25d06e365dcmr14228723fac.46.1719494657133; Thu, 27 Jun 2024 06:24:17 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-706b4a075a1sm1306155b3a.138.2024.06.27.06.24.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jun 2024 06:24:16 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 27 Jun 2024 10:24:09 -0300 Message-ID: <20240627132409.1811-1-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240626233059.10846-3-jamrial@gmail.com> References: <20240626233059.10846-3-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] avformat/mov: set Stereo3D type when parsing eyes box 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: LrvcVDdj4+5f If view is defined in the child stri box, then the type must be set to unspecified, as these boxes don't carry packing information. Also, don't attach a useless Stereo 3D side data if the stream is monoscopic. Signed-off-by: James Almer --- libavformat/mov.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index b4245789c4..14f43bf906 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -6546,7 +6546,8 @@ static int mov_read_eyes(MOVContext *c, AVIOContext *pb, MOVAtom atom) int size, flags = 0; int64_t remaining; uint32_t tag, baseline = 0; - enum AVStereo3DView view = AV_STEREO3D_VIEW_PACKED; + enum AVStereo3DView view = AV_STEREO3D_VIEW_UNSPEC; + enum AVStereo3DType type = AV_STEREO3D_2D; enum AVStereo3DPrimaryEye primary_eye = AV_PRIMARY_EYE_NONE; AVRational horizontal_disparity_adjustment = { 0, 1 }; @@ -6596,6 +6597,9 @@ static int mov_read_eyes(MOVContext *c, AVIOContext *pb, MOVAtom atom) view = AV_STEREO3D_VIEW_LEFT; else if (has_right) view = AV_STEREO3D_VIEW_RIGHT; + if (has_left || has_right) + type = AV_STEREO3D_UNSPEC; + break; } case MKTAG('h','e','r','o'): { @@ -6690,6 +6694,9 @@ static int mov_read_eyes(MOVContext *c, AVIOContext *pb, MOVAtom atom) return AVERROR_INVALIDDATA; } + if (type == AV_STEREO3D_2D) + return 0; + if (!sc->stereo3d) { sc->stereo3d = av_stereo3d_alloc_size(&sc->stereo3d_size); if (!sc->stereo3d) @@ -6697,6 +6704,7 @@ static int mov_read_eyes(MOVContext *c, AVIOContext *pb, MOVAtom atom) } sc->stereo3d->flags = flags; + sc->stereo3d->type = type; sc->stereo3d->view = view; sc->stereo3d->primary_eye = primary_eye; sc->stereo3d->baseline = baseline;