1. 15 Jan, 2019 3 commits
  2. 14 Jan, 2019 5 commits
  3. 13 Jan, 2019 2 commits
    • Romain Vimont's avatar
      Store restoration units contiguously · 8503cea4
      Romain Vimont authored
      The "matrix" of restoration units was stored in a vector of vectors.
      To avoids an additional indirection for each row, store them in a
      contiguous array instead. Besides the (theoretical) performance benerit
      for every access, this will simplify the implementation of tiled-views
      which have to expose non-overlapping parts of the "matrix" via unsafe
      Also, since its size is constant (although not known at compile-time),
      replace the vector by a boxed slice.
    • Kyle Siefring's avatar
      Hookup avx2 subpel code (#851) · 3caefbda
      Kyle Siefring authored
  4. 11 Jan, 2019 3 commits
    • Romain Vimont's avatar
      Remove clipped_cfg from RestorationState · 07032e6b
      Romain Vimont authored
      A RestorationState stores a matrix of restoration units per plane. The
      restoration unit associated to a superblock may be retrieved from a
      superblock offset.
      Although this mapping is independant of subsampling, the superblock
      offsets were always converted to plane coordinates, which required to
      handle subsampling nonetheless. As a consequence, a PlaneConfig instance
      associated to RestorationPlane was necessary to find a restoration unit
      from a superblock offset.
      Instead, store the (log2) number of superblocks per restoration unit, to
      be able to retrieve a restoration unit from a superblock with a simple
      shift (without any subsampling information).
      That way, we can remove the PlaneConfig associated to RestorationPlane,
      which will simplify tiling.
    • Romain Vimont's avatar
      Use non-padded dimensions from FrameInvariants · 54526343
      Romain Vimont authored
      The loop restoration filter needs the dimensions of the non-padded
      frame, that only FrameInvariants knows.
      On construction, RestorationState created a clipped version of the
      PlaneConfigs, that was used in lrf_filter_frame() to get the non-padded
      Instead, directly pass &FrameInvariants to lrf_filter_frame().
      This paves the way to remove clipped_cfg from RestorationState entirely,
      to simplify tiling.
    • Kyle Siefring's avatar
      Rewrite subpel code to look more like dav1d (#849) · 2f86d510
      Kyle Siefring authored
      Rewrite subpel code to look more like dav1d
  5. 10 Jan, 2019 3 commits
  6. 09 Jan, 2019 8 commits
    • Romain Vimont's avatar
      Revert xorigin and yorigin to usize · 73ca577b
      Romain Vimont authored
      The type of fields xorigin and yorigin was changed from usize to isize
      only for Plane::window(), which has now been removed.
      Plane origins may not be negative, so revert their type to usize.
      This partially reverts 1bd94a2d.
    • Romain Vimont's avatar
      Narrow FrameState borrowing to deblock · 07b6029b
      Romain Vimont authored
    • Romain Vimont's avatar
    • Romain Vimont's avatar
      Move RestorationState into FrameState · 25c69725
      Romain Vimont authored
      FrameState embedded QuantizationContext, CDFContext, DeblockState,
      SegmentationState, but not RestorationState.
      For consistency, store it inside FrameState. This paves the way to
      expose a unified "tile view" of the FrameState.
    • Romain Vimont's avatar
      Make RestorationState derive Debug · 37a62634
      Romain Vimont authored
      FrameState is Debug. In order to embed RestorationState into FrameState,
      make it Debug too.
    • Romain Vimont's avatar
      Do not borrow full FrameState for LRF · 90bed0bf
      Romain Vimont authored
      Once RestorationState will be stored into FrameState, it will not be
      possible to borrow a FrameState while its RestorationState is mutably
      In particular, this prevents passing a FrameState to a non-const
      RestorationState method.
      For lrf_optimize_superblock(), which is not implemented yet, just remove
      the FrameState parameter.
      For lrf_filter_frame(), only borrow the "rec" field instead of the whole
    • Romain Vimont's avatar
      Remove unused window() · 8348794a
      Romain Vimont authored
      FrameState::window() requires to copy all FrameState fields, which we
      don't necessary want to implement for new fields.
      In particular, when making RestorationState a FrameState field, we don't
      necessarily want to make it copyable.
      Since the method is unused, just remove it, along with Frame::window()
      and Plane::window().
    • Frank Bossen's avatar
      Move retrieval of edges for intra prediction into a separate function · 330ac9df
      Frank Bossen authored
      When testing multiples intra prediction modes for a same block, edges
      are now retrieved only once instead of repeatedly for each mode
  7. 08 Jan, 2019 2 commits
  8. 07 Jan, 2019 3 commits
  9. 30 Dec, 2018 4 commits
  10. 26 Dec, 2018 1 commit
  11. 23 Dec, 2018 1 commit
  12. 20 Dec, 2018 3 commits
  13. 19 Dec, 2018 1 commit
  14. 18 Dec, 2018 1 commit