Xiph.org - flac.git/summary

Flac git repository

http://git.xiph.org/?p=flac.git;a=summary

Les articles publiés sur le site

  • libFLAC/lpc_intrin_sse.c : New SSE code to calculate autocorrelation.

    9 août 2014, par Erik de Castro Lopo
    libFLAC/lpc_intrin_sse.c : New SSE code to calculate autocorrelation.
    
    Accelerate FLAC__lpc_compute_autocorrelation_intrin_sse_lag_NN routines for
    AMD and newer Intel CPUs (means Core i aka Nehalem and newer). Unfortunately
    it's slower on older Intel CPUs.
    
    According to tests at HA:
    
        <http://www.hydrogenaud.io/forums/index.php?s=&showtopic=101082&view=findpost&p=870753>
    
      CPU                 flac -5           flac -8
    
      Athlon XP           +5 %              +2.4 %
      Athlon 64 X2        +9 %              +4 %
      Core i              +7 %              +1 % ... +2.7 %
      Core 2              ?                 -3.5 %
    
    According to Steam HW survey <http://store.steampowered.com/hwsurvey/>
    69% of Steam users have SSE4.2 which means that the new code is faster for
    them. There are also AMD users that don't have SSE4.2, so 75% of Steam users
    should benefit from this patch.
    
    Patch-from: lvqcl <lvqcl.mail@gmail.com>
    
    • [DH] src/libFLAC/lpc_intrin_sse.c
  • Various documentation fixes, merge with website

    1er août 2014, par Martijn van Beurden
    Various documentation fixes, merge with website
    
    The html documentation was diff'ed to the current website pages
    and all difference were merged into the page they weren't yet
    incorporated. This includes lots of small fixes and
    improvements.
    
    Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
    
    • [DH] doc/html/Makefile.am
    • [DH] doc/html/changelog.html
    • [DH] doc/html/documentation.html
    • [DH] doc/html/documentation_bugs.html
    • [DH] doc/html/documentation_tools.html
    • [DH] doc/html/documentation_tools_flac.html
    • [DH] doc/html/documentation_tools_plugins.html
    • [DH] doc/html/faq.html
    • [DH] doc/html/format.html
    • [DH] doc/html/id.html
    • [DH] doc/html/license.html
    • [DH] doc/html/ogg_mapping.html
  • Fix bug when using -p switch during compression

    28 juillet 2014, par Martijn van Beurden
    Fix bug when using -p switch during compression
    
    When using the -p switch during encoding, the encoder should try
    different qlp predictor precision steps. However, some faulty code
    was too severely restricting the possible steps. This patch lifts
    the restriction to match a restriction coded a little further in
    the process. This doesn't make using -p worth your while, but at
    least it doesn't create larger files now
    
    Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
    
    • [DH] src/libFLAC/stream_encoder.c
  • libFLAC/cpu.c : Simplify OS SSE support detection.

    28 juillet 2014, par Erik de Castro Lopo
    libFLAC/cpu.c : Simplify OS SSE support detection.
    
    Simplify the code that tries to detect whether OS supports SSE instructions.
    
    a) Linux: "old" vs "new" sigaction
    
    OBSOLETE_SIGCONTEXT_FLAVOR was disabled in Mar 2007 in commit 1ca3a445f.
    According to <http://unixhelp.ed.ac.uk/CGI/man-cgi?sigaction>: "Support for
    SA_SIGINFO was added in Linux 2.2" (released in Jan 1999). If noone wants to
    use FLAC with Linux kernel 2.0 then it's safe to delete this code.
    
    b) MSVC: try/catch vs. sigill_handler
    
    TRY_CATCH_FLAVOR was enabled in Jan 2009 in commit a832ef32. According to the
    comment in cpu.c, "sigill_handler flavor resulted in several crash reports on
    win32". Also this sigill_handler flavor is not thread-safe.
    
    c) MinGW: fxsave/fxrestore vs. sigill_handler
    
    The code was added Mar 2014 in commit 99d5154f. It's better to use FXSR flavor
    instead of sigill_handler flavor. The reasons are the same as for MSVC.
    
    Patch-from: lvqcl <lvqcl.mail@gmail.com>
    
    • [DH] src/libFLAC/cpu.c
  • libFLAC : SSE optimisations.

    28 juillet 2014, par Erik de Castro Lopo
    libFLAC : SSE optimisations.
    
    Add new function:
    
        FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse41()
    
    and rewrite function:
    
        FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2()
    
    Testing shows noticeable speed increase on Intel Core i3/5/7 (up to 30%
    for -8 mode), AMD Athlon64, Phenom, Bulldozer/Piledriver, but no increase
    or even very small speed decrease (~2% for -8 mode) on Intel Core2.
    
    Patch-from: lvqcl <lvqcl.mail@gmail.com>
    
    • [DH] src/libFLAC/include/private/lpc.h
    • [DH] src/libFLAC/lpc_intrin_sse2.c
    • [DH] src/libFLAC/lpc_intrin_sse41.c
    • [DH] src/libFLAC/stream_encoder.c