[vlc-devel] [PATCH] linux: kernel mode setting (KMS) vout plugin

Jean-Baptiste Kempf jb at videolan.org
Tue May 15 15:01:40 CEST 2018


On Tue, 15 May 2018, at 14:09, Juha-Pekka Heikkila wrote:
> I made vout plugin for Linux which uses kernel mode setting API. This plugin
> mostly recreates what FB plugin does with following highlights:

This is very cool.

> * FB could only do RGB but with KMS plugin one get access to all kernel
>   enabled video modes. I have successfully ran through all packed and planar
>   YUV modes I found from my HW -- as well as all RGB modes.


> * No tearing (I hope) I used two hw buffers and kernel plane handling
>   takes care of the flipping for me. Only way I see tearing could happen is
>   if VLC is decoding video frames faster than hardware video refresh rate.
> * libFB to my knowledge is in maintenance mode, no more new features.
> * My plugin can be run over ssh.
> Then the other things:
> * I am employee of Intel Corporation thus I have to have special disclaimer
>   on top of my plugin. I developed this plugin as part of my work when
>   playing with KMS, this can be used to test video modes where it doesn't
>   need to be totally boring all the time :)

It should not be a problem.

> * I have had access only to Intel hardware but I'm wishful my plugin works
>   equally on other manufacturer's hardware. I tried to use only simple
>   features to be able to maintain functionality on other platforms too.

There are other hardware manufacturers that Intel? :D

> * VLC and libdrm has some FourCC codes which are equal on both worlds but
>   then there are others which have different names while seemingly same
>   functionality. By default my plugin asks for XR24 type framebuffer from
>   DRM and at the same time tells VLC it is RV32. Then again things like YUYV
>   or NV12 are the same in both worlds. If VLC is run in verbose mode one
>   can see my plugin listing all modes which KMS advertises. I didn't go
>   write match making table for these.


Jean-Baptiste Kempf -  President
+33 672 704 734

More information about the vlc-devel mailing list