[gst-embedded] [gst-devel] Getting access through custom buffers through subbuffers

Arnout Vandecappelle arnout at mind.be
Tue Mar 16 03:33:07 PDT 2010


 Note, I didn't modify gstbuffer, I just added a function that peeks through 
the GstSubBuffer class.

 Regards,
 Arnout

On Tuesday 16 March 2010 01:15:18, Demon Deng wrote:
> I think it is better to write your own videorate plugin or modify
> videorate plugin to support DMAI buffer than modify gstbuffer.
> 
> 2010/3/16 Arnout Vandecappelle <arnout at mind.be>
> 
> >  Hoi all,
> >  
> >  I'm currently hacking with the DMAI plugins that use the DSP on the TI
> > 
> > OMAP
> > for video encoding and other transformations.  These plugins require
> > specially allocated DMA buffers to be able to communicate with the DSP.
> >  A custom GstTIDmaiBufferTranport sub-class of GstBuffer is used for
> > that. When the encoder element receives a buffer, it checks whether it
> > is a GstTIDmaiBufferTransport; if not, it memcpy's the data in a DMA
> > buffer.
> > 
> >  Since the memcpy's completely kill performance in my application, I
> >  make
> > 
> > sure that GstTIDmaiBufferTransport buffers are allocated in the
> > beginning of
> > the pipeline.  However, when I insert a videorate element in the
> > pipeline, it creates subbuffers of these.  These are no longer
> > recognized as GstTIDmaiBufferTransport objects, and therefore the
> > physical address of the DMA buffer is not accessible.  Hence, there
> > are memcpy's again.
> > 
> >  To work around this, I've added a function to GstBuffer that checks if
> >  it
> > 
> > is a subbuffer and if so returns the parent buffer.  Does this sound
> > like a good solution?  If so, I'll put it in bugzilla.
> > 
> >  Regards,
> >  Arnout
> > 
> > --
> > Arnout Vandecappelle                               arnout at mind be
> > Senior Embedded Software Architect                 +32-16-286540
> > Essensium/Mind                                     http://www.mind.be
> > G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR
> > Leuven
> > LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> > GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43
> > 
> > 
> > -----------------------------------------------------------------------
> > ------- Download Intel&#174; Parallel Studio Eval
> > Try the new software tools for yourself. Speed compiling, find bugs
> > proactively, and fine-tune applications for parallel performance.
> > See why Intel Parallel Studio got high marks during beta.
> > http://p.sf.net/sfu/intel-sw-dev
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43




More information about the Gstreamer-embedded mailing list