1. 30 Nov, 2018 3 commits
  2. 29 Nov, 2018 1 commit
  3. 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
  4. 23 Nov, 2018 1 commit
  5. 22 Nov, 2018 2 commits
  6. 20 Nov, 2018 1 commit
  7. 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
  8. 16 Nov, 2018 1 commit
  9. 07 Nov, 2018 1 commit
  10. 06 Nov, 2018 2 commits
  11. 31 Oct, 2018 1 commit
  12. 29 Oct, 2018 1 commit
  13. 19 Oct, 2018 1 commit
  14. 04 Oct, 2018 1 commit
  15. 01 Oct, 2018 2 commits
  16. 28 Sep, 2018 2 commits
  17. 22 Sep, 2018 2 commits