[FFmpeg-devel] [PATCH 01/10 v4] avutil/stereo3d: add a Monoscopic view enum value

James Almer jamrial at gmail.com
Mon Jun 24 15:58:14 EEST 2024


On 6/22/2024 8:15 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>
> ---
>   libavutil/stereo3d.c | 1 +
>   libavutil/stereo3d.h | 5 +++++
>   2 files changed, 6 insertions(+)
> 
> diff --git a/libavutil/stereo3d.c b/libavutil/stereo3d.c
> index 19e81e4124..37cf093099 100644
> --- a/libavutil/stereo3d.c
> +++ b/libavutil/stereo3d.c
> @@ -71,6 +71,7 @@ static const char * const stereo3d_view_names[] = {
>       [AV_STEREO3D_VIEW_PACKED] = "packed",
>       [AV_STEREO3D_VIEW_LEFT]   = "left",
>       [AV_STEREO3D_VIEW_RIGHT]  = "right",
> +    [AV_STEREO3D_VIEW_MONO]   = "monoscopic",
>   };
>   
>   static const char * const stereo3d_primary_eye_names[] = {
> diff --git a/libavutil/stereo3d.h b/libavutil/stereo3d.h
> index 00a5c3900e..9a004d88a1 100644
> --- a/libavutil/stereo3d.h
> +++ b/libavutil/stereo3d.h
> @@ -156,6 +156,11 @@ enum AVStereo3DView {
>        * Frame contains only the right view.
>        */
>       AV_STEREO3D_VIEW_RIGHT,
> +
> +    /**
> +     * Frame is monoscopic.
> +     */
> +    AV_STEREO3D_VIEW_MONO,
>   };
>   
>   /**

Looking more into this, i don't know if this is a good idea, or even 
backwards compatible. AVStereo3DView is right now only ever looked at if 
type is not 2D, so adding a view that only applies to 2D seems 
pointless. And if we make it the default, users (wrongly) making the 
assumption packed view is the default will find themselves with a 3D 
type signaling a monoscopic view.

For now I'll apply patch 2 adding unspec type plus the patches that 
don't deal with the view added here, unless there are objections.


More information about the ffmpeg-devel mailing list