1. 10 Dec, 2018 1 commit
  2. 07 Dec, 2018 5 commits
  3. 06 Dec, 2018 4 commits
  4. 05 Dec, 2018 4 commits
  5. 04 Dec, 2018 1 commit
  6. 03 Dec, 2018 1 commit
    • Josh Holmer's avatar
      Refactor frame props setup · 341e2c57
      Josh Holmer authored
      Moves the key frame props and inter frame props setup to be static
      initializers on FrameInvariants, which is more cohesive. This also
      prepares for the potential addition of a lookahead capability.
  7. 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.
  8. 21 Nov, 2018 3 commits
  9. 15 Nov, 2018 2 commits
  10. 14 Nov, 2018 3 commits
  11. 09 Nov, 2018 2 commits
  12. 08 Nov, 2018 3 commits
    • Frank Bossen's avatar
      Add support for coding 64x64 blocks · a541334a
      Frank Bossen authored
      Inverse 64-point transform is added.
      Forward 64-point transform computes all 4096 coefficients such
      that distortion from zeroing high-frequency coefficients can
      be easily computed
    • 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.
    • fbossen's avatar
      Modify frame management to allow for deeper frame hierarchies (#695) · de8a6a3b
      fbossen authored
      * Modify frame management to allow for deeper hierarchies
      Half the slots are used for top-level frames and the other half
      for other frames, where each level in the hierarchy has a single slot
      assigned to it
      * Reuse probabilities from previous frames only when coding top level
      * Increase order hint bits and remove outdated assert
  13. 07 Nov, 2018 3 commits
  14. 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
  15. 27 Oct, 2018 1 commit
    • Yushin Cho's avatar
      Transform domain distortion for RDO-based mode decision (#680) · 4f93ef73
      Yushin Cho authored
      Use transform domain distortion during RDO-based mode decision.
      - Turn on tx-domain distortion when speed >= 1.
      -  For CfL mode, use pixel domain distortion since reconstructed luma pixels are required for CfL mode of chroma channels.
      For default speed = 3, there is a regression of 0.35% PSNR bd-rate increase on AWCY.
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM  | MS SSIM | CIEDE 2000
      0.3440 |  0.4580   |  0.3700   |   0.2730     | 0.2714 |  0.2616    |     0.5526
  16. 25 Oct, 2018 3 commits
  17. 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
  18. 16 Oct, 2018 1 commit