1. 14 Sep, 2017 2 commits
  2. 13 Sep, 2017 4 commits
  3. 12 Sep, 2017 3 commits
    • Johann's avatar
      Revert "Revert "quantize avx: copy 32x32 implementation"" · eb4238ac
      Johann authored
      This reverts commit 8c42237b.
      Because ssse3 code is used for the reference, the qcoeff and dqcoeff
      reference buffers must be aligned.
      Original change's description:
      > quantize avx: copy 32x32 implementation
      > Ensure avx and ssse3 stay in sync by testing them against each other.
      > Change-Id: I699f3b48785c83260825402d7826231f475f697c
      Change-Id: Ieeef11b9406964194028b0d81d84bcb63296ae06
    • Linfeng Zhang's avatar
      Specialize 4 to 3 scaling in vp9_scale_and_extend_frame_c() · afee58f2
      Linfeng Zhang authored
      Scale 3x3 block instead of 16x16 block in each loop.
      1. Reduced number of different phase_scaler from 16 to 3. Optimization code
         will be smaller and faster.
      2. The maximum phase_scaler drifting will be reduced from 5/16 to 1/24.
         (The drifting is 1/(3*16) in each step.)
      Change-Id: Ibb9242a629ddb03e1ff93b859bece738255e698c
    • Kaustubh Raste's avatar
      Optimize mips msa vp9 average mc functions · 30f1ff94
      Kaustubh Raste authored
      Load the specific destination loads instead of vector load
      Change-Id: I65ca13ae8f608fad07121fef848e2a18f54171fe
  4. 11 Sep, 2017 4 commits
  5. 09 Sep, 2017 3 commits
  6. 08 Sep, 2017 4 commits
  7. 07 Sep, 2017 2 commits
  8. 06 Sep, 2017 5 commits
  9. 05 Sep, 2017 2 commits
  10. 02 Sep, 2017 3 commits
  11. 01 Sep, 2017 7 commits
    • clang-format's avatar
      apply clang-format · 7587a975
      clang-format authored
      Change-Id: If4c3e8a396d0fcb304f407b44e28cac3219f038c
    • James Zern's avatar
      .clang-format: update to 4.0.1 · 053bd263
      James Zern authored
      based on Google style with the following differences:
      > # Generated with clang-format 4.0.1
      < AllowShortCaseLabelsOnASingleLine: false
      > AllowShortCaseLabelsOnASingleLine: true
      < BraceWrapping:
      > BraceWrapping:
      < ConstructorInitializerAllOnOneLineOrOnePerLine: true
      > ConstructorInitializerAllOnOneLineOrOnePerLine: false
      < Cpp11BracedListStyle: true
      < DerivePointerAlignment: true
      > Cpp11BracedListStyle: false
      > DerivePointerAlignment: false
      < IncludeCategories:
      > IncludeCategories:
      < PointerAlignment: Left
      > PointerAlignment: Right
      < SortIncludes:    true
      > SortIncludes:    false
      Change-Id: Ibc0ef87a516b8eae88d426dfdd7624be57e7b87c
    • Peter Boström's avatar
    • James Zern's avatar
    • Peter Boström's avatar
      Prevent data race from low-pass filter. · 9ab4d9df
      Peter Boström authored
      Makes main thread wait for the filter level to be picked to avoid a race
      between the LPF thread and update_reference_frames(). This also
      re-enables the failing tests under thread_sanitizer where this data race
      was detected.
      Change-Id: I7f5797142ea0200394309842ce3e91a480be4fbc
    • Peter Boström's avatar
    • 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
  12. 31 Aug, 2017 1 commit