1. 20 Jun, 2017 2 commits
    • Luc Trudeau's avatar
      [CFL] RDO Loop Rework · 14fc5045
      Luc Trudeau authored
      CfL performs an extra loop iteration during luma mode selection. Recent
      changes have broken the extra iteration. Remove previous approach.
      
      New approach adds the extra iteration right before uv parameter
      selection. Interesting fact, If the best luma intra mode already has
      worse RD performance than the best inter mode found so far (if any),
      then the entire chroma intra search is skipped, including the extra 
      iteration.
      
      Results on Subset1 (compared to 3e18e4ae with CfL)
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.3090 | -2.7271 | -2.3521 |  -0.3369 | -0.3463 | -0.3525 |    -1.1868
      
      Change-Id: If67b0badd2c8ea25c61685483d39d622c1729b18
      14fc5045
    • Luc Trudeau's avatar
      [CFL] Fix stack smash in cfl_load · 5f3d370b
      Luc Trudeau authored
      The height padding offset was computed from the beginning of the pixel buffer
      and not the current position in the pixel buffer.
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      0.0000 | -0.0001 |  0.0002 |  -0.0000 | -0.0000 | -0.0000 |    -0.0002
      
      Change-Id: Id20ec3a6395b11d0258ec1e100890fe4701b820c
      5f3d370b
  2. 19 Jun, 2017 13 commits
    • Joe Young's avatar
      [intra-edge] Convert 4x4 VP9 to ext-intra; upsample edge samples · 830d4ce4
      Joe Young authored
      Updates to intra-edge experiment
      
      - Convert VP9-style intra pred to Ext-intra style
      - Upsample edge predictors by 2x based on angle and edge size
      
      BD-rate, 1-kf AWCY
        360p:  -0.11%
        720p:  -0.54
        1080p: -0.96
      
      Change-Id: Ib73805d31d5d286e607a7ee7470fcbdf11edbbff
      830d4ce4
    • Jingning Han's avatar
      Revert "Clamp inverse transform coefficients" · 71adf529
      Jingning Han authored
      This reverts commit 79b78b7d.
      
      The transform coefficient range needs some more tuning.
      Before we finalize on that front, directly applying clamping
      would cause multiple unit test failure issues. Hence revert
      this Cl temporarily.
      
      BUG=aomedia:612
      
      Change-Id: I1dd8680dee17289801c4a209275f05a498355c8e
      71adf529
    • Jingning Han's avatar
      Fix tile independency unit test · acca889a
      Jingning Han authored
      BUG=aomedia:614
      
      Change-Id: I8aab46954af9d6c6d31aba0bd96d6eb9f181b84c
      acca889a
    • Ryan Lei's avatar
      fix a bug in the parallel deblocking experiment for chroma plane · a9a23f7f
      Ryan Lei authored
      for chroma plane, when mapping from pixel location to the mi_row
      and mi_col, need to consider sampling ration of the chroma plane.
      
      Change-Id: I7a369fd6a5c6c4dc5495da64d83f90a532de7ad5
      a9a23f7f
    • Luc Trudeau's avatar
      [CFL] Compute Luma Average Over Partition Unit · 3e18e4ae
      Luc Trudeau authored
      Extract the compution of the luma reconstructed average out of cfl_load
      and into cfl_compute_average. The reconstructed luma average is stored
      in the CFL_CONTEXT to avoid computing it for each transform block and
      for each plane.
      
      Results on subset1 (compared to 803bea26 with CfL)
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0474 | -0.1486 | -0.2931 |  -0.0358 | -0.0397 | -0.0127 |    -0.1162
      
      Change-Id: I9e34af0fe5961ce8dbe70cb80aea2a16221d0d92
      3e18e4ae
    • Jingning Han's avatar
      Fix coefficient range for identity matrix · 401680b4
      Jingning Han authored
      Account for the scaling factors in coefficient range of identity
      matrix.
      
      BUG=aomedia:612
      
      Change-Id: If3e9669b72797862e6af65a943f2054ae34430ae
      401680b4
    • Timothy B. Terriberry's avatar
      encoder: Remove 64x upsampled reference buffers · 5d24b6f0
      Timothy B. Terriberry authored
      They do not handle border extension correctly (interpolation and
      border extension do not commute unless you upsample into the
      border), nor do they handle crop dimensions that are not a multiple
      of 8 (the upsampled version is not sufficiently large), in addition
      to using massive amounts of memory and being a criminal waste of
      cache (1 byte used for every 8 bytes fetched).
      
      This commit reimplements use_upsampled_references by computing the
      subpixel samples on the fly. This implementation not only corrects
      the border handling, but is also faster, while maintaining the
      same quality.
      
      HL AWCY results are basically noise:
          PSNR | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
        0.0188 |   0.0187 | 0.0045 |  0.0063 |     0.0228
      
      Change-Id: I7527db9f83b87a7bb8b35342f7e6457cd0bef9cd
      5d24b6f0
    • Angie Chiang's avatar
      Fix compile error of lv_map · 0eac3199
      Angie Chiang authored
      Change-Id: Ic328d112a4f950396d60113cf1b0f50e96fdfebf
      0eac3199
    • Debargha Mukherjee's avatar
      Fix a bug for non 420 formats and some refactoring · 887069f3
      Debargha Mukherjee authored
      BUG=aomedia:607
      
      Change-Id: I5a5fb893f0237e7ca6e0d807e825f8d4e26949b2
      887069f3
    • Zoe Liu's avatar
      Add new coding tool of ext-comp-refs · c082bbcb
      Zoe Liu authored
      The tool of ext-comp-refs adds the uni-directional compound reference
      prediction. In details, 3 pairs of uni-direcitonal compound references
      are added for the comp ref prediction:
      (LAST_FRAME, LAST2_FRAME),
      (LAST_FRAME, GOLDEN_FRAME), and
      (BWDREF_FRAME, ALTREF_FRAME).
      
      This new tool of ext-comp-refs will eventually overwrite
      one-side-compound and have the two coding tools to merge to one.
      
      It achieves -0.35 ~ -0.55% coding gains in BDRate, compared against
      AV1 baseline with the default experiments on, but without
      one-sided-compound. It achieves -0.2% ~ -0.3% coding gains when
      one-sided-compound is on. It achieves larger gains on higher
      resolution.
      
      Change-Id: Icbdb16e97b96aaebaf2213f5f72d5331e2e358eb
      c082bbcb
    • Zoe Liu's avatar
      Unify the checking on compound mode prediction · 0c634c70
      Zoe Liu authored
      Change-Id: Id9c025febf21aeb67cbc719f585661b715bdb9ce
      0c634c70
    • Jingning Han's avatar
      Fix ext-tile unit test · db252a43
      Jingning Han authored
      Resolve enc/dec mismatch due to recent changes on low-bitdepth
      flag.
      
      BUG=aomedia:611
      
      Change-Id: I833d30517edbab7bb19949cea8d1f7553c0babb5
      db252a43
    • Sarah Parker's avatar
      Add macro to disable trellis optimization in rdopt · 345366ac
      Sarah Parker authored
      Turning off the trellis optimization gives a performance
      drop of 0.726% on the lowres set.
      
      Change-Id: I4fdd1e20fb6f671162cd32b3abe699cd2aee1919
      345366ac
  3. 17 Jun, 2017 3 commits
  4. 16 Jun, 2017 19 commits
  5. 15 Jun, 2017 3 commits
    • Urvang Joshi's avatar
      Remove 'rddiv' member from various structs. · 70006e46
      Urvang Joshi authored
      This was initialized from a const and never modified. But was still
      passed around and stored in multiple structs.
      
      Removed these 'rddiv' member variables and now RDOPT() and RDOPT_DBL()
      always use the const RDDIV_BITS directly.
      
      Change-Id: I1a8dfd2c8fa857d466ad1207b4f0dd6ec07eafb8
      70006e46
    • Sebastien Alaiwan's avatar
      Simplify FOREACH_STREAM · 0b993846
      Sebastien Alaiwan authored
      With C99 we can now declare iterators inside the 'for' statements,
      allowing a better syntax for this macro.
      This new syntax accepts #if/#endif inside the loop body,
      and makes explicit, at loop body level, what the iterator name is.
      
      Change-Id: Icbd363a34a9264ff566ee8057c08a705736b509f
      0b993846
    • Sebastien Alaiwan's avatar
      Cleanup debug trace · 2e5933f5
      Sebastien Alaiwan authored
      Change-Id: I9158a54b80cf76346356e8dba90ee37f80808bf5
      2e5933f5