[FFmpeg-devel] [PATCH v04] fbdetile cpu based detiling of framebuffers v04

Michael Niedermayer michael at niedermayer.cc
Thu Jul 2 15:57:53 EEST 2020


On Wed, Jul 01, 2020 at 10:13:48PM +0530, hanishkvc wrote:
> v04-20200701IST2132, fbdetile
> 
> Optimised Generic Detile logic to detile multiple tiles in parallel,
> logically speaking. This reduces cross check overheads to some extent
> and thus improves speed a bit. While in a hardware or multicore setup,
> it can be used to parallelise the detiling operations in a true sense.
> 
> Add a additional level of subtiling wrt Tile-Yf, which I had missed out
> in the dirChangesList based tiling configuration, which is used by my
> generic detiling logic. THe overhead due to this additional subtiling
> is compensated by the speed gains due to parallel detiling.
> 
> NOTE: This is a consolidated patch, it contains previous versions also
> 
> v03-20200629IST2208 fbdetile
> 
> Added a generic detiling logic, which can be easily configured to
> detile many different tiling schemes.
> 
> The same is inturn used to detile Intel Tile-Yf layout.
> 
> v02-20200627IST2331
> 
> Unrolled Intel Legacy Tile-Y detiling logic.
> 
> Also a consolidated patch file, instead of the previous development
> flow based multiple patch files.
> 
> v01-20200627IST1308
> 
> Implemented Intel Legacy Tile-X and Tile-Y detiling logic
> 
> NOTES:
> 
> This video filter allows framebuffers which are tiled to be detiled
> using logic running on the cpu, into a linear layout.
> 
> Currently it supports Intel Legacy Tile-X and Tile-Y layout detiling,
> as well as the newer Intel Tile-Yf layouts.
> 
> THis should help one to work with frames captured (say using kmsgrab)
> on laptops having Intel GPU. This can be done live while capturing
> itself, or it can be applied later as a seperate pass.
> 
> Tile-X conversion logic has been explicitly cross checked, with Tile-X
> based frames. However Tile-Y and Tile-Yf conv logics havent been tested
> with Tile-Y | Tile-Yf based frames, but it should potentially get the
> job done, based on my current understanding of these layout formats. A
> minimal test has been done by seeing how a multicolor linear framebuffer
> gets converted into a patterned layout, depending on the detile walk.
> ---
>  Changelog                 |   1 +
>  doc/filters.texi          |  74 +++++
>  libavfilter/Makefile      |   1 +
>  libavfilter/allfilters.c  |   1 +
>  libavfilter/vf_fbdetile.c | 568 ++++++++++++++++++++++++++++++++++++++
>  5 files changed, 645 insertions(+)
>  create mode 100644 libavfilter/vf_fbdetile.c

This breaks build on non x86

src/libavfilter/vf_fbdetile.c:81:10: fatal error: x86intrin.h: No such file or directory
 #include <x86intrin.h>
          ^~~~~~~~~~~~~

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In a rich man's house there is no place to spit but his face.
-- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20200702/11c8cc0f/attachment.sig>


More information about the ffmpeg-devel mailing list