[Bug 611157] video: API to signal stereoscopic and multiview video

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri May 3 07:31:15 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=611157
  GStreamer | gst-plugins-base | unspecified

--- Comment #71 from sreerenj <bsreerenj at gmail.com> 2013-05-03 14:31:06 UTC ---
I am tired with restructuring the code each time :)

Okay, so as per the current feedback from Slomo and Wim i would like to propose
the following:

Only one helper API for demuxers
------------------------------------------------------

/* 

The parameters frame_type_val and frame_layout_val are the values parsed from
the encoded-stream. This API will find out the unique enum for these values
based on the input GstVideoScheme.

The caps field for stero-info will look like this: 

stereo-info: "GstVideoChannelLayout :GstVideoStereoFrameType :    
GstVideoStereoFrameLayout : GstVideoStereoFlip" 

which means stero-info would be the key and it's value is a concatenated string
of enums :
   g_strdup_printf ("%d:%d:%d:%d",channel_layout, frame_type, frame_layout,
frame_flip);

ASFIK, the flip information is codec-specific and that we will get only from
parser/deocder. so here we can set a default one (no flip)

*/
gboolean
gst_video_stereo_caps_set_stereo_info (GstCaps * caps,
                                       GstVideoStereoScheme scheme,
                                       GstVideoChannelLayout channel_layout,
                                       guint frame_type_val,
                                       guint frame_layout_val);


These are the main APIs for parsers, decoders and other elements 
----------------------------------------------------------

/* Needs to intoduce one more enum GstVideoFrameFlip: (this was not there in
the previous implementation)
   GST_VIDEO_STEREO_FRAME_FLIP_H_LEFT
   GST_VIDEO_STEREO_FRAME_FLIP_H_RIGHT
   GST_VIDEO_STEREO_FRAME_FLIP_V_LEFT
   GST_VIDEO_STEREO_FRAME_FLIP_V_RIGHT 
*/


void
gst_video_stereo_info_init (GstVideoStereoInfo * info);

/*
Return val: sscanf (color, "%d:%d:%d:%d", info->channel_layout,
info->frame_type, info->frame_layout, info->frame_flip); 
*/
gboolean
gst_video_stereo_info_from_string (GstVideoStereoInfo *info, const gchar
*stereo_info);

/* Return val: g_strdup_printf ("%d:%d:%d:%d",info->channel_layout,
info->frame_type, info->frame_layout, info->frame_flip) 
*/ 
gchar *
gst_video_stereo_info_to_string (GstVideoStereoInfo *info);

gboolean
gst_video_stereo_info_set_in_caps (GstVideoStereoInfo * info, GstCaps *caps);

gboolean
gst_video_stereo_info_from_caps (GstVideoStereoInfo * info, GstCaps *caps);

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list