Tried to add MFC hardware encoder support

Nicolas Dufresne nicolas.dufresne at collabora.com
Tue Feb 25 15:39:18 PST 2014


Le mardi 25 février 2014 à 20:56 +0100, Sebastian Dröge a écrit :
> No, the only documentation is the source code. But that's exactly why
> v4l2videodec is better. v4l2 is not simple and the code in mfcdec is
> only covering a very specific case and gets that working. For a generic
> video decoder element you'll have to do so much more.

The decoder has now been merged today and can be found in git master.
The complexity of the code is not higher then expected considering this
element fully probes and negotiate. Userptr support and dmabuf will add
up slightly to this complexity, but still seems under control. It also
implements buffers pools, which helps to avoid copies. Also, this
implementation is not bound to the FIMC, which has multiple drivers.

If you have more specific question, or need to understand something in
particular, feel free to ask here or on freenode #gstreamer (I'm stormer
over there). I will most likely ignore patches to mfcdec from now on.

From Exynos stand point, it has been tested mostly on kernel 3.8, but it
is known to work on Cotton Candy 3.4 kernel, with some visible bugs due
to bugs in that version of the driver (I can explain the work around as
needed, but not going to maintain it in GStreamer). In most cases,
increasing the CMA reservation size will help. I have still been unable
to test on git master mostly because of a lack of time figuring out why
the CMA reservation does not happen on DT kernel. Mainline kernel also
has bugs in the format it expose on Exynos 4 (e.g. it exposes VP8 even
if only supported on Exynos 5) fixing the kernel should be simple in
this case.

For your interest, I'm currently working on an GStreamer element that
wraps the v42l-m2m FIMC driver, in order to provide hardware accelerated
conversion. My goal is to be able to get buffers in a format the Mali
understand (for texture streaming). On the roadmap, I also need to
enabled dynamic resolution change, correctly handle non-top-left aligned
cropping (maybe manual cropping if downstream don't support it?). Any
kind of help is welcome.

cheers,
Nicolas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140225/0b16a105/attachment.pgp>


More information about the gstreamer-devel mailing list