1. 14 Feb, 2017 4 commits
    • James Zern's avatar
      rtcd.pl: tolerate mixed output line endings · 2b3496f4
      James Zern authored
      strip the default eol from the config header line, then a '\r' if there
      is one. this can occur if cmake used to output the header uses windows
      eol, but the perl used expects newlines for instance.
      Change-Id: I687415878b1a04fd94b12d7b3d3066f448630607
    • James Zern's avatar
      av1/encoder/block.h: s/inline/INLINE/ · d90eefeb
      James Zern authored
      vs2013 is still supported, it still uses the old behavior which supports
      inline in c++ only.
      Change-Id: I74417c6c93774e55122bbbf1db0283e2c30fe63e
    • Yushin Cho's avatar
      Clean up pvq codes in bitstream packing · 4483ea21
      Yushin Cho authored
      Change-Id: Id9e43dcda3e356296ca138ec913579822c514019
    • Tom Finegan's avatar
      Tidy up latest googletest update. · 49c8585f
      Tom Finegan authored
      - Remove gtest files that aren't necessary in libaom.
      - Correct the removals noted in README.libaom
      Change-Id: Icb5dd6340334d5d0db0072ee0d101709cf785feb
  2. 13 Feb, 2017 18 commits
  3. 12 Feb, 2017 4 commits
    • Jingning Han's avatar
      Make adapt-scan support multi-thread encoding · 5d0b310b
      Jingning Han authored
      This commit makes the adaptive scan order system support multi-
      thread encoding. It fixes unit test failure issue associated with
      Change-Id: I61cbf9531c8deab97fb3bb17428d0b2a63cf309a
    • Jingning Han's avatar
      Separate intra tx_size logic between var-tx and rect-tx · cb512283
      Jingning Han authored
      Skip rectangular transform block size coding for intra coded block
      in var-tx mode, when the rect-tx is disabled.
      Change-Id: If3a091d25f19bf4a67485b5d235bb3d7d0c2cd03
    • Angie Chiang's avatar
      Implement shorter-tap first in convolve_round · 118bf67c
      Angie Chiang authored
      The performance change is 0.004% on lowres
      Change-Id: If3702ba6377ac42997e7d49b8959ff16fb182daa
    • David Barker's avatar
      Fix segfault with loop-restoration on x86. · befcc425
      David Barker authored
      The WienerInfo struct requires a 16-byte alignment on x86,
      since it contains filter coefficients which are loaded using
      SSE aligned load instructions. But on 32-bit x86, the default
      alignment of aom_malloc/aom_realloc is only 8 bytes, leading
      to occasional segfaults.
      To fix this, rather than using aom_realloc to resize WienerInfo
      structures, we always free and re-allocate them using aom_memalign
      Change-Id: Ib1b2a42d4a2fa215dcc81ea481c51271ab068a37
  4. 11 Feb, 2017 1 commit
    • Zoe Liu's avatar
      Add a new experiment of REF_ADAPT · b05e5d10
      Zoe Liu authored
      Noticed that some ALTREF_FRAMEs could have used compound modes for its
      prediction but have been labeled as SINGLE_REFERENCE mode in the frame
      header. This experiment is to remove the COMPOUND_REFERENCE mode from
      the frame-level reference mode choices and only leave SINGLE_REFERENCE
      and REFERENCE_MODE_SELECT the two choices in the frame header.
      When turning on both ext-refs and ref-adapt, compared against ext-refs
      itself, a small gain is achieved. In PSNR, the bitrate saving gains are
      as follows:
      lowres: Avg -0.120%; BDRate -0.128%
      midres: Avg -0.155%; BDRate -0.128%
      Change-Id: I2cfff8a6b7eaa65ef863dbdbc4dd086d3b586f8c
  5. 10 Feb, 2017 4 commits
    • Steinar Midtskogen's avatar
      Speed up CLPF when there's nothing to clip · f844e6ef
      Steinar Midtskogen authored
      Gives 7% speed-up in the CLPF processing (measured on SSE4.2).
      Change-Id: I934ad85ef2066086a44387030b42e14301b3d428
    • Steinar Midtskogen's avatar
      Retune the CLPF kernel · 4f0b3ed8
      Steinar Midtskogen authored
      CLPF performance had degraded by about 0.5% over the past six months,
      which isn't totally surprising since the codec is a moving target.
      About half of that degradation comes from the improved 7 bit filter
      coefficients.  Therefore, CLPF needs to be retuned for the current
      This patch makes two (normative) changes to the CLPF kernel:
      * The clipping function was changed from clamp(x, -s, s) to
            sign(x) * max(0, abs(x) - max(0, abs(x) - s +
                   (abs(x) >> (bitdepth - 3 - log2(s)))))
        This adds a rampdown to 0 at -32 and 32 (for 8 bit, -128 & 128
        for 10 bit, etc), so large differences are ignored.
      * 8 taps instead of 6 taps:
          4          3
        13 31  ->  13 31
          4          3
      AWCY results: low delay  high delay
      PSNR:           -0.40%     -0.47%
      PSNR HVS:        0.00%     -0.11%
      SSIM:           -0.31%     -0.39%
      CIEDE 2000:     -0.22%     -0.31%
      APSNR:          -0.40%     -0.48%
      MS SSIM:         0.01%     -0.12%
      About 3/4 of the gains come from the new clipping function.
      Change-Id: Idad9dc4004e71a9c7ec81ba62ebd12fb76fb044a
    • Angie Chiang's avatar
      Turn on adapt_scan by default · 76ebf7ce
      Angie Chiang authored
      Change-Id: Ibf160e83e7cb1c7dce8b40e7cbead48416440974
    • Angie Chiang's avatar
      Exclusively uses 12-tap filter in convolve_round · 822eea32
      Angie Chiang authored
      Performance drop by 0.084% on lowres
      Change-Id: I2bcaae96b68033a0af7a1da988505623bc14ed94
  6. 09 Feb, 2017 1 commit
  7. 08 Feb, 2017 3 commits
  8. 07 Feb, 2017 5 commits
    • Tom Finegan's avatar
      Add CONFIG_INTERNAL_STATS support to the cmake build. · 0115691e
      Tom Finegan authored
      Includes CONFIG_AOM_HIGHBITDEPTH support for same.
      Change-Id: I99893c8c3c7e163383f7297d0df777c9c21822fd
    • Tom Finegan's avatar
      Add high bit depth support to the cmake build. · 633b9539
      Tom Finegan authored
      Change-Id: Ibb5564989bd02cf3fec7b8e1d61d2dee1a96c42d
    • Tom Finegan's avatar
      Fix cmake test_libaom build with CONFIG_AOM_HIGHBITDEPTH enabled. · ce4bcebe
      Tom Finegan authored
      - Comment out the sources that require CONFIG_MOTION_VAR.
      - Add missing preproc wrap at the sites in test sources that
        require CONFIG_MOTION_VAR.
      Change-Id: I703c2bfd829a579793ad55ae713973d327354473
    • Timothy B. Terriberry's avatar
      Scale PVQ input to OD_COEFF_SHIFT resolution. · e93acb2d
      Timothy B. Terriberry authored
      This ensures we operate at the same precision that Daala uses, which matters
      when activity masking is enabled, because of the gain companding.
      Metrics from Patchset 4 (which had slightly incorrect rounding):
      With activity masking (5 frames only):
      av1_pvq_AM_ref_5f@2017-02-07T03:37:53.702Z -> av1_pvq_AM_derf_fix2_coeff_scaling_5f@2017-02-07T00:12:24.427Z
          PSNR |  PSNR Cb |  PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
        0.6653 | -12.3177 | -12.1858 |   0.3350 | 4.1013 |  2.0964 |    -4.0539
      In particular for Netflix_Crosswalk_1920x1080_60fps_8bit_420_60f.y4m
       -5.0589 | -22.3077 | -21.2188 |  -7.0389 | -3.3715 |-5.7794 |   -13.1891
      I.e., it fixes the large regression with AM on this sequence, and
       substantially improves chroma (at a lesser cost to other metrics).
      Without activity masking (5 frames only):
      av1_pvq_ref_5f@2017-02-07T03:52:51.279Z -> av1_pvq_derf_fix2_coeff_scaling_5f@2017-02-07T00:12:48.873Z
          PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
        0.0989 | -0.0322 | -0.0464 |   0.1883 | 0.0795 |  0.0579 |     0.0923
      Change-Id: I46b808b7c8e4733465f8bebc8336dfd5b75783ec
    • Urvang Joshi's avatar
      ALT_INTRA: Integerize the weights for SMOOTH_PRED. · 7a40600c
      Urvang Joshi authored
      Insignificant change in BDRate.
      Change-Id: Id1aa798393fd4c4c174dfcb9a8315828b531996f