Skip to content
Snippets Groups Projects
  1. Aug 23, 2018
    • Frank Bossen's avatar
      Add basic support for nonzero motion vectors (#485) · 83fcc030
      Frank Bossen 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
  2. Aug 22, 2018
  3. Aug 21, 2018
  4. Aug 20, 2018
  5. Aug 19, 2018
    • Andrew D'Addesio's avatar
      Re-eliminate pkg-config dependency under MinGW · 15c25de5
      Andrew D'Addesio authored and Thomas Daede's avatar Thomas Daede committed
      On MinGW, the "no_build_target(cfg!(windows))" line unfortunately
      prevents out/lib/pkgconfig/aom.pc from being created, causing the
      "// MSVC" code branch to be taken which results in a linker error
      (-laom not found).
      
      Rather than fixing pkg-config, we can pass an absolute path to
      libaom.a like we already do to aom.lib for MSVC. This has the
      benefit that rav1e can be compiled with MinGW directly from cmd,
      where pkg-config usually isn't available.
      
      Tested on:
      * MinGW-Builds 8.1.0 (cmd, msys2 terminal)
      * Visual Studio 2017 15.8.1 (cmd, msys2 terminal)
      15c25de5
  6. Aug 18, 2018
  7. Aug 17, 2018
    • Frank Bossen's avatar
      Rename mutable and non-mutable versions of at() function · 353ba7aa
      Frank Bossen authored and Thomas Daede's avatar Thomas Daede committed
      Make most calls use the non-mutable version
      353ba7aa
    • Frank Bossen's avatar
      Test skip on and off in RDO loop (#474) · c2d7b6af
      Frank Bossen 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
  8. Aug 16, 2018
    • Frank Bossen's avatar
      Enable mixing intra and inter blocks in inter frames (#469) · bf537275
      Frank Bossen authored and Thomas Daede's avatar Thomas Daede committed
      * WIP motion vector reference search
      
      * More searches
      
      * Have a version that compiles
      
      * Actually call MV prediction function
      
      Fix a few bugs along the way
      
      * Add computation of context for inter mode
      
      * Have find_mvrefs return a mode_context value and use it
      
      * Test but never select intra mode in inter frame
      
      * Fixes to context derivation for inter mode
      
      Some success with mixing intra and inter in a same frame but
      still buggy
      
      * Fixes to find MV references functions
      
      Can encode/decode 20 frames at speed 4, but not at slower speed
      settings
      
      * Fix MV scan
      
      Now intra/inter mixing works for all speed settings
      
      * Fix issues that arose from rebase
      
      * Remove lines that should not have been added
      
      * Remove superfluous empty lines
      
      * Supress compiler warnings
      
      * A few cosmetic improvements
      bf537275
    • Thomas Daede's avatar
      Add artifact to Appveyor build. (#468) · e4674776
      Thomas Daede authored
      e4674776
  9. Aug 15, 2018
  10. Aug 14, 2018
  11. Aug 13, 2018
    • Raphaël Zumer's avatar
      Revert "Revert "Enable and test high bit depth input (#437)" (#442)" (#447) · f63f5e99
      Raphaël Zumer authored and Thomas Daede's avatar Thomas Daede committed
      * Attempt to process 10-bit Y4M input
      
      Currently compiles, encodes and decodes with desynchronization
      
      * Use high bit depth quantization tables
      
      * Move context::clamp() to util.rs
      
      * Fix partition context initialization for high bit depth
      
      * Enable and test 10-bit input
      
      * Add 10- and 12-bit test clips to build.sh
      
      Commented out by default, to enable as needed for local testing.
      
      * Use the same bit depth as y4m_dec for y4m_enc
      
      * Fix benchmark module compilation
      
      * Fix high bit depth test encoding in 8-bit
      
      * Fix header syntax for 12-bit 4:2:0 input
      
      * Enable and test 12-bit input
      
      * Reflect 12-bit support in README.md
      
      * Keep the default C420jpeg color space in y4m_encoder
      
      * Do not allow reconstruction output at high bit depths
      
      * Fix reconstruction output at high bit depths
      
      * Clean up reconstruction copy to frame buffers
      f63f5e99
Loading