1. 27 Aug, 2018 2 commits
    • fbossen's avatar
      Reuse probabilities from previous frame (#509) · f0a917ee
      fbossen authored
      Add reference frame structure to capture YUV data and probabilities
      of a previously decoded frame.
      Symbol counts are reset and not carried from one frame to the next.
      Error resilient mode is disabled to support this feature.
      f0a917ee
    • fbossen's avatar
      Add 1/8th pel motion refinement step (#503) · 074b124c
      fbossen authored
      Add 1/8th pel motion refinement step but don't enable it by default
      
      Currently this feature yields an average loss of about 1 percent
      BD rate
      074b124c
  2. 24 Aug, 2018 4 commits
  3. 23 Aug, 2018 1 commit
    • fbossen's avatar
      Add basic support for nonzero motion vectors (#485) · 83fcc030
      fbossen authored
      * Add motion vector paramater to inter prediction function
      
      Motion vector is read from added data field in Block structure
      
      * Add reference frame and motion vector fields/parameters
      
      Reference frame and motion vector are added fields to the
      RDOOutput structure and added parameters to the block
      encoding function
      
      * Fix inter prediction function for nonzero MVs
      
      * Add call to encode new motion vector
      
      * Import default cdfs for MV coding from libaom
      
      * Fix handling of MV precision in MV coding function
      
      * Add coding of DRL mode
      
      * Add motion vector stack
      
      * Add new MV counter to correctly determine context
      
      * Use motion vectors in MV stack for prediction
      
      * Sort MV stack according to weights
      
      Also update weights after near search
      
      * Fix log2() function
      
      * Compute correct context for DRL flag
      
      * Store MVs with 1/8 pel precision and fix MV generation
      
      * Add some basic motion estimation
      
      Motion estimation is full search (+/-16 pel range in 2-pel increments) and
      is done independently for each block
      
      * Fix chroma motion compensation for small blocks
      
      Chroma motion compensation sometimes happens on 2x2 basis
      83fcc030