1. 04 Feb, 2019 1 commit
  2. 19 Jan, 2019 1 commit
  3. 07 Jan, 2019 1 commit
  4. 11 Dec, 2018 2 commits
  5. 06 Dec, 2018 1 commit
    • Raphaël Zumer's avatar
      Organize use statements · 5311eeea
      Raphaël Zumer authored
      * Move use statements to the heads of their modules
      * Split local and external module use statements
      * Reorder use statements alphabetically by module name
      5311eeea
  6. 28 Nov, 2018 1 commit
  7. 20 Nov, 2018 1 commit
  8. 15 Nov, 2018 2 commits
  9. 14 Nov, 2018 3 commits
  10. 09 Nov, 2018 1 commit
  11. 08 Nov, 2018 1 commit
    • Josh Holmer's avatar
      Pass small copy types by value · 9b28d1c5
      Josh Holmer authored
      It is more performant to pass small types which implement `Copy` by
      value, because they can be passed directly through registers. Clippy is
      conservative with this lint and optimizes for 32-bit architectures. The
      setting can be overridden in `clippy.toml` if we choose to further
      optimize for 64-bit architectures.
      9b28d1c5
  12. 29 Oct, 2018 1 commit
    • fbossen's avatar
      Hierarchical motion estimation (#673) · bc5a464b
      fbossen authored
      * Generate downsampled versions of input frames and store them with reference frames
      
      * Add hierarchical ME, where initial ME is done using 4x subsampled 64x64 blocks. MVs are refined using 2x subsampled 32x32 blocks. In the refinement step, search is done around MV found for colocated 64x64 block, and also around MVs found for neighboring 64x64 blocks
      bc5a464b
  13. 23 Oct, 2018 1 commit
    • fbossen's avatar
      Add support for compound mode (#663) · 6bfa0aa8
      fbossen authored
      * Enable coding of compound mode
      
      * Modify inter prediction function to support compound mode
      
      * Call motion estimation function early and store results for use by compound mode
      
      * Add compound as an RDO candidate
      
      * Increase frame coding structure pyramid size
      
      * Make ME search range dependent on frame distance
      6bfa0aa8
  14. 16 Oct, 2018 1 commit
  15. 10 Oct, 2018 1 commit
  16. 29 Sep, 2018 3 commits
  17. 25 Sep, 2018 1 commit
  18. 16 Sep, 2018 1 commit
  19. 13 Sep, 2018 1 commit
  20. 12 Sep, 2018 1 commit
  21. 11 Sep, 2018 1 commit
  22. 10 Sep, 2018 1 commit
  23. 07 Sep, 2018 1 commit
  24. 06 Sep, 2018 2 commits
  25. 05 Sep, 2018 1 commit
    • fbossen's avatar
      Use padded frames (#537) · 982d16c3
      fbossen authored
      * Modify plane data structure to allow for padded border
      
      * Pad reconstructed frame
      
      * Have ME consider motion vectors pointing outside frame boundary
      
      * Remove clamping inside motion compensation loop
      
      Clamping is now done outside the loop and relies on the frame
      being padded.
      
      * Reduce size of intermediate buffer in motion compensation
      
      * Update encode/decode tests
      982d16c3
  26. 28 Aug, 2018 1 commit
  27. 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
  28. 24 Aug, 2018 4 commits
  29. 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