1. 07 Feb, 2019 1 commit
  2. 25 Jan, 2019 1 commit
  3. 24 Jan, 2019 1 commit
  4. 20 Dec, 2018 1 commit
  5. 05 Dec, 2018 2 commits
  6. 26 Nov, 2018 1 commit
  7. 25 Nov, 2018 4 commits
  8. 23 Nov, 2018 1 commit
  9. 20 Nov, 2018 2 commits
  10. 18 Nov, 2018 1 commit
  11. 17 Nov, 2018 1 commit
  12. 16 Nov, 2018 1 commit
  13. 15 Nov, 2018 1 commit
  14. 14 Nov, 2018 1 commit
  15. 13 Nov, 2018 3 commits
  16. 12 Nov, 2018 2 commits
    • Janne Grunau's avatar
      intra_pred: fix ubsan issues with max_width/height in 2f251bd1 · 4a646a0c
      Janne Grunau authored
      Seen with clusterfuzz-testcase-minimized-dav1d_fuzzer-5712042518904832.
      4a646a0c
    • Ronald S. Bultje's avatar
      Add a max_width/height argument to angular_ipred_fn · 2f251bd1
      Ronald S. Bultje authored
      This is used in z2 to limit the number of pixels over which the
      filter is applied, as per "numPx" in 7.11.2.4 point 4 in the AV1
      specification. This only applies to z2, because in z1/3, the edge
      filter is (incomprehensibly) lengtened by the opposite side's edge
      length, which undoes the limit on the filter length (like a bug
      undoing another bug).
      
      I admit the code is getting rather complex, so we may want to
      redesign this to make writing SIMD easier.
      2f251bd1
  17. 10 Nov, 2018 1 commit
    • Henrik Gramner's avatar
      Split MC blend · 58fc5165
      Henrik Gramner authored
      The mstride == 0, mstride == 1, and mstride == w cases are very different
      from each other, and splitting them into separate functions makes it easier
      top optimize them.
      
      Also add some further optimizations to the AVX2 asm that became possible
      after this change.
      58fc5165
  18. 08 Nov, 2018 1 commit
  19. 07 Nov, 2018 3 commits
  20. 06 Nov, 2018 3 commits
  21. 03 Nov, 2018 1 commit
  22. 01 Nov, 2018 1 commit
  23. 31 Oct, 2018 1 commit
  24. 30 Oct, 2018 1 commit
    • Rostislav Pehlivanov's avatar
      Rewrite msac.c · 33d16d81
      Rostislav Pehlivanov authored
      This rewrites msac.c to the point of there being no libaom project
      code left, hence changing the license of the file to the dav1d
      project's license.
      
      The rewrite much simplifies and optimizes entropy decoding.
      Some encoder specific code also remained, such as tell_offs, to
      tell the fractional amount of bits left, which the decoder does
      not need.
      
      ctx_refill is much simpler and has a tighter loop with less
      instructions, which on some CPUs can actually be ran in one cycle.
      The old mechanism which checked to see if the buffer reached the
      end to disable calling ctx_refill is gone, as all it saved was
      a mostly well predicted branch.
      The optimizations regarading this function enabled us to use
      an ec_win of 64 bits whilst improving performance. This was not
      possible with the old needlessly robust system.
      
      Some msac-specific API changes were made - msac_decode_bool now
      takes a scaled value directly rather than doing scaling itself.
      This saves a shift in most use cases as the function is mainly
      used to read equiprobable bools rather than ones with specific
      probabilities.
      
      There's still room for optimizations, mainly in that update_cdf
      could be SIMD'd. This commit prepares for some of them by
      moving the init function at the bottom of the file.
      
      Overall decoder speedup seems to be around 3%-5%, specific on
      bitrate and encoder as expected.
      33d16d81
  25. 25 Oct, 2018 1 commit
  26. 22 Oct, 2018 3 commits