1. 19 Jan, 2019 2 commits
  2. 18 Jan, 2019 1 commit
  3. 17 Jan, 2019 1 commit
  4. 16 Jan, 2019 2 commits
  5. 15 Jan, 2019 3 commits
  6. 14 Jan, 2019 5 commits
  7. 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
      code.
      
      Also, since its size is constant (although not known at compile-time),
      replace the vector by a boxed slice.
      8503cea4
    • Kyle Siefring's avatar
      Hookup avx2 subpel code (#851) · 3caefbda
      Kyle Siefring authored
      3caefbda
  8. 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.
      07032e6b
    • 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
      dimensions.
      
      Instead, directly pass &FrameInvariants to lrf_filter_frame().
      
      This paves the way to remove clipped_cfg from RestorationState entirely,
      to simplify tiling.
      54526343
    • 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
      2f86d510
  9. 10 Jan, 2019 3 commits
  10. 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.
      73ca577b
    • Romain Vimont's avatar
      Narrow FrameState borrowing to deblock · 07b6029b
      Romain Vimont authored
      07b6029b
    • Romain Vimont's avatar
      09263086
    • 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.
      25c69725
    • 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.
      37a62634
    • 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
      borrowed.
      
      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
      FrameState.
      90bed0bf
    • 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().
      8348794a
    • 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
      330ac9df
  11. 08 Jan, 2019 2 commits
  12. 07 Jan, 2019 3 commits
  13. 30 Dec, 2018 4 commits
  14. 26 Dec, 2018 1 commit