Message ID | 20240622231520.7410-1-jamrial@gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,01/10,v4] avutil/stereo3d: add a Monoscopic view enum value | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
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@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.
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, }; /**
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> --- libavutil/stereo3d.c | 1 + libavutil/stereo3d.h | 5 +++++ 2 files changed, 6 insertions(+)