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

James Almer jamrial at gmail.com
Sat Jun 22 22:57:35 EEST 2024


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 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.

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


More information about the ffmpeg-devel mailing list