1. 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
  2. 05 Jan, 2017 26 commits
  3. 04 Jan, 2017 8 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
    • Angie Chiang's avatar
      Remove fwd_txfm_opt · 2cc057cf
      Angie Chiang authored
      This CL aims at simplify transform code.
      
      Change-Id: Ibaf1dd8607e37d44a0f77788a72e344583f81fa0
      2cc057cf
    • Sarah Parker's avatar
      Bugfixes in pick_interinter_seg_mask · 409c0bb2
      Sarah Parker authored
      Change-Id: I5ad51375287b40170882c4816d34858be50afacd
      409c0bb2
    • Jingning Han's avatar
      Enable cb4x4 mode support to ext-tx experiment · 1a00cffd
      Jingning Han authored
      This commit enables the cb4x4 mode to support ext-tx experiment. The
      coding performance gains are:
      
             ext-tx   cb4x4    ext-tx + cb4x4
      lowres  2.7%     2.6%      4.9%
      midres  2.1%     1.2%      3.0%
      
      Change-Id: I6c566b6073527262abcdbb1a0c6bcb8729988f3b
      1a00cffd
    • Jingning Han's avatar
      Clean up ext-tx experiment · aa434238
      Jingning Han authored
      Remove unnecessary #if statements from the implementation.
      
      Change-Id: I09c2f046aec2c43894f8dcfd99216fdf0a50451d
      aa434238
    • Angie Chiang's avatar
      Remove speed feature use_lp32x32fdct · 8fd2d7aa
      Angie Chiang authored
      Change-Id: I6ce654b582f2a9d45a40bf22ba597b47d418a0be
      8fd2d7aa
    • Yushin Cho's avatar
      Refactor PVQ codes for inter4x4 · 3839548c
      Yushin Cho authored
      Similarly to the refactoring of PVQ codes for 4x4 intra,
      instead of calling tx and pvq_encode_helper() in 4x4 inter,
      av1_xform_quant() is called.
      
      This commit gives no change in metrics.
      
      Change-Id: Ib69efb00ed5a5b2254478bf5db5a19d9dac12b3b
      3839548c
    • 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
  4. 03 Jan, 2017 3 commits
    • Yushin Cho's avatar
      Refactor PVQ codes for intra4x4 · 900243b9
      Yushin Cho authored
      In 4x4 intra search for RDO, AV1 codes has been changed to
      call av1_xform_quant() while ago, while PVQ did not but call
      txfm and pvq_encode_helper() instead, which caused duplicated codes
      and thus worse maintenance and testing.
      
      This refactor also has fixed the long-sitting bug,
      which we couldn't find before refactoring.
      
      PSNR    PSNR-HVS  SSIM  FAST-SSIM  CIEDE 2000 MS-SSIM
      -2.77   -2.62     -2.90 -4.07       -2.94     -2.63
      
      Change-Id: I6e526123a64af810897962d11d53028719e82e16
      900243b9
    • Debargha Mukherjee's avatar
      Add code to output counts for an encode run · 5802ebe6
      Debargha Mukherjee authored
      If --enable-entropy-stats is on, the aggregate counts for each
      frame are written out to a file named counts.stt.
      
      Change-Id: I0c73ab872183a9dbd6d767a8c6f0642c5c117253
      5802ebe6
    • David Barker's avatar
      Add new convolve variant for loop-restoration · be6cc07d
      David Barker authored
      The convolve filters generated by loop_wiener_filter_tile
      are not compatible with some existing convolve implementations
      (they can have coefficients >128, sums of (certain subsets of)
      coefficients >128, etc.)
      
      So we implement a new variant, which takes a filter with 128
      subtracted from its central element and which adds an extra copy
      of the source just before clipping to a pixel (reinstating the
      128 we subtracted). This should be easy to adapt from the existing
      convolve functions, and this patch includes SSE2 highbd and
      SSSE3 lowbd implementations.
      
      Change-Id: I0abf4c2915f0665c49d88fe450dbc77b783f69e1
      be6cc07d
  5. 28 Dec, 2016 2 commits