1. 05 Jan, 2017 1 commit
  2. 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
  3. 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
  4. 28 Dec, 2016 11 commits
  5. 27 Dec, 2016 1 commit
  6. 24 Dec, 2016 1 commit
    • Yushin Cho's avatar
      Fix wrong place of setting dst with PVQ in intra 4x4 · b27a17f2
      Yushin Cho authored
      With PVQ, the dst buffer should be initialized as zero
      before av1_inv_txfm_add_*() is called.
      This bug seems introduced during resolving conflicts
      when nextgenv2 was merged.
      
      BD-Rate change:
                      PSNR  PSNR-HVS  SSIM  CIEDE 2000  MS SSIM
      subset1-mono    -0.25 -0.25     -0.23 -0.26       -0.23
      objective1-fast -0.17 -0.26     -0.14 -0.04       -0.18
      
      Change-Id: I7c6b793ba0aa5f1e3d419312cbbe5c207a68f1f8
      b27a17f2
  7. 23 Dec, 2016 1 commit
  8. 21 Dec, 2016 6 commits
  9. 20 Dec, 2016 2 commits
  10. 19 Dec, 2016 6 commits
    • Nathan E. Egge's avatar
      Delete duplicate cdf updating code. · b69cb528
      Nathan E. Egge authored
      The mv cdfs are updated below in calls to av1_set_mv_cdfs().
      
      av1-master@2016-12-19T17:27:14Z -> av1-set-mv-cdfs@2016-12-19T17:27:54Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: I6061602a4f2cc91dadf79e39d513c9678b9d2075
      b69cb528
    • Guillaume Martres's avatar
      Fix uninitialized entropy contexts · e50d9ddb
      Guillaume Martres authored
      When enable_optimize_b is false in av1_encode_intra_block_plane the
      entropy contexts were never initialized.
      
      No changes on metrics for objective-1-fast when no experiment is
      enabled.
      
      Change-Id: Ic68913f6400d2becbaec3cc14214a0257530ed0b
      e50d9ddb
    • Jingning Han's avatar
      Scale reference motion vector search step size · fab16037
      Jingning Han authored
      This commit allows the dynamic motion vector referencing system to
      scale its search range according to the coding block size. This
      provides higher search resolution for smaller size coding unit.
      
      The cb4x4 mode improves the compression performance across all the
      test sets:
      
               avg     low    mid    high
      lowres   2.8%    2.4%   3.1%   3.0%
      midres   1.3%    0.3%   1.8%   2.7%
      hdres    0.9%    0.5%   1.4%   1.5%
      
      Change-Id: I1bc501506a9f2f06071c5274391f6bd053b235a7
      fab16037
    • Jingning Han's avatar
      Refactor loop filter frame border condition · ed8f3964
      Jingning Han authored
      Use the proper scaling factor to decide if a block is sitting on
      the frame border. This refactor does not change the coding
      statistics of the code base. It fixes an enc/dec mismatch issue
      due to out of boundary memory access in the cb4x4 mode.
      
      Change-Id: Ia1e999c0f4e4ef10aac6120e69c1fb10a738dd4d
      ed8f3964
    • Jingning Han's avatar
      Fill the token cost for 2x2 transform blocks · 6a9b2400
      Jingning Han authored
      Refactor the fill_token_cost() function to automatically compute
      the token cost arry for all transform block sizes.
      
      Change-Id: I2f44c9c08fb169bc14282ba48bce23577b1ab184
      6a9b2400
    • Jingning Han's avatar
      Allow 2x2 transform block forward model update · 8363063d
      Jingning Han authored
      This commit allows the forward model update for 2x2 transform
      block size.
      
      Change-Id: Ie08c401e488b3872be0d92640468857f0aa0d0b3
      8363063d