[x264-devel] commit: Convert x264 to use NV12 pixel format internally (Loren Merritt )

git at videolan.org git at videolan.org
Thu Jul 15 14:14:25 CEST 2010


x264 | branch: stable | Loren Merritt <pengvado at akuvian.org> | Thu Jul  8 12:24:16 2010 -0700| [c9b2fcb4f4c1767fa9d0ea6b0a2e5709e61f3f7b] | committer: Jason Garrett-Glaser 

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.

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

 common/arm/mc-c.c        |    2 +-
 common/common.c          |   17 +-
 common/common.h          |    8 +-
 common/deblock.c         |   70 +++---
 common/frame.c           |  135 ++++++----
 common/frame.h           |    8 +-
 common/macroblock.c      |  156 +++++++----
 common/macroblock.h      |    2 +
 common/mc.c              |   67 ++++-
 common/mc.h              |   14 +-
 common/pixel.c           |   32 ++-
 common/pixel.h           |    5 +-
 common/ppc/mc.c          |    2 +-
 common/x86/deblock-a.asm |  354 +++++++++++++++---------
 common/x86/mc-a.asm      |  688 +++++++++++++++++++++++++++-------------------
 common/x86/mc-a2.asm     |  215 ++++++++++++++-
 common/x86/mc-c.c        |  107 ++++++--
 common/x86/pixel-a.asm   |   54 ++++-
 common/x86/pixel.h       |    4 +
 common/x86/x86inc.asm    |   35 ++-
 encoder/analyse.c        |    9 +-
 encoder/encoder.c        |   49 ++--
 encoder/macroblock.c     |   65 ++---
 encoder/me.c             |   21 +-
 encoder/ratecontrol.c    |   31 ++-
 filters/video/resize.c   |    4 +
 input/input.c            |    1 +
 tools/checkasm.c         |  143 ++++++++++-
 x264.h                   |   10 +-
 29 files changed, 1590 insertions(+), 718 deletions(-)

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


More information about the x264-devel mailing list