diff mbox series

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

Message ID 20240622153122.6220-1-jamrial@gmail.com
State New
Headers show
Series [FFmpeg-devel,1/8,v3] avutil/stereo3d add a Monoscopic view enum value | expand

Checks

Context Check Description
andriy/commit_msg_x86 warning The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ".
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

James Almer June 22, 2024, 3:31 p.m. UTC
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@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(-)

Comments

James Almer June 22, 2024, 7:57 p.m. UTC | #1
On 6/22/2024 12:31 PM, James Almer wrote:
> 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@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.

Ok, turns out AVStereo3DView is not by Derek from a few days ago but by 
Vittorio from 7 years ago, so of course this change is not ok.
The new value would need to be added last and moved to the beginning 
after a major bump.

> 
>   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
Vittorio Giovara June 22, 2024, 10:42 p.m. UTC | #2
On Sat, Jun 22, 2024 at 9:57 PM James Almer <jamrial@gmail.com> wrote:

> On 6/22/2024 12:31 PM, James Almer wrote:
> > 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@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.
>
> Ok, turns out AVStereo3DView is not by Derek from a few days ago but by
> Vittorio from 7 years ago, so of course this change is not ok.
> The new value would need to be added last and moved to the beginning
> after a major bump.
>

I think it's a good idea fwiw, we chatted about it with Derek, but beside
the waiting for the bump, I /believe/ these enum values come straight from
the google metadata document so if they get changed we need to make sure
that these are properly read/written in the related format.
diff mbox series

Patch

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