[x264-devel] Rework pixel_var2

Henrik Gramner git at videolan.org
Mon May 22 00:04:08 CEST 2017

x264 | branch: master | Henrik Gramner <henrik at gramner.com> | Mon May  1 14:54:32 2017 +0200| [92c074e27f6bfccee42b41c183203b7b2763a94d] | committer: Henrik Gramner

Rework pixel_var2

The functions are only ever called with pointers to fenc and fdec and the
strides are always constant so there's no point in having them as parameters.

Cover both the U and V planes in a single function call. This is more
efficient with SIMD, especially with the wider vectors provided by AVX2 and
AVX-512, even when accounting for losing the possibility of early termination.

Drop the MMX and XOP implementations, update the rest of the x86 assembly
to match the new behavior. Also enable high bit-depth in the AVX2 version.

Comment out the ARM, AARCH64, and MIPS MSA assembly for now.

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=92c074e27f6bfccee42b41c183203b7b2763a94d

 common/pixel.c         |  54 ++++-----
 common/pixel.h         |   3 +-
 common/x86/pixel-a.asm | 322 +++++++++++++++++++++++++------------------------
 common/x86/pixel.h     |  16 +--
 encoder/macroblock.c   |   7 +-
 tools/checkasm.c       |  12 +-
 6 files changed, 205 insertions(+), 209 deletions(-)

Diff:   http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=92c074e27f6bfccee42b41c183203b7b2763a94d

More information about the x264-devel mailing list