1. 01 Mar, 2019 2 commits
  2. 20 Feb, 2019 1 commit
  3. 19 Feb, 2019 1 commit
  4. 13 Feb, 2019 1 commit
  5. 08 Feb, 2019 1 commit
    • James Almer's avatar
      Simplify dav1d_thread_picture_alloc() · 515f5af5
      James Almer authored
      It's called from a single function in the entire codebase, so no point
      passing so many individual arguments to it when almost all of them are
      derived from a single struct.
      515f5af5
  6. 28 Jan, 2019 1 commit
  7. 24 Jan, 2019 1 commit
  8. 11 Jan, 2019 1 commit
  9. 07 Jan, 2019 1 commit
  10. 05 Jan, 2019 1 commit
  11. 20 Dec, 2018 1 commit
    • Henrik Gramner's avatar
      Perform stack realignment in every API entry point · ee8856ff
      Henrik Gramner authored
      Unlikely to cause problems in practice, but technically required since the
      compiler is free to use aligned AVX stores to zero local stack-allocated
      variables (when using the appropriate compiler flags) for example.
      ee8856ff
  12. 08 Dec, 2018 1 commit
  13. 30 Nov, 2018 3 commits
  14. 29 Nov, 2018 1 commit
  15. 25 Nov, 2018 3 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
      Add frame_hdr/seq_hdr to Dav1dPicture · 5a4fea2c
      Ronald S. Bultje authored
      5a4fea2c
    • 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
  16. 23 Nov, 2018 1 commit
  17. 22 Nov, 2018 2 commits
  18. 20 Nov, 2018 1 commit
  19. 19 Nov, 2018 2 commits
    • Niklas Haas's avatar
      film_grain: implement film grain synthesis · cfa986fe
      Niklas Haas authored
      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
    • Niklas Haas's avatar
      picture: make the film grain metadata public · 20e9f4df
      Niklas Haas authored
      This becomes part of the picture properties, since users may want to
      apply film grain themselves (e.g. for a GPU implementation).
      20e9f4df
  20. 16 Nov, 2018 1 commit
  21. 07 Nov, 2018 1 commit
  22. 06 Nov, 2018 2 commits
  23. 31 Oct, 2018 1 commit
  24. 29 Oct, 2018 1 commit
  25. 19 Oct, 2018 1 commit
  26. 04 Oct, 2018 1 commit
  27. 01 Oct, 2018 2 commits
  28. 28 Sep, 2018 2 commits
  29. 22 Sep, 2018 2 commits