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

C Hanish Menon hanishkvc at gmail.com
Thu Jul 2 21:00:55 EEST 2020


Hi Michael,

Thanks for the input, I had forgotten to disable/undef DEBUG_PERF, which I
was using to get a rough idea of the time taken by the logic using the
processor performance counter on x86. The logic doesnt use x86intrinsic for
any other purpose, so disabling DEBUG_PERF will fix it.

I can release an updated patch with the DEBUG_PERF undef'd by default, to
avoid this issue.


On Thu, Jul 2, 2020 at 6:28 PM Michael Niedermayer <michael at niedermayer.cc>
wrote:

> 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
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



-- 
Keep ;-)
HanishKVC


More information about the ffmpeg-devel mailing list