[gst-devel] does gstreamer support sub-square buffer transfer

zhangfei gao zhangfei.gao at gmail.com
Thu Jul 5 15:11:40 CEST 2007


Hi, all

I am really wandering whether GStreamer supports transfering buffer with
padding or stride.
How to send information to post element that only pats of buffer is
effective.
Does caps negotiations support this function.

If gstreamer can not support this feature, one aditional memcpy can not be
saved, which may down 3~4fps.

By the way OpenMAX support this feature.
Here is structure,


typedef struct OMX_VIDEO_PORTDEFINITIONTYPE {

    OMX_STRING cMIMEType;

    OMX_NATIVE_DEVICETYPE pNativeRender;

*    OMX_U32 nFrameWidth;*

    OMX_U32 nFrameHeight;

*    OMX_S32 nStride;*

    OMX_U32 nSliceHeight;

    OMX_U32 nBitrate;

    OMX_U32 xFramerate;

    OMX_BOOL bFlagErrorConcealment;

    OMX_VIDEO_CODINGTYPE eCompressionFormat;

    OMX_COLOR_FORMATTYPE eColorFormat;

    OMX_NATIVE_WINDOWTYPE pNativeWindow;

} OMX_VIDEO_PORTDEFINITIONTYPE;



*  nFrameWidth           : Width of frame to be used on channel if

 *                          uncompressed format is used.  Use 0 for unknown,

 *                          don't care or variable

 *  nFrameHeight          : Height of frame to be used on channel if

 *                          uncompressed format is used. Use 0 for unknown,

 *                          don't care or variable

 *  nStride               : Number of bytes per span of an image

 *                          (i.e. indicates the number of bytes to get

 *                          from span N to span N+1, where negative stride

 *                          indicates the image is bottom up

Thanks



On 7/3/07, zhangfei gao <zhangfei.gao at gmail.com> wrote:
>
> Hi,  all
> Does gstreamer support sub-square transfering.
>
> For example the original data is a square(0, 0, 100, 100), with start
> point (0, 0), width is 100, height is 100.
> Now I just transfer (0, 0, 50, 50), only the left half square from one
> plugin to the later plugin.
> Is there any method or how to negotiate.
> Does standard caps has any field to describe such information.
>
> The reason is my codec is from third party, with a limitation its output
> has padding inside.
> If standard buffer transering is without padding, memcpy is unavoidable.
>
> Still, I think transfering sub-square is needed in many situations.
> For example, if user want to zoom interest area, there must be some method
> other than memcpy.
>
> Could you share some ideas.
>
> Thanks in advance
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070705/7c390d0b/attachment.htm>


More information about the gstreamer-devel mailing list