1. 28 Nov, 2018 2 commits
  2. 26 Nov, 2018 3 commits
  3. 25 Nov, 2018 4 commits
    • Ronald S. Bultje's avatar
      Move Dav1dPictureParameters-related entries to top of Dav1dSeqHdr · 3e95d8ed
      Ronald S. Bultje authored
      Also remove redundant entries from Dav1dPictureParameters, and move
      documentation of these fields into Dav1dFrame/SequenceHeader instead.
      3e95d8ed
    • Ronald S. Bultje's avatar
      Make frame_hdr a referenced object · 03d4ede0
      Ronald S. Bultje authored
      03d4ede0
    • Ronald S. Bultje's avatar
      Make frame_hdr a pointer · c371907f
      Ronald S. Bultje authored
      c371907f
    • Ronald S. Bultje's avatar
      Rewrite flushing logic · 3f410fd9
      Ronald S. Bultje authored
      The old flushing logic would simply leave frame threads (and tile
      threads) running without caring how much latency that might impose
      in the post-seek time-to-first-frame. This commit adds a 'flush'
      state that will abort all running frame/tile threads from decoding
      their current frame, as well as dispose of all frames in the output
      queue.
      
      Then, we use dav1d_flush() in dav1d_close() to abort running threads
      on exit, instead of signaling their respective dependents to prevent
      deadlocks. The advantage of this approach is that we don't signal on
      objects we don't have ownership over, and thus this should prevent
      race conditions where the owning thread could dispose of the object
      just as we're signaling it, which I believe is what causes #193.
      3f410fd9
  4. 23 Nov, 2018 3 commits
  5. 22 Nov, 2018 1 commit
  6. 21 Nov, 2018 1 commit
  7. 20 Nov, 2018 1 commit
  8. 19 Nov, 2018 2 commits
    • Janne Grunau's avatar
      frame mt: mark frame as failed in dav1d_close() · acee4345
      Janne Grunau authored
      Fixes a deadlock on teardown with
      clusterfuzz-testcase-minimized-dav1d_fuzzer_mt-5636065151418368. Credits
      to oss-fuzz.
      acee4345
    • Niklas Haas's avatar
      film_grain: implement film grain synthesis · cfa986fe
      Niklas Haas authored and Ronald S. Bultje's avatar Ronald S. Bultje committed
      This is using a slightly adapted version of my GPU-based algorithm. The
      major difference to the algorithm suggested by the spec (and implemented
      in libaom) is that instead of using a line buffer to hold the previous
      row's film grain blocks, we compute each row/block fully independently.
      
      This opens up the door to exploit parallelism in the future, since we
      don't have any left->right or top->down dependency except for the PRNG
      state. (Which we could pre-compute for a massively parallel / GPU
      implementation)
      
      That being said, it's probably somewhat slower than using a line buffer
      for the serial / single CPU case, although most likely not by much
      (since the areas with the most redundant work get progressively smaller,
      down to a single 2x2 square for the worst case).
      cfa986fe
  9. 16 Nov, 2018 1 commit
  10. 15 Nov, 2018 1 commit
  11. 14 Nov, 2018 1 commit
  12. 13 Nov, 2018 1 commit
  13. 07 Nov, 2018 2 commits
  14. 31 Oct, 2018 1 commit
  15. 27 Oct, 2018 1 commit
  16. 19 Oct, 2018 1 commit
  17. 18 Oct, 2018 1 commit
  18. 13 Oct, 2018 1 commit
  19. 04 Oct, 2018 3 commits
  20. 03 Oct, 2018 1 commit
  21. 02 Oct, 2018 4 commits
  22. 28 Sep, 2018 1 commit
  23. 26 Sep, 2018 1 commit
  24. 25 Sep, 2018 2 commits