1. 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
  2. 17 Jan, 2017 1 commit
    • Debargha Mukherjee's avatar
      Improvements on segment mask · 1edf9a30
      Debargha Mukherjee authored
      Adds a few options to make the compound mask lightly dependent on the
      the two predictors.
      
      Also adds high bit depth support
      
      Change-Id: If57b6e8ddd140e0c00fd9d4738927d37225091cb
      1edf9a30
  3. 14 Jan, 2017 2 commits
    • Angie Chiang's avatar
      Refactor av1_update_neighbors · 0cfaeeaf
      Angie Chiang authored
      Beside above and left positions, additional above-left,
      above-right, and bottom-left positions are added as
      neighbor candidates.
      
      In av1_update_neighbors, two available positions will be picked as
      context neighbors.
      
      The picking priority is
      above -> left -> above-left -> above->right -> bottom->left
      
      Change-Id: I82eaf0b23d0189caaea008ecc86776492886a05b
      0cfaeeaf
    • Angie Chiang's avatar
      Use default scan order as a tie breaker · fe2a959e
      Angie Chiang authored
      Change-Id: I85f059b6e2c48bcdf2edd3b7bf896fdccbaaa703
      fe2a959e
  4. 13 Jan, 2017 4 commits
  5. 12 Jan, 2017 5 commits
    • David Barker's avatar
      Add SSE2 vectorized warp filter for lowbd · d5dfa96e
      David Barker authored
      End-to-end speed improvements: (measured on tempete_cif.y4m,
      20 frames for encoder and all 260 frames for decoder)
      
      * GLOBAL_MOTION encoder: ~10% faster
      * GLOBAL_MOTION decoder: 100-200% faster depending on bitrate
      * WARPED_MOTION encoder: ~2.5% faster
      * WARPED_MOTION decoder: ~20-40% faster depending on bitrate
      
      The improvement in the GLOBAL_MOTION decoder is particularly
      large because its runtime is dominated by calls to warp_plane().
      
      This introduces minor changes to the output of the warp filter,
      but these should be rare.
      
      Change-Id: I5813ab9e90311e27587045153c32d400b6b9eb92
      d5dfa96e
    • Yi Luo's avatar
      High bit depth 32x32 inverse DCT_DCT transform, AVX2 · 3bd83775
      Yi Luo authored
      - Witness the follow user-level speedup on AV1 baseline:
       Encoding time reduction: 4.26%
       Decoding time reduction: 25.35%
      
      Change-Id: Ideaf3cd473ad45ed9256c80d5a5daed0a6e098cf
      3bd83775
    • Jingning Han's avatar
      Make txfm block partition context support rectangular blocks · 0c70a80f
      Jingning Han authored
      Make the transform block partition context model support the
      rectangular transform block size partition. The coding gains
      from cb4x4 and var-tx are:
                cb4x4 + var-tx
      lowres         4.3%
      midres         2.6%
      
      Change-Id: I6cc1413fbf6d7707ca7fd24300623a3f0118be7c
      0c70a80f
    • Nathan E. Egge's avatar
      Move from Daala accounting to AOM accounting. · cefb4094
      Nathan E. Egge authored
      Replace all instances of Daala's OD_ACCOUNTING with those specified by
       CONFIG_ACCOUNTING.
      
      Change-Id: Ibb59fc5df0ce4b0528b15296bf2f14029c414bc0
      cefb4094
    • Nathan E. Egge's avatar
      Don't include Daala EC headers directly. · cceac33a
      Nathan E. Egge authored
      The generic coder now uses the AOM entropy coder API and no longer
       needs to include the entenc.h and entdec.h headers.
      
      Change-Id: I213acb5b6bd8a3fe60dc096b83d76ae72315e9de
      cceac33a
  6. 11 Jan, 2017 1 commit
  7. 10 Jan, 2017 5 commits
  8. 09 Jan, 2017 6 commits
  9. 07 Jan, 2017 4 commits
    • David Barker's avatar
      Fix new warp filter in the case wmmat[2] == 0 · fa19516f
      David Barker authored
      In this case, calculating the shear parameters fails
      with a divide-by-zero error. So disable the new filter
      in this case.
      
      We also temporarily remove the asserts blocking use
      of the old filter with debugging enabled.
      
      Change-Id: I788ff51c3bc1d841eab1099881cc3b55038ae342
      fa19516f
    • David Barker's avatar
      Optimize Wiener filter selection · 33f3bfde
      David Barker authored
      * Change the behaviour of search_wiener at borders to match
        the behaviour of the Wiener filter itself
      * Reorder the calculation in compute_stats, saving ~5% of
        encode time at low bitrates (tested on bus_cif.y4m at 200kbps)
      
      Change-Id: I5f649d77fd66584451aaf37697ce9c9af69524e4
      33f3bfde
    • David Barker's avatar
      Various loop-restoration optimizations · 6928a5d2
      David Barker authored
      * Optimize the self-guided and domaintxfmrf filters
      * Save 576KiB of buffers in the encoder and decoder
      * Disable self-guided filter for videos whose width or
        height is < 5, in order to help simplify the filter.
      
      This results in an overall 30-40% improvement in decoder
      speed with loop-restoration enabled (depending on source
      and bitate), with no effect on video quality, *except* for
      videos with width or height < 5 pixels.
      
      Change-Id: Ide9181118ec3a63a0335338f316505b08df2d831
      6928a5d2
    • Angie Chiang's avatar
      Merge ext_interp and dual_filter · 1733f6b7
      Angie Chiang authored
      Change-Id: I0ebd6951d2b42869ae872b33f63a07db03e99c62
      1733f6b7
  10. 06 Jan, 2017 5 commits
    • Jingning Han's avatar
      Fix frame header tx_size syntax setting · 4be1a4d4
      Jingning Han authored
      Fix an intricacy due to interactions between cb4x4 and var-tx that
      sets frame header away from tx_mode_select. This resolves a rare
      enc/dec mismatch issue.
      
      Change-Id: I6981f21f7e6f04f2a47ef32f744f83a8fd34355b
      4be1a4d4
    • Jingning Han's avatar
      Rework the txfm partition context to support cb4x4 mode · 581d1697
      Jingning Han authored
      This commit reworks the transform block partition context update
      to support cb4x4 mode in the recursive transform block partition.
      It resolves the remaining enc/dec mismatch issue when both cb4x4
      and var-tx are turned on.
      
      Change-Id: I850d121204fe4c68e81488f1d2848c570d9d08b9
      581d1697
    • Jingning Han's avatar
      Fix av1_iht8x4_32_add_sse2() implementation · 030f651f
      Jingning Han authored
      Fix the 8x4 inverse transform for ADST row process.
      
      Change-Id: Iceff4ab356a51218a952b53b1134606548832eac
      030f651f
    • Jingning Han's avatar
      Refactor var-tx pipeline to support cb4x4 mode · 9ca05b7e
      Jingning Han authored
      Replace hard coded 4x4 transform block step size assumption with
      scalable table access.
      
      Change-Id: Ib1cc555c2641e5634acdd91ca33217f00aeb0b89
      9ca05b7e
    • 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
  11. 05 Jan, 2017 6 commits