Skip to content
Snippets Groups Projects
  1. Dec 12, 2016
    • Wan-Teh Chang's avatar
      avutil: fix data race in av_get_cpu_flags() · fed50c43
      Wan-Teh Chang authored
      
      Make the one-time initialization in av_get_cpu_flags() thread-safe. The
      static variable |cpu_flags| in libavutil/cpu.c is read and written using
      normal load and store operations. These are considered as data races.
      The fix is to use atomic load and store operations.
      
      The fix can be verified by running the libavutil/tests/cpu_init.c test
      program under ThreadSanitizer:
          ./configure --toolchain=clang-tsan
          make libavutil/tests/cpu_init
          libavutil/tests/cpu_init
      
      There should be no warnings from ThreadSanitizer.
      
      Co-author: Dmitry Vyukov of Google, who suggested the data race fix.
      
      Signed-off-by: default avatarWan-Teh Chang <wtc@google.com>
      Signed-off-by: default avatarMichael Niedermayer <michael@niedermayer.cc>
      fed50c43
  2. Dec 08, 2016
    • Wan-Teh Chang's avatar
      avutil: fix data race in av_get_cpu_flags() · 2170017a
      Wan-Teh Chang authored
      
      Make the one-time initialization in av_get_cpu_flags() thread-safe. The
      static variables |flags|, |cpuflags_mask|, and |checked| in
      libavutil/cpu.c are read and written using normal load and store
      operations. These are considered as data races. The fix is to use atomic
      load and store operations.
      
      Remove the |checked| variable because the invalid value of -1 for
      |flags| can be used to indicate the same condition. Rename |flags| to
      |cpu_flags| and move it to file scope.
      
      The fix can be verified by running the libavutil/tests/cpu_init.c test
      program under ThreadSanitizer:
          ./configure --toolchain=clang-tsan
          make libavutil/tests/cpu_init
          libavutil/tests/cpu_init
      
      There should be no warnings from ThreadSanitizer.
      
      Co-author: Dmitry Vyukov of Google, who suggested the data race fix.
      
      Signed-off-by: default avatarWan-Teh Chang <wtc@google.com>
      2170017a
  3. Jul 20, 2016
  4. Mar 28, 2016
  5. Dec 14, 2015
    • Janne Grunau's avatar
      arm: add a cpu flag for the VFPv2 vector mode · e2710e79
      Janne Grunau authored
      The vector mode was deprecated in ARMv7-A/VFPv3 and various cpu
      implementations do not support it in hardware. Vector mode code will
      depending the OS either be emulated in software or result in an illegal
      instruction on cpus which does not support it. This was not really
      problem in practice since NEON implementations of the same functions are
      preferred. It will however become a problem for checkasm which tests
      every cpu flag separately.
      
      Since this is a cpu feature newer cpu do not support anymore the
      behaviour of this flag differs from the other flags. It can be only
      activated by runtime cpu feature selection.
      e2710e79
  6. Oct 28, 2015
  7. Sep 05, 2015
  8. Aug 28, 2015
  9. May 31, 2015
  10. May 27, 2015
  11. Aug 13, 2014
  12. Apr 06, 2014
  13. Feb 23, 2014
  14. Feb 22, 2014
  15. Oct 26, 2013
  16. Oct 25, 2013
  17. Oct 03, 2013
  18. Aug 28, 2013
  19. May 24, 2013
  20. Nov 16, 2012
  21. Oct 01, 2012
  22. Aug 16, 2012
  23. Aug 03, 2012
    • Diego Biurrun's avatar
      x86: build: replace mmx2 by mmxext · 239fdf1b
      Diego Biurrun authored
      Refactoring mmx2/mmxext YASM code with cpuflags will force renames.
      So switching to a consistent naming scheme beforehand is sensible.
      The name "mmxext" is more official and widespread and also the name
      of the CPU flag, as reported e.g. by the Linux kernel.
      239fdf1b
  24. Jun 24, 2012
  25. Jun 23, 2012
  26. Apr 30, 2012
  27. Apr 25, 2012
  28. Apr 22, 2012
  29. Mar 12, 2012
    • Janne Grunau's avatar
      remove iwmmxt optimizations · 363bd1c6
      Janne Grunau authored
      The were broken since August of 2010 without anyone noticing until
      three weeks ago. Nobody cares about it anymore and hopefully Marvell
      will support NEON like in the PXA978 from now on.
      363bd1c6
  30. Mar 07, 2012
  31. Mar 06, 2012
  32. Feb 12, 2012
  33. Sep 26, 2011
  34. Jun 02, 2011
  35. May 21, 2011
  36. Mar 22, 2011
    • Justin Ruggles's avatar
      Add a CPU flag for the Atom processor. · eba586b0
      Justin Ruggles authored
      The Atom has SSSE3 support, which is useful in many cases, but sometimes the
      SSSE3 version is slower than the SSE2 equivalent on the Atom, but is generally
      faster on other processors supporting SSSE3. This flag allows for selectively
      disabling certain SSSE3 functions on the Atom.
      eba586b0
Loading