Convert x264 to use NV12 pixel format internally
authorLoren Merritt <pengvado@akuvian.org>
Thu, 8 Jul 2010 19:24:16 +0000 (12:24 -0700)
committerJason Garrett-Glaser <darkshikari@gmail.com>
Thu, 15 Jul 2010 02:03:32 +0000 (19:03 -0700)
commitc9b2fcb4f4c1767fa9d0ea6b0a2e5709e61f3f7b
tree2e9d8c31e2f42c41ec3546ada72c91c25fe4ebe4
parentd797a1bc3f4410e45670b79381bfdce677646d48
Convert x264 to use NV12 pixel format internally
~1% faster overall on Conroe, mostly due to improved cache locality.
Also allows improved SIMD on some chroma functions (e.g. deblock).
This change also extends the API to allow direct NV12 input, which should be a bit faster than YV12.
This isn't currently used in the x264cli, as swscale does not have fast NV12 conversion routines, but it might be useful for other applications.

Note this patch disables the chroma SIMD code for PPC and ARM until new versions are written.
29 files changed:
common/arm/mc-c.c
common/common.c
common/common.h
common/deblock.c
common/frame.c
common/frame.h
common/macroblock.c
common/macroblock.h
common/mc.c
common/mc.h
common/pixel.c
common/pixel.h
common/ppc/mc.c
common/x86/deblock-a.asm
common/x86/mc-a.asm
common/x86/mc-a2.asm
common/x86/mc-c.c
common/x86/pixel-a.asm
common/x86/pixel.h
common/x86/x86inc.asm
encoder/analyse.c
encoder/encoder.c
encoder/macroblock.c
encoder/me.c
encoder/ratecontrol.c
filters/video/resize.c
input/input.c
tools/checkasm.c
x264.h