On 7/28/2025 10:50 PM, Vittorio Giovara wrote:
From a244d96e045439f9e3a4db99e2f479e8686221da Mon Sep 17 00:00:00 2001
From: Vittorio Giovara <vittorio.giov...@gmail.com>
Date: Wed, 23 Jul 2025 23:42:14 +0200
Subject: [PATCH 2/2] lavu/spherical: Add support for Spherical Immersive type

---
 libavformat/mov.c     | 3 +++
 libavutil/spherical.c | 1 +
 libavutil/spherical.h | 6 ++++++
 3 files changed, 10 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 7c91322027..eeb406609c 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -6860,6 +6860,9 @@ static int mov_read_vexu_proj(MOVContext *c, AVIOContext 
*pb, MOVAtom atom)
     case MKTAG('f','i','s','h'):
         projection = AV_SPHERICAL_FISHEYE;
         break;
+    case MKTAG('p','r','i','m'):
+        projection = AV_SPHERICAL_PARAMETRIC_IMMERSIVE;
+        break;
     default:
         av_log(c->fc, AV_LOG_ERROR, "Invalid projection type in prji box: 
0x%08X\n", tag);
         return AVERROR_INVALIDDATA;

This should be its own separate commit.

diff --git a/libavutil/spherical.c b/libavutil/spherical.c
index 64ade1d0ec..71342faea9 100644
--- a/libavutil/spherical.c
+++ b/libavutil/spherical.c
@@ -62,6 +62,7 @@ static const char *const spherical_projection_names[] = {
     [AV_SPHERICAL_HALF_EQUIRECTANGULAR] = "half equirectangular",
     [AV_SPHERICAL_RECTILINEAR]          = "rectilinear",
     [AV_SPHERICAL_FISHEYE]              = "fisheye",
+    [AV_SPHERICAL_PARAMETRIC_IMMERSIVE] = "parametric immersive",
 };
const char *av_spherical_projection_name(enum AVSphericalProjection projection)
diff --git a/libavutil/spherical.h b/libavutil/spherical.h
index 2e90f7752d..4b78978eb9 100644
--- a/libavutil/spherical.h
+++ b/libavutil/spherical.h
@@ -82,6 +82,12 @@ enum AVSphericalProjection {
      * See: 
https://developer.apple.com/documentation/coremedia/cmprojectiontype/fisheye
      */
     AV_SPHERICAL_FISHEYE,
+
+    /**
+     * Parametric Immersive projection (Apple).
+     * See: 
https://developer.apple.com/documentation/coremedia/cmprojectiontype/parametricimmersive
+     */
+    AV_SPHERICAL_PARAMETRIC_IMMERSIVE,

Missing minor version bump and APIChanges entry, LGTM otherwise.

 };
/**
--
2.50.0

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to