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 31C134A89D for ; Mon, 17 Jun 2024 19:21:27 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C316A68D7B1; Mon, 17 Jun 2024 22:20:47 +0300 (EEST) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A35D168D1BB for ; Mon, 17 Jun 2024 22:20:36 +0300 (EEST) Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-36084187525so2253452f8f.3 for ; Mon, 17 Jun 2024 12:20:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718652035; x=1719256835; 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=j01LhqEfoMblKhauX4+KfMQ8Mww5tnyQUfXiz6ydeKg=; b=UdVAFozHtAI0h09QYyQikbBM2bc0oCB4PDoZ2t2U+lWdnjG6IpJvMqxQ+Ja4rw3AFG kV/iAT9JCAE1AFtscz9lXGhvvl+vcbw/QVAShV2pRO/UmVQpmGZsKfHcsiYfyZjZVD0z DVL5RlZUTRXP5Zz08tS6zLKFozAVtmkSttXGm5cJx/ICnnKy4Am+dF4LKtZdn+sYxkTp t436X2wFCm5gZja2UmQNW01/QhL41fWEAtiA9pPCYUMx1v2PfxJcLdfO8NAlxI2u1v3x nz4f6U38+jXzcJsbxQ7Yy4AFCV6GkmnEsV8E3qnclYm7i/bE8Bl9a0rGXSQG0wN/TtUW kNiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718652035; x=1719256835; 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=j01LhqEfoMblKhauX4+KfMQ8Mww5tnyQUfXiz6ydeKg=; b=VCsMuEg7XyfF5/dcVGST1o09lQDbTSZGn4QLdpnJvTbz81FzOMuMe1oF56QXvB0Q4O XnHc4pNHxjWG5lpe36IIylL9hkrlcDcQdeRYWMUJkrq+FndlRtheAWAsE1Xf7hBVLl72 nIk7NldjXtv6Uu4N/IQPUFboq4uoOgthHqyQjcl4yGAG9vVWwyHo1938K1d3t1VZBjsw mRe7AJaCDvmwhUhASJejJSDJz0aFOb+ir+ythsXpKojHeFfuYhjBhTFW6IxZJHtrpZCr nhUORzVuprMj6kspdmbXoxgL+BNDENSjZs1sbJQA7+KYVE09esN7OYkUUkwQi05Pzl1h lc5Q== X-Gm-Message-State: AOJu0Yz7tdiTaMrXUN8kXbS/m/9qlzCE4sGyV7c0cmJalh8CAWN0qENG eQKTgzmzSlCitX9haxoyOFZq3d8i1dghUD5Knl41CYI/r8Wa7ny55H+V6w== X-Google-Smtp-Source: AGHT+IEahW/tXxXP6SQ7KDKSAdduIzwLLktDv/DeQFpH5N+Uspzd2VjVr1EREqzE2KwBEESz53KiSQ== X-Received: by 2002:adf:e68e:0:b0:35f:2fd3:85c1 with SMTP id ffacd0b85a97d-3607a74e617mr7463025f8f.12.1718652035260; Mon, 17 Jun 2024 12:20:35 -0700 (PDT) Received: from localhost.localdomain (0540dce9.skybroadband.com. [5.64.220.233]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3607509353csm12531797f8f.22.2024.06.17.12.20.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 12:20:34 -0700 (PDT) From: Derek Buitenhuis To: ffmpeg-devel@ffmpeg.org Date: Mon, 17 Jun 2024 20:20:19 +0100 Message-ID: <20240617192019.512769-6-derek.buitenhuis@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240617192019.512769-1-derek.buitenhuis@gmail.com> References: <20240617192019.512769-1-derek.buitenhuis@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 5/5] avformat/mov: Add support for reading and exporting horizontal field of view 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: These boxes are created by the Apple Vision Pro and the iPhone 15+ when capture for the Vision Pro is enabled. Based off of the swift API: * https://developer.apple.com/documentation/coremedia/kcmformatdescriptionextension_horizontalfieldofview Signed-off-by: Derek Buitenhuis --- libavformat/mov.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 5724b4ef93..367af8478b 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -6759,6 +6759,34 @@ static int mov_read_vexu(MOVContext *c, AVIOContext *pb, MOVAtom atom) return 0; } +static int mov_read_hfov(MOVContext *c, AVIOContext *pb, MOVAtom atom) +{ + AVStream *st; + MOVStreamContext *sc; + + if (c->fc->nb_streams < 1) + return 0; + + st = c->fc->streams[c->fc->nb_streams - 1]; + sc = st->priv_data; + + if (atom.size != 4) { + av_log(c->fc, AV_LOG_ERROR, "Invalid size of hfov box: %"PRIu64"\n", atom.size); + return AVERROR_INVALIDDATA; + } + + + if (!sc->stereo3d) { + sc->stereo3d = av_stereo3d_alloc(); + if (!sc->stereo3d) + return AVERROR(ENOMEM); + } + + sc->stereo3d->horizontal_field_of_view = avio_rb32(pb); + + return 0; +} + static int mov_parse_uuid_spherical(MOVStreamContext *sc, AVIOContext *pb, size_t len) { int ret = 0; @@ -8878,6 +8906,7 @@ static const MOVParseTableEntry mov_default_parse_table[] = { { MKTAG('s','t','3','d'), mov_read_st3d }, /* stereoscopic 3D video box */ { MKTAG('s','v','3','d'), mov_read_sv3d }, /* spherical video box */ { MKTAG('v','e','x','u'), mov_read_vexu }, /* video extension usage */ +{ MKTAG('h','f','o','v'), mov_read_hfov }, { MKTAG('d','O','p','s'), mov_read_dops }, { MKTAG('d','m','l','p'), mov_read_dmlp }, { MKTAG('S','m','D','m'), mov_read_smdm }, -- 2.43.0 _______________________________________________ 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".