Hello,
for i.MX51 there is a Freescale patch for GStreamer that adds support for zero-copy buffers for the codecs:
+ * Module Name: gstmfwbuffer.h
+ *
+ * Description: Head file of Freescale accelerated hardware buffer
+ * for gstreamer.
I could not find this patch in the source code drop for i.MX53: L2.6.35_11.09.01_ER_source_bundle
Does this mean the i.MX53 does not require this patch for some reason, whereas i.MX51 does need it?
Thanks,
Leon.
gplay does not need this patch , since it's apply 0x57 flags directly to playbin2.
you can use export GST_DEBUG=GST_ELEMENT_FACTORY:3 to see which element is created.
Can anyone help me locate the patch that Kan HU refers to, and my other questions?
I cannot find the patch in the LTIB dirs.
Hello Kan HU,
thanks, that raises some additional questions:
what patch name is this exactly?
Can I test if the Freescale CSC is used or not?
And how does gplay deal with this? Does it require the patch or does it enforce those flags?
Thanks for the support,
Best regards,
Leon.
the patch is only for playbin2. it set playbin2 default flags plus NATIVE_VIDEO, since the video render freescale released support csc and resize. if you missed this patch , you can still use "gst-launch playbin2 flags=0x57 uri=file:///*" enable zero-copy as well.
Kan Hu,
I still have a question on your remark: "in later release for freescale multimedia gstreamer release, it is removed. we use another way by less change to opensource gstreamer packages."
What are the "less change(s)", is there a patch required for gstreamer for zero-copy on MX53?
I still have a jerky playout with this output, when I build gstreamer myself:
[ 53.323685] VPU blocking: timeout.
[ 53.364180] VPU blocking: timeout.
[ 53.403729] VPU blocking: timeout.
[ 53.463722] VPU blocking: timeout.
[ 53.503765] VPU blocking: timeout.
[ 53.573701] VPU blocking: timeout.
[ 53.653756] VPU blocking: timeout.
[ 53.873709] VPU blocking: timeout.
[Playing ][Vol=01][00:00:15/00:00:32][fps:20][ 54.213900] VPU blocking: timeout.
we make a reserved filed in gstbuffer to carry addtional buffer information to enable zero copy.
it will be a temporary solution and it will be fixed when a good solution is ready, like umm for arm
Thank you, I was almost finished integrating the patch in my build.
What is the other way? Is it using /dev/mxc_iim?
I am still trying to figure out why my own build does not give output.
in later release for freescale multimedia gstreamer release, it is removed. we use another way by less change to opensource gstreamer packages. there also implement zero-copy between plugins.