[meta-freescale] gstreamer 1.x freescale plugings

Carlos Rafael Giani dv at pseudoterminal.org
Tue Oct 15 11:49:45 PDT 2013


Hi,

I have been working on these plugins in my spare time. Currently, there 
are two IPU plugins (a videotransform element and a sink), a GLES based 
sink using Vivante's direct textures (for smooth HD playback), a VPU 
decoder plugin, and several VPU encoder plugins. These work, but there 
are several things left to do. The encoders are relatively unfinished 
(they can encode, but need coniderably more testing), and h264 
reordering and input<->output frame association is not established yet, 
potentially messing up the timestamps.

That said, I can reliably playback 1080p video with this. This is _not_ 
a port of the existing 0.10 plugins, but written from scratch. The 0.10 
plugins have several conceptual flaws, and most importantly, are not 
built on top of the GStreamer video en/decoder base classes. A rewrite 
was just easier.

One detail that was very important to me was to avoid buffer copies as 
much as possible. With GStreamer 1.0 , defining custom allocators and 
attaching metadata to buffers is much easier to do. So for example a 
pipeline which decodes MPEG2, rotates the frame with the IPU, and 
encodes this to h264 automatically ensures the data is not unnecessarily 
copied around by the CPU. It directly wanders from VPU to IPU and VPU 
again through DMA.

I am running into problems with the existing VPU wrapper library there 
(I am not directly using imx-lib). I need some way to pass user data 
through the VPU en- and decoder. That is, when I for example specify 
input data for the decoder, I need a way to also give it a user-defined 
void pointer, that is then passed through and placed into the output 
frame that corresponds to the input frame I just specified. If the 
authors of the VPU wrapper could be contacted, it would be ideal. I 
hesitate to fork it and make my fork a dependency.

Also, a documentation for the VPU wrapper would be very welcome :)

cheers,
   Carlos

On 2013-10-15 20:39, Otavio Salvador wrote:
> Hello,
>
> Carlos been working on it for some time.
>
> On Tue, Oct 15, 2013 at 3:20 PM, Daiane Angolini
> <daiane.angolini at freescale.com> wrote:
>> On 10/15/2013 03:19 PM, Eric Nelson wrote:
> ...
>>>> It seems that you forgot this thread:
>>> https://lists.yoctoproject.org/pipermail/meta-freescale/2013-August/004094.html
> ...
>>> Ashwin indicated that he was going to try, and I thought Philip
>>> published some code.
>>>
>>> Since gstreamer-1.0 is supported in the Dora branch of Poky, integrating
>>> should be easier.
>>>
>>> Philip, is this still something you're working on, or have you
>>> abandoned the effort?
> He pushed his work at:
>
> https://github.com/Freescale/gstreamer-imx
>
> And I know he will be happy to share some more information about this ...
>
> Carlos?
>




More information about the meta-freescale mailing list