On Wed, 20 Nov 2013 11:18:01 +0100, Vittorio Giovara <[email protected]> wrote: > On Thu, Oct 3, 2013 at 9:42 AM, Vittorio Giovara > <[email protected]> wrote: > > On Thu, Oct 3, 2013 at 8:54 AM, Anton Khirnov <[email protected]> wrote: > >> > >> On Wed, 2 Oct 2013 16:16:58 +0200, Vittorio Giovara > >> <[email protected]> wrote: > >>> On Wed, Oct 2, 2013 at 4:00 PM, Anton Khirnov <[email protected]> wrote: > >>> > > >>> > On Wed, 2 Oct 2013 10:21:33 +0400, Kirill Gavrilov > >>> > <[email protected]> wrote: > >>> >> On Wed, Oct 2, 2013 at 9:35 AM, Anton Khirnov <[email protected]> > >>> >> wrote: > >>> >> > >>> >> > > + > >>> >> > > +/* How views are packed within the frame or container*/ > >>> >> > > +enum AVStereo3DType { > >>> >> > > + /** > >>> >> > > + * Video is not stereoscopic > >>> >> > > + */ > >>> >> > > + AV_STEREO3D_NONE, > >>> >> > > + > >>> >> > > + /** > >>> >> > > + * Video is not stereoscopic but metadata has to be there > >>> >> > > + */ > >>> >> > > + AV_STEREO3D_NOT_REALLY, > >>> >> > > >>> >> > Can't say I like the name. Does this thing even have to exist? Can't > >>> >> > we use > >>> >> > AV_STEREO3D_NONE for this? > >>> >> > >>> >> If I understand context correctly, AV_STEREO3D_NONE should be something > >>> >> like AV_STEREO3D_UNDEFINED/AV_STEREO3D_UNKNOWN (which means that > >>> >> file/frame > >>> >> doesn't contain stereoscopic information at all, but apparently might > >>> >> contain stereoscopic content in unknown format), and > >>> >> AV_STEREO3D_NOT_REALLY > >>> >> should be just AV_STEREO3D_NONE (which means the file contains > >>> >> stereoscopic > >>> >> tags). > >>> > >>> I like the idea. > >>> I'm tempted to move _ANAGLYPH in that category as well since there is > >>> no sane way of carrying it over as metadata. > >>> Actually i'm undecided about moving it in a separate category or not, > >>> i'm biased towards the not. > >>> > >>> > > >>> > I don't quite see why would we need to explicitly signal that the file > >>> > does not > >>> > contain 3d metadata. We can just not set the frame metadata to the same > >>> > effect. > >>> > >>> Then it'd be quite difficult to understand when a frame is clean (eg > >>> no stereo metadata at all), > >> > >> no side data present > >> > >>> is a 2d frame between 2 s3d frames (eg stereo metadata saying '2d') > >> > >> side data saying '2d' is present > > > > That's what AV_STEREO3D_NOT_REALLY is for :) > > > >> > >>>or it has s3d data in it (normal metadata). > >> > >> side data saying '3d' is present > > > > Anything but AV_STEREO3D_NOT_REALLY and AV_STEREO3D_NONE means that. > > > > However I can see your point that could be somewhat confusing, I'll > > re-think something to accommodate more flexibility and future > > compatibility. > > Since the introduction of the .flags field in avframe I've been > thinking of further simplify this enum by setting a AV_FRAME_IS_STEREO > value and keep the AV_STEREO3D_2D. > > Checking whether a frame contains stereo3d side data or not should be > simpler by checking .flags instead of iterating through the (possibly > many) other side data. Also I'm willing to slightly simplify the > struct by removing unnecessary fields (like anaglyph) and add them in > the future when needed.
No need to iterate over anything, av_frame_get_side_data() allows you to directly check whether side data of a specified type is present. And keeping all the 3d-related information in one struct is cleaner imo. -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
