git.videolan.org Git - x264.git/summary

x264 git repository

http://git.videolan.org/?p=x264.git;a=summary

Les articles publiés sur le site

  • Transparent hugepage support

    8 juillet 2013, par Henrik Gramner
    Transparent hugepage support
    
    Combine frame and mb data mallocs into a single large malloc.
    Additionally, on Linux systems with hugepage support, ask for hugepages on
    large mallocs.
    
    This gives a small performance improvement (~0.2-0.9%) on systems without
    hugepage support, as well as a small memory footprint reduction.
    
    On recent Linux kernels with hugepage support enabled (set to madvise or
    always), it improves performance up to 4% at the cost of about 7-12% more
    memory usage on typical settings..
    
    It may help even more on Haswell and other recent CPUs with improved 2MB page
    support in hardware.
    
    • [DH] common/common.c
    • [DH] common/common.h
    • [DH] common/frame.c
    • [DH] common/frame.h
    • [DH] common/macroblock.c
    • [DH] configure
    • [DH] encoder/encoder.c
  • x86 : SSSE3 implementation of pixel_sad_x3 and pixel_sad_x4

    5 juillet 2013, par Henrik Gramner
    x86: SSSE3 implementation of pixel_sad_x3 and pixel_sad_x4
    
    • [DH] common/pixel.c
    • [DH] common/x86/sad-a.asm
  • x86 : Faster AVX2 pixel_sad_x3 and pixel_sad_x4

    5 juillet 2013, par Henrik Gramner
    x86: Faster AVX2 pixel_sad_x3 and pixel_sad_x4
    
    • [DH] common/x86/sad-a.asm
    • [DH] encoder/me.c
    • [DH] tools/checkasm.c
  • x86 : Remove X264_CPU_SSE_MISALIGN functions

    5 juillet 2013, par Henrik Gramner
    x86: Remove X264_CPU_SSE_MISALIGN functions
    
    Prevents a crash if the misaligned exception mask bit is cleared for some reason.
    
    Misaligned SSE functions are only used on AMD Phenom CPUs and the benefit is miniscule.
    They also require modifying the MXCSR control register and by removing those functions
    we can get rid of that complexity altogether.
    
    VEX-encoded instructions also supports unaligned memory operands. I tried adding AVX
    implementations of all removed functions but there were no performance improvements on
    Ivy Bridge. pixel_sad_x3 and pixel_sad_x4 had significant code size reductions though
    so I kept them and added some minor cosmetics fixes and tweaks.
    
    • [DH] common/cpu.c
    • [DH] common/cpu.h
    • [DH] common/pixel.c
    • [DH] common/x86/cpu-a.asm
    • [DH] common/x86/mc-a.asm
    • [DH] common/x86/mc-a2.asm
    • [DH] common/x86/mc-c.c
    • [DH] common/x86/pixel.h
    • [DH] common/x86/sad-a.asm
    • [DH] common/x86/x86inc.asm
    • [DH] encoder/encoder.c
    • [DH] encoder/lookahead.c
    • [DH] tools/checkasm.c
    • [DH] x264.h
  • Interface : if vbv-maxrate bitrate, set bitrate = vbv-maxrate

    27 juin 2013, par Jason Garrett-Glaser
    Interface: if vbv-maxrate < bitrate, set bitrate = vbv-maxrate
    
    This probably makes more sense to the user than setting vbv-maxrate = bitrate,
    as before.
    
    • [DH] encoder/encoder.c