[FFmpeg-cvslog] lavu/spherical: Add support for Spherical Immersive type
Vittorio Giovara
git at videolan.org
Thu Jul 31 12:24:55 EEST 2025
ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Wed Jul 23 23:42:14 2025 +0200| [119d127d05c910db0f0d31c1b124a8d60fd0d75d] | committer: Vittorio Giovara
lavu/spherical: Add support for Spherical Immersive type
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=119d127d05c910db0f0d31c1b124a8d60fd0d75d
---
doc/APIchanges | 3 +++
libavformat/mov.c | 3 +++
libavutil/spherical.c | 1 +
libavutil/spherical.h | 6 ++++++
libavutil/version.h | 2 +-
5 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/doc/APIchanges b/doc/APIchanges
index 5c40b7c13d..87e6036f18 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2025-03-28
API changes, most recent first:
+2025-07-31 - xxxxxxxxxx - lavu 60.7.100 - spherical.h
+ Add AV_SPHERICAL_PARAMETRIC_IMMERSIVE.
+
2025-07-20 - xxxxxxxxxx - lavu 60.6.100 - attributes.h, avstring.h
Add av_scanf_format() and use it on av_sscanf().
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 1c14b6fcf9..7f88ec8220 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -6858,6 +6858,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;
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,
};
/**
diff --git a/libavutil/version.h b/libavutil/version.h
index 946429b8fc..b454106960 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 60
-#define LIBAVUTIL_VERSION_MINOR 6
+#define LIBAVUTIL_VERSION_MINOR 7
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
More information about the ffmpeg-cvslog
mailing list