1. 01 Sep, 2017 1 commit
    • Peter Boström's avatar
      Add atomics to vp8 synchronization primitives. · d42e8761
      Peter Boström authored
      Fixes issue on iPad Pro 10.5 (and probably other places) where threads
      are not properly synchronized. On x86 this data race was benign as load
      and store instructions are atomic, they were being atomic in practice as
      the program hasn't been observed to be miscompiled.
      Such guarantees are not made outside x86, and real problems manifested
      where libvpx reliably reproduced a broken bitstream for even just the
      initial keyframe. This was detected in WebRTC where this device started
      using multithreading (as its CPU count is higher than earlier devices,
      where the problem did not manifest as single-threading was used in
      This issue was not detected under thread-sanitizer bots as mutexes were
      conditionally used under this platform to simulate the protected read
      and write semantics that were in practice provided on x86 platforms.
      This change also removes several mutexes, so encoder/decoder state is
      lighter-weight after this change and we do not need to initialize so
      many mutexes (this was done even on non-thread-sanitizer platforms where
      they were unused).
      Change-Id: If41fcb0d99944f7bbc8ec40877cdc34d672ae72a
  2. 30 Aug, 2017 1 commit
  3. 29 Aug, 2017 6 commits
  4. 28 Aug, 2017 2 commits
  5. 25 Aug, 2017 7 commits
  6. 24 Aug, 2017 11 commits
  7. 23 Aug, 2017 10 commits
  8. 22 Aug, 2017 2 commits