[FFmpeg-devel] [PATCH 1/8 v3] avutil/stereo3d add a Monoscopic view enum value

James Almer jamrial at gmail.com
Sat Jun 22 18:31:15 EEST 2024


We need a way to signal the frame has a single view that doesn't map to any
particular eye, and it should be the default one.

Signed-off-by: James Almer <jamrial at gmail.com>
---
Now updating all the fate test...

The 3D ones will be updated again in the following commits once ffprobe is
adapted to properly handle the view field.

 libavutil/stereo3d.c                         | 3 ++-
 libavutil/stereo3d.h                         | 9 +++++++--
 tests/ref/fate/matroska-spherical-mono       | 2 +-
 tests/ref/fate/matroska-spherical-mono-remux | 4 ++--
 tests/ref/fate/matroska-stereo_mode          | 8 ++++----
 tests/ref/fate/matroska-vp8-alpha-remux      | 2 +-
 tests/ref/fate/mov-spherical-mono            | 2 +-
 7 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/libavutil/stereo3d.c b/libavutil/stereo3d.c
index 19e81e4124..0c0cad127c 100644
--- a/libavutil/stereo3d.c
+++ b/libavutil/stereo3d.c
@@ -68,9 +68,10 @@ static const char * const stereo3d_type_names[] = {
 };
 
 static const char * const stereo3d_view_names[] = {
-    [AV_STEREO3D_VIEW_PACKED] = "packed",
+    [AV_STEREO3D_VIEW_MONO]   = "monoscopic",
     [AV_STEREO3D_VIEW_LEFT]   = "left",
     [AV_STEREO3D_VIEW_RIGHT]  = "right",
+    [AV_STEREO3D_VIEW_PACKED] = "packed",
 };
 
 static const char * const stereo3d_primary_eye_names[] = {
diff --git a/libavutil/stereo3d.h b/libavutil/stereo3d.h
index 00a5c3900e..77340f72b2 100644
--- a/libavutil/stereo3d.h
+++ b/libavutil/stereo3d.h
@@ -143,9 +143,9 @@ enum AVStereo3DType {
  */
 enum AVStereo3DView {
     /**
-     * Frame contains two packed views.
+     * Frame is monoscopic.
      */
-    AV_STEREO3D_VIEW_PACKED,
+    AV_STEREO3D_VIEW_MONO,
 
     /**
      * Frame contains only the left view.
@@ -156,6 +156,11 @@ enum AVStereo3DView {
      * Frame contains only the right view.
      */
     AV_STEREO3D_VIEW_RIGHT,
+
+    /**
+     * Frame contains two packed views.
+     */
+    AV_STEREO3D_VIEW_PACKED,
 };
 
 /**
diff --git a/tests/ref/fate/matroska-spherical-mono b/tests/ref/fate/matroska-spherical-mono
index b108596350..aa17e9c624 100644
--- a/tests/ref/fate/matroska-spherical-mono
+++ b/tests/ref/fate/matroska-spherical-mono
@@ -3,7 +3,7 @@
 side_data_type=Stereo 3D
 type=2D
 inverted=0
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
diff --git a/tests/ref/fate/matroska-spherical-mono-remux b/tests/ref/fate/matroska-spherical-mono-remux
index eec41b77f3..75a9b73a37 100644
--- a/tests/ref/fate/matroska-spherical-mono-remux
+++ b/tests/ref/fate/matroska-spherical-mono-remux
@@ -27,7 +27,7 @@ DISPOSITION:forced=1
 side_data_type=Stereo 3D
 type=2D
 inverted=0
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
@@ -56,7 +56,7 @@ DISPOSITION:forced=0
 side_data_type=Stereo 3D
 type=2D
 inverted=0
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
diff --git a/tests/ref/fate/matroska-stereo_mode b/tests/ref/fate/matroska-stereo_mode
index 26c325b20e..e35425ae76 100644
--- a/tests/ref/fate/matroska-stereo_mode
+++ b/tests/ref/fate/matroska-stereo_mode
@@ -132,7 +132,7 @@ TAG:DURATION=00:00:10.000000000
 side_data_type=Stereo 3D
 type=side by side
 inverted=0
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
@@ -152,7 +152,7 @@ TAG:DURATION=00:00:10.000000000
 side_data_type=Stereo 3D
 type=top and bottom
 inverted=1
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
@@ -170,7 +170,7 @@ TAG:DURATION=00:00:10.000000000
 side_data_type=Stereo 3D
 type=interleaved lines
 inverted=1
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
@@ -189,7 +189,7 @@ TAG:DURATION=00:00:10.000000000
 side_data_type=Stereo 3D
 type=interleaved columns
 inverted=1
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
diff --git a/tests/ref/fate/matroska-vp8-alpha-remux b/tests/ref/fate/matroska-vp8-alpha-remux
index 06bcc4b4ba..814463eeda 100644
--- a/tests/ref/fate/matroska-vp8-alpha-remux
+++ b/tests/ref/fate/matroska-vp8-alpha-remux
@@ -35,7 +35,7 @@ DISPOSITION:still_image=0
 side_data_type=Stereo 3D
 type=2D
 inverted=0
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
diff --git a/tests/ref/fate/mov-spherical-mono b/tests/ref/fate/mov-spherical-mono
index b108596350..aa17e9c624 100644
--- a/tests/ref/fate/mov-spherical-mono
+++ b/tests/ref/fate/mov-spherical-mono
@@ -3,7 +3,7 @@
 side_data_type=Stereo 3D
 type=2D
 inverted=0
-view=packed
+view=monoscopic
 primary_eye=none
 baseline=0
 horizontal_disparity_adjustment=0/1
-- 
2.45.2



More information about the ffmpeg-devel mailing list