Skip to content
Snippets Groups Projects
  1. Mar 28, 2019
    • Romain Vimont's avatar
      Return blocks by reference, not by value · 86a74779
      Romain Vimont authored
      The methods above_of(), left_of() and above_left_of() returned the
      matching block by value, or a default block if the offset resulted in a
      block outside boundaries.
      
      The Block structure is quite big (std::mem::size_of::<Block>() == 120).
      For reading a field, it is probably not optimal to return a whole Block
      copy or a new default block (although the compiler might optimize such
      accesses).
      
      Moreover, the boundaries checks were often redundant, because already
      done by the callers.
      
      Instead, let the callers check boundaries and return a reference to the
      matching block.
      86a74779
    • Romain Vimont's avatar
      Simplify BlockContext logic · 18ad2b5e
      Romain Vimont authored
      Rewrite conditions to make them easier to read.
      18ad2b5e
    • Thomas Daede's avatar
      Create RefType enum. · db58658a
      Thomas Daede authored
      Moves all functions that previously used usize to this type.
      Instead of direct conversions to a slot number, use a to_index fn.
      
      This also changes the size of the global mv state and context
      ref counting arrays as they don't need LAST_FRAME.
      db58658a
  2. Mar 27, 2019
    • Yushin Cho's avatar
      RDO of transform size for intra block · 6f320b1c
      Yushin Cho authored and Yushin Cho's avatar Yushin Cho committed
      Enabled for speed <= 2, i.e. when
      fi.config.speed_settings.rdo_tx_decision == true.
      
      AWCY result for speed 2
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -1.3858 | -1.1944 | -0.8549 |  -0.9902 | -1.3141 | -0.9488 |    -1.1913
      
      With encoding time increased < ~5%.
      6f320b1c
  3. Mar 26, 2019
  4. Mar 25, 2019
  5. Mar 23, 2019
  6. Mar 22, 2019
  7. Mar 21, 2019
  8. Mar 20, 2019
  9. Mar 19, 2019
  10. Mar 18, 2019
    • David Michael Barr's avatar
      Inline often called and almost-trivial functions (#1124) · 7a479a0c
      David Michael Barr authored
      * Inline constrain and msb for cdef_filter_block
        This reduces its average time by around 42%.
      * Inline round_shift for pred_directional and others
        This reduces its average time by around 10%.
      * Inline sgrproj_sum_finish to its various callers
        It is at the lowest level of a hot call graph and almost trivial.
      * Inline get_mv_rate in motion estimation
        It is almost trivial and called often.
      7a479a0c
  11. Mar 16, 2019
  12. Mar 15, 2019
Loading