From ae42b25c076044f38ef3d11830b25cc54248c99f Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 25 Apr 2012 15:27:04 +0200 Subject: [PATCH] video: improve docs and design of multiview interlaced Put fields of interlaced frames after eachother. Improve the docs of the video interlaced enums. --- docs/design/part-mediatype-video-raw.txt | 4 ++-- gst-libs/gst/video/video.h | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/design/part-mediatype-video-raw.txt b/docs/design/part-mediatype-video-raw.txt index 114594e..ee38d78 100644 --- a/docs/design/part-mediatype-video-raw.txt +++ b/docs/design/part-mediatype-video-raw.txt @@ -31,8 +31,8 @@ Media Types the frame and fields. "fields" : 2 fields are stored in one buffer, use the frame ID to get access to the required field. For multiview (the - 'views' property > 1) the second field of view N is at N + - 'views'. + 'views' property > 1) the fields of view N can be found at + frame ID (N * 2) and (N * 2) + 1. Each view has only half the amount of lines as noted in the height property, pads specifying the "fields" property must be prepared for this. This mode requires multiple diff --git a/gst-libs/gst/video/video.h b/gst-libs/gst/video/video.h index a256ff5..35ec822 100644 --- a/gst-libs/gst/video/video.h +++ b/gst-libs/gst/video/video.h @@ -312,14 +312,15 @@ typedef struct _GstVideoFrame GstVideoFrame; /** * GstVideoInterlaceMode: * @GST_VIDEO_INTERLACE_MODE_PROGRESSIVE: all frames are progressive - * @GST_VIDEO_INTERLACE_MODE_INTERLEAVED: video is interlaced and all fields - * are interlaced in one frame. - * @GST_VIDEO_INTERLACE_MODE_MIXED: video contains both interlaced and - * progressive frames, the buffer flags describe the frame and fields. + * @GST_VIDEO_INTERLACE_MODE_INTERLEAVED: 2 fields are interleaved in one video + * frame. Extra buffer flags describe the field order. + * @GST_VIDEO_INTERLACE_MODE_MIXED: frames contains both interlaced and + * progressive video, the buffer flags describe the frame and fields. * @GST_VIDEO_INTERLACE_MODE_FIELDS: 2 fields are stored in one buffer, use the * frame ID to get access to the required field. For multiview (the - * 'views' property > 1) the second field of view N is at N + 'views'. - * Each view has only half the amount of lines as noted in the + * 'views' property > 1) the fields of view N can be found at frame ID + * (N * 2) and (N * 2) + 1. + * Each field has only half the amount of lines as noted in the * height property. This mode requires multiple GstVideoMeta metadata * to describe the fields. * -- 2.7.4