1. 14 Sep, 2017 1 commit
  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
      eb4238ac
    • 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.
      
      Benefits:
      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.)
      
      BUG=webm:1419
      
      Change-Id: Ibb9242a629ddb03e1ff93b859bece738255e698c
      afee58f2
    • 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
      30f1ff94
  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
      7587a975
    • James Zern's avatar
      .clang-format: update to 4.0.1 · 053bd263
      James Zern authored
      based on Google style with the following differences:
      
      3a4
      > # Generated with clang-format 4.0.1
      13c14
      < AllowShortCaseLabelsOnASingleLine: false
      ---
      > AllowShortCaseLabelsOnASingleLine: true
      23c24
      < BraceWrapping:
      ---
      > BraceWrapping:
      43c44
      < ConstructorInitializerAllOnOneLineOrOnePerLine: true
      ---
      > ConstructorInitializerAllOnOneLineOrOnePerLine: false
      46,47c47,48
      < Cpp11BracedListStyle: true
      < DerivePointerAlignment: true
      ---
      > Cpp11BracedListStyle: false
      > DerivePointerAlignment: false
      51c52
      < IncludeCategories:
      ---
      > IncludeCategories:
      78c79
      < PointerAlignment: Left
      ---
      > PointerAlignment: Right
      80c81
      < SortIncludes:    true
      ---
      > SortIncludes:    false
      
      Change-Id: Ibc0ef87a516b8eae88d426dfdd7624be57e7b87c
      053bd263
    • Peter Boström's avatar
      be2ba48c
    • James Zern's avatar
      334e9abb
    • 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.
      
      BUG=webm:1460
      
      Change-Id: I7f5797142ea0200394309842ce3e91a480be4fbc
      9ab4d9df
    • Peter Boström's avatar
      03191f73
    • 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
      practice).
      
      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
      d42e8761
  12. 31 Aug, 2017 2 commits