1. 03 Jul, 2019 1 commit
  2. 25 Jun, 2019 1 commit
  3. 23 Jun, 2019 1 commit
  4. 14 Jun, 2019 1 commit
    • Luca Barbato's avatar
      Reorder the exposed API · 679fa16a
      Luca Barbato authored
      Everything goes in the `prelude` for ease of use.
      
      The fundamental structures are exported in the root crate, the
      rest is re-exported in modules to give a bit of structure.
      679fa16a
  5. 11 Jun, 2019 1 commit
    • Timothy B. Terriberry's avatar
      More explicit naming conventions for frame indices. · 7791bb18
      Timothy B. Terriberry authored
      Instead of using generic terms like "idx" and "number", explicitly
       describe every variable involving frame indices in terms of
       whether it is counting input frames or output frames.
      This removes an output-centric bias that may not be obvious in some
       places (group_len vs. group_src_len), and immediately makes
       several bugs in guess_frame_subtypes() obvious.
      
      This patch introduces no functional changes.
      It is just renaming.
      
      PUBLIC API CHANGE:
      -Packet::number gets renamed
      7791bb18
  6. 17 May, 2019 1 commit
  7. 23 Apr, 2019 1 commit
  8. 20 Apr, 2019 2 commits
  9. 02 Apr, 2019 1 commit
  10. 13 Mar, 2019 1 commit
  11. 12 Mar, 2019 2 commits
  12. 08 Mar, 2019 1 commit
  13. 07 Mar, 2019 1 commit
  14. 06 Mar, 2019 1 commit
  15. 03 Mar, 2019 1 commit
  16. 08 Jan, 2019 1 commit
  17. 18 Dec, 2018 2 commits
  18. 07 Dec, 2018 1 commit
  19. 06 Dec, 2018 2 commits
  20. 05 Dec, 2018 1 commit
  21. 27 Nov, 2018 1 commit
    • Josh Holmer's avatar
      Adaptive keyframe selection · 869fef70
      Josh Holmer authored
      Detects the level of difference between the current frame and the
      previous frame, and if the difference is above a preset threshold,
      encodes the current frame as a keyframe.
      
      Introduces a new CLI option, --max-keyint (-i), to set the maximum
      interval between two keyframes. Reuses the existing --keyint (-I) option
      as the minimum interval between two keyframes. Sets the default minimum
      to be 12 frames. To disable scenechange detection, set the max and min
      to be equal via the CLI.
      869fef70
  22. 14 Nov, 2018 1 commit
    • Frank Bossen's avatar
      Fix padding of odd-sized frames · 708a806c
      Frank Bossen authored
      Fix padding to begin at output frame boundaries instead of coded
      frame boundaries.
      Fixes #731
      Update test to compare only samples that are within frame boundaries
      708a806c
  23. 09 Nov, 2018 1 commit
  24. 01 Nov, 2018 1 commit
  25. 31 Oct, 2018 1 commit
  26. 09 Oct, 2018 1 commit
    • fbossen's avatar
      Frame reordering (#629) · 58e3084b
      fbossen authored
      * Add code to reorder frames during encoding
      
      * Use BTreeMap instead of VecDequeue to hold input frames
      
      * Implement sign bias in MV prediction
      
      * Disable reuse of learned prob and change ref frame semantics
      
      Use LAST2 instead of ALTREF when the second reference frame is also
      in the past
      58e3084b
  27. 01 Oct, 2018 1 commit
  28. 18 Sep, 2018 1 commit
  29. 16 Sep, 2018 1 commit
  30. 10 Sep, 2018 2 commits
  31. 06 Sep, 2018 1 commit
  32. 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
  33. 21 Aug, 2018 2 commits
  34. 17 Aug, 2018 1 commit
    • fbossen's avatar
      Test skip on and off in RDO loop (#474) · c2d7b6af
      fbossen authored
      * Refactor RDO loop to avoid code duplication
      
      Use same code regardless of whether a loop over chroma modes
      is needed
      
      * Test skip on and off in RDO loop
      
      * Don't search transform type when skipping
      
      * Don't try to skip when using intra modes
      
      * Fix issues with speed 0 and speed 1
      
      Handling of < 8x8 was incorrect in CDEF and in reset_skip_context()
      
      * Use dense sampling for chroma components in above_coeff_context and left_coeff_context
      c2d7b6af