1. 05 May, 2017 1 commit
  2. 04 May, 2017 2 commits
    • hui su's avatar
      Remove subframe_prob_update experiment · ed5a30f2
      hui su authored
      The coding gain from this experiment can be mostly obtained
      from ec-adapt.
      
      BUG=aomedia:450
      
      Change-Id: Ia7f9df9b2c13d8cdb962eeb39624f3e4e3f036ba
      ed5a30f2
    • Fergus Simpson's avatar
      resize-refactor: Refactor 2-pass VBR resizing · ddc846ea
      Fergus Simpson authored
      Replaces resizing's table and index approach to frame sizes with
      numerator and denominator integers in the AV1_COMP struct.
      
      This approach is more flexible and will be simpler going forward as it
      is much more similar to the 1-pass CBR approach that is also being
      refactored. The intention is to merge both approaches and this is the
      first step toward that.
      
      Change-Id: I5733c0687390f8a8e2790dcddfa09fb08ab88376
      ddc846ea
  3. 29 Apr, 2017 1 commit
  4. 26 Apr, 2017 1 commit
    • Yunqing Wang's avatar
      Add the motion vector unit test · ff4fa068
      Yunqing Wang authored
      This unit test was ported from VP9. To prevent the motion vector out of
      range bug, added a motion vector unit test. In the 4k video encoding,
      always forced to use extreme motion vectors and also encouraged to use
      INTER modes. In the decoding, checked if the motion vector was valid,
      and also checked the encoder/decoder mismatch.
      
      Change-Id: I1c72ea7c32a3cec9c67f1bbdc168e60507e57516
      ff4fa068
  5. 24 Apr, 2017 3 commits
    • Yaowu Xu's avatar
      Cleanup: Remove const for params passed by value · 4ff59b55
      Yaowu Xu authored
      BUG=aomedia:448
      
      Change-Id: Ieff977fca8a5033ddef2871a194870f59301ad8f
      4ff59b55
    • Fangwen Fu's avatar
      Extend delta q with segments · 6160df29
      Fangwen Fu authored
      This is the first patch for ext_delta_q experiment.
      * Allow delta q to work with segment features
      
      Change-Id: I9455ebb3b5b23b41daa4afa1149672a20d3a3f2c
      6160df29
    • Luc Trudeau's avatar
      [CFL] Custom block-level DC_PRED · f8164157
      Luc Trudeau authored
      Adds the CfL experiment flag and computes a block-level DC_PRED that is
      required by CfL in order to compute alpha_cb and alpha_cr.
      
      The rate-distorsion impact of computing DC_PRED at the prediction block level
      for chroma planes is rather small
      
      Subset 1:
      master_no_cdef@2017-04-18T20:37:05.712Z
        -> block_DCPRED_no_cdef@2017-04-18T20:38:07.381
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0712 |  0.0337 | -0.1692 |   0.0693 | 0.0814 |  0.0710 |    -0.0063
      Note: CDEF was disabled because of problematic asserts.
      
      Change-Id: I44d1cde8605b108366f4bd4cedbf5159dbbb5880
      f8164157
  6. 20 Apr, 2017 2 commits
    • Alex Converse's avatar
      Lowercase cpi->Source and cpi->Last_Source · f77fd0b0
      Alex Converse authored
      BUG=aomedia:449
      
      Change-Id: I8d1a0342e11877e466a1fb771f9a1941598c95d5
      f77fd0b0
    • Yunqing Wang's avatar
      ext_tile: add 2 tile encoding modes · d8cd55f4
      Yunqing Wang authored
      Added 2 tile encoding modes:
      TILE_NORMAL mode supports the large-scale tile coding up to 1024 x 1024
      tiles;
      TILE_VR mode supports the large-scale tile coding and also the decoding
      of a single tile.
      
      TILE_NORMAL mode allows the non-vr content to be encoded in multiple tiles
      without using the coding tool that are designed for vr applications.
      
      Change-Id: Id804806a1bbcb916b7f5dc7e2c5509d88f3defcb
      d8cd55f4
  7. 17 Apr, 2017 1 commit
    • Thomas Daede's avatar
      Remove rt deadline. · 8082614e
      Thomas Daede authored
      The "good" speed levels are universally better than the "rt" ones,
      running faster to achieve the same quality.
      
      rt mode also turned off alt refs and lag-in-frames, but these
      are still accessible separately (and the low latency test case
      explicitly sets them).
      
      Some features were used by the rt scale and not the good scale.
      Two additional "good" levels, 7 and 8, were added to accomidate
      these features and not reduce test coverage.
      
      Change-Id: I3a6a78ddb664511762c197bc41f3a9909665b565
      8082614e
  8. 13 Apr, 2017 1 commit
  9. 12 Apr, 2017 1 commit
  10. 11 Apr, 2017 1 commit
  11. 31 Mar, 2017 1 commit
  12. 29 Mar, 2017 1 commit
    • Debargha Mukherjee's avatar
      Improves/refactors rd costing for global motion · 265db6d0
      Debargha Mukherjee authored
      Improves and simplifies costing for global motion to use the
      actual bits used to communicate the global motion parameters.
      Removes some of the old hacks.
      This patch also includes necessary refactoring to incorporate
      reference based coding of the motion parameters to follow.
      
      lowres results: -1.489% (up from -1.333%)
      
      Change-Id: I994dc97046011de4261633ccb0c9d71e374f2c5a
      265db6d0
  13. 21 Mar, 2017 1 commit
    • Thomas Daede's avatar
      Remove "best" deadline parameter from aomenc. · 6eca835f
      Thomas Daede authored
      This option increases runtime by 20% and is only marginally
      better than good cpu-used=0:
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.3382 | -0.3911 | -0.4875 |  -0.2982 | -0.2992 | -0.3164 |    -0.3686
      
      It is also not well integrated with speed_features.c, which is
      the main reason for the removal.
      
      Change-Id: If88c50367f63b860ad57f650869b978ec7734aad
      6eca835f
  14. 16 Mar, 2017 1 commit
    • Angie Chiang's avatar
      Add frame level buffer to store txfm coeffs · f0fbf9d9
      Angie Chiang authored
      Doing tokenize in the last step of RD loop and then doing packing
      tokens in bitstream packing phase is hard for debugging.
      
      Therefore, we create a frame-level buffer to store the txfm coeffs
      from the reconstruction in RD loop and then in bitstream packing
      phase, we can code the txfm coeffs directly.
      
      Change-Id: I999470eef6e038317a91585df2bdfc20aca3573e
      f0fbf9d9
  15. 07 Mar, 2017 2 commits
    • Jingning Han's avatar
      Fix tile size offset in cb4x4 mode · eafbd5fb
      Jingning Han authored
      Fix the encoding failure in cb4x4 mode when multiple tiles are
      enabled.
      
      BUG=aomedia:364
      
      Change-Id: I7ee6b60a08445a916c72cf080b7bf2f44bfeed08
      eafbd5fb
    • hui su's avatar
      Fork the entropy experiment · 0d103578
      hui su authored
      Split it into two experiments:
      q_adapt_probs: multiple initial coeff prob tables based on q-index
      subframe_prob_update: multiple backward prob updates within frame
      
      Change-Id: I78041ebd4ba34afc9152f6861225f63c2e8eb686
      0d103578
  16. 22 Feb, 2017 1 commit
  17. 17 Feb, 2017 1 commit
    • Rostislav Pehlivanov's avatar
      Implement a new rate control system · 002e7b7a
      Rostislav Pehlivanov authored
      This commit implements a new rate control system which was ported from
      Daala's rate control system (which was based off of Theora's rate
      control system) to the encoder. Its aim is to address the weaknesses of
      the current rate control system and eventually serve as its replacement.
      
      This is still work in progress. So far this commit only implements
      support for single pass encoding for constant quality and bitrate
      targeting.
      Additional commits which implement two-pass support and the rest to
      match the feature set of the current rate control system are coming
      soon.
      
      The rate control system hasn't been fully tuned (and will likely need
      additional tuning as the encoder's development progresses) and does
      contain some "hacks", to convert the quality to a quantizer value
      (empirical) and to tweak the quantizer in between golden frames (which
      uses some code from the current rate control system as well as code
      which attempts to model what that code does), the latter of which is
      only in the constant quality codepath.
      
      Bitrate targeting works much better than the current rate control
      system's targeting and will actually closely match the rate specified by
      the user without the current rate control system's bursty behaviour.
      
      Change-Id: I588fbfd2e80a3d21ce7176903115d6a96ef1700a
      002e7b7a
  18. 13 Feb, 2017 1 commit
  19. 04 Feb, 2017 1 commit
  20. 03 Feb, 2017 1 commit
  21. 30 Jan, 2017 1 commit
    • Urvang Joshi's avatar
      Palette code: add comments and rename some variables. · 23a61117
      Urvang Joshi authored
      - Added comments for some tables and #defines for clarity.
      - Renamed some variables to ensure we use "color_index" instead of
      "color" for palette color index related variables.
      
      Change-Id: Ica95a26e0f171a41a3259c8e6b3b891b8cd10151
      23a61117
  22. 23 Jan, 2017 1 commit
  23. 19 Jan, 2017 2 commits
  24. 18 Jan, 2017 1 commit
    • Alex Converse's avatar
      Add unpoison_partition_ctx experiment · 55c6bdeb
      Alex Converse authored
      At the edges of the picture only a subset of partitions are legal. Add
      new contexts for these borders so they don't distort the probabilities of
      the interior of the image where all partitions are legal.
      
      Only include one context for each block size of each border direction
      because so few blocks fall into these contexts to begin with.
      
      objective-1-fast:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0294 | -0.0911 | -0.2382 |  -0.0481 | -0.0441 | -0.0450 |    -0.0454
      
      derf144: -0.135
      lowres: -0.124
      midres: -0.076
      hdres: -0.078
      
      Change-Id: I909b98eebb7e49273cde90154c8408febe334158
      55c6bdeb
  25. 06 Jan, 2017 1 commit
    • Debargha Mukherjee's avatar
      Add UV wiener loop restoration · a43a2d98
      Debargha Mukherjee authored
      Enables Wiener based loop restoration only for the UV
      frames. The selfguided and domaintranform filters do not
      work very well for UV components, hence they are disabled.
      For each UV frame a single set of wiener parameters are
      sent. They are applied tile-wise, but all tiles use the
      same parameters.
      
      BDRATE (Global PSNR) results:
      -----------------------------
      lowres: -1.266% (up from -0.666%, good improvement)
      midres: -1.815% (up from -1.792%, tiny improvement)
      
      Tiling on UV components will be explored subsequently.
      
      Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
      a43a2d98
  26. 04 Jan, 2017 2 commits
    • David Barker's avatar
      Simplify buffer management for self-guided restoration filter · 3a0df186
      David Barker authored
      * Remove some unused variables
      * Reduce need for casts by typing intermediate buffers appropriately
      * Avoid copying data which is never modified; use the original data
        instead.
      * Reduce number of intermediate buffers required, saving allocations
        of 576KiB in the decoder and ~1MiB in the encoder
      
      No effect on performance
      
      Change-Id: I55243904dd8e818fb6d43fa431903736475d23ff
      3a0df186
    • Ryan Lei's avatar
      Add an experiment to disable lpf on tile boundaries · 7386eda0
      Ryan Lei authored
      This commit adds a new experiment to allow disabling of loop filtering
      on tile boundaries. It is implemented by adding a syntax field
      "loopfilter_across_tiles_enabled" into the uncompressed frame header. 
      If it is set to 0, decoder and encoder will disables loop filtering for
      block edges that are also tile boundaries.
      
      Change-Id: Ib80bfd82d49c74f1ba46ae18ceedb30704ac8aa5
      7386eda0
  27. 16 Dec, 2016 1 commit
  28. 15 Dec, 2016 1 commit
  29. 12 Dec, 2016 1 commit
    • Debargha Mukherjee's avatar
      Refines the recode loop · 705544c2
      Debargha Mukherjee authored
      Uses number of 4x4 blocks using global motion as metric to
      decide whether to recode or not.
      
      Improves performance a little.
      lowres: -0.658%
      
      Change-Id: I6b1913b7bd31d7a25ca8ca5c75c9b6bb87151a78
      705544c2
  30. 09 Dec, 2016 1 commit
    • hui su's avatar
      Add intra-interp experiment flag · eda3d764
      hui su authored
      intra-interp experiment allows intra prediction to use different
      interpolation filters. It was part of the ext-intra in the nextgenv2
      branch.
      
      Change-Id: I27ab692494dc79bb92e457dbf9a72988577f1c6d
      eda3d764
  31. 08 Dec, 2016 1 commit
  32. 29 Nov, 2016 1 commit
    • Yue Chen's avatar
      Add WARPED_MOTION experiment · 69f18e1a
      Yue Chen authored
      Performance gain (REF_MV on by default)
      WARPED_MOTION: 1.061%
      WARPED_MOTION+MOTION_VAR: 2.917%
      MOTION_VAR: 2.337%
      
      Change-Id: I43f742a02cdd43d13ef333a0a15087062ad020ab
      69f18e1a
  33. 16 Nov, 2016 1 commit
    • Debargha Mukherjee's avatar
      Add recode loop test for global motion usage · b98a702d
      Debargha Mukherjee authored
      Adds a feature to recode if global motion is used for a reference but
      has very few blocks in the frame actually using it.
      
      lowres improves to -0.512% on average.
      
      Change-Id: I61a36770e1b7103b9a27706909443c3f14ee4e42
      b98a702d