[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