1. 25 Nov, 2018 4 commits
    • 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
      e071d257
    • 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
  2. 23 Nov, 2018 2 commits
  3. 22 Nov, 2018 1 commit
  4. 21 Nov, 2018 1 commit
  5. 20 Nov, 2018 3 commits
  6. 19 Nov, 2018 1 commit
  7. 18 Nov, 2018 3 commits
  8. 16 Nov, 2018 1 commit
  9. 15 Nov, 2018 1 commit
  10. 14 Nov, 2018 3 commits
    • boyuanxiao-argondesign's avatar
      Segmentation map reference logic · 066b02c2
      boyuanxiao-argondesign authored
      The previous code raised an error if !segmentation.update_map but the
      reference frame didn't yield any segmentation data. (The first "goto
      error" that the patch removes happens if the reference frame was the
      right size but had no segmentation data; the second happens if the
      reference frame was the wrong size).
      
      This doesn't match the logic in the description of
      load_previous_segment_ids in section 6.8.2 of the spec.
      
      This patch allows such streams, allocating and zeroing cur_segmap in
      this case. It is still an error for a stream to signal a temporal
      update but not to have valid segmentation data from the ref frame -
      that's the error case that the patch puts back in.
      066b02c2
    • Ronald S. Bultje's avatar
      Fix segmentation map size check · 0bf59f09
      Ronald S. Bultje authored
      Fixes #166.
      0bf59f09
    • Ronald S. Bultje's avatar
      3fdb6cc9
  11. 13 Nov, 2018 1 commit
  12. 12 Nov, 2018 2 commits
  13. 09 Nov, 2018 1 commit
  14. 08 Nov, 2018 4 commits
  15. 07 Nov, 2018 1 commit
  16. 06 Nov, 2018 7 commits
  17. 04 Nov, 2018 1 commit
  18. 01 Nov, 2018 1 commit
  19. 31 Oct, 2018 2 commits