1. 27 Sep, 2017 13 commits
    • Dominic Symes's avatar
      MAX_TILE experiment: add explicit tiles · f58f111f
      Dominic Symes authored
      This patch is designed to complete the CONFIG_MAX_TILE experiment.
      It adds the following features:
      - Explicit tiles of same width can be signalled with command line --tile_width
      - Explicit tiles of same hieght can be signalled with command line --tile_height
      - max_tile now works with the depenedent horizontal tiles experiment
      - additional checking added to ensure maximum number of rows/columns <= 64
      - one fix to the tile group code for when the number of tiles is not a power of two
      
      Change-Id: I749a68fdb3dcdd8d1ced2b3558f3817e4b832c06
      f58f111f
    • Ryan's avatar
      this change fix the bug reported in issue 819 · 84a6f201
      Ryan authored
      inside the encode_super_block function, the tx_size decision logic is
      different in the dry_run==0 and dry_run==1 case when segment is
      lossless. this change fix the inconsistence.
      
      BUG=aomedia:819
      
      Change-Id: I2f4c5434d8c4ef722ac885a1ffd2d253863ae6d9
      84a6f201
    • Pavel Frolov's avatar
      Setup sb_size when decoding intra_only frame · ea3dd3aa
      Pavel Frolov authored
      This fixes decoder's capability to start decoding
      bitstream from non-KEY intra_only frame.
      
      BUG=aomedia:816
      
      Change-Id: Iecd5add418590119f59a51acd7208eb08cb17042
      ea3dd3aa
    • Yi Luo's avatar
      Lowbd rect intrapred DC/LEFT/TOP/128 sse2 optimization · 39bdf36a
      Yi Luo authored
      Add lowbd unit test functionality to intrapred_test.cc
      Function speedup against C (i7-6700):
      Predictor   DC     LEFT   TOP    128
      4x8        ~1.4x  ~1.4x  ~1.7x  ~1.9x
      8x4        ~1.2x  ~1.6x  ~1.6x  ~2.6x
      8x16       ~1.4x  ~1.3x  ~1.4x  ~2.1x
      16x8       ~2.0x  ~1.8x  ~2.3x  ~2.1x
      16x32      ~2.0x  ~1.9x  ~1.8x  ~2.2x
      32x16      ~2.0x  ~2.0x  ~1.9x  ~2.2x
      
      Change-Id: I33db512020ca3c6853a9205a8079f3d00134f584
      39bdf36a
    • Luc Trudeau's avatar
      [CFL] No Average in 4:2:0 Subsampling · 8b80d232
      Luc Trudeau authored
      Since Subsampled values are in Q3, one does not need to take the
      average, as the sum of 4 values is the average in Q2. As such, shifting
      by 1 to the left, results in the average in Q3. By removing the
      intermediate step in Q0, rounding error is removed.
      
      Results on Subset1
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0204 | -0.1945 | -0.1474 |  -0.0170 | -0.0237 | -0.0178 |    -0.0973
      
      https://arewecompressedyet.com/?job=cfl-baseline%402017-09-06T17%3A41%3A38.041Z&job=cfl-NoAverageInSub%402017-09-06T17%3A59%3A00.035Z
      
      Change-Id: I8c6d4f71ec0e6e3923e254d79b83127b3734699e
      8b80d232
    • Luc Trudeau's avatar
      [CFL] Subsample to Q3 · a0af3b5e
      Luc Trudeau authored
      Result from luma subsampling is left-shifted by 3. This avoids having to
      do it during averaging, in alpha search and when building the
      prediction. This change does not alter the bitstream.
      
      Results on Subset1
        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
      
      https://arewecompressedyet.com/?job=cfl-baseline%402017-09-06T17%3A41%3A38.041Z&job=cfl-SubsampleQ3%402017-09-06T17%3A42%3A01.252Z
      
      Change-Id: I6e89eac6496f7c36e46364c9223fbcbca6759032
      a0af3b5e
    • Rupert Swarbrick's avatar
      Only allocate one temp buffer in av1_make_masked_inter_predictor · e41223d1
      Rupert Swarbrick authored
      Exactly one of tmp_dst/tmp_dst_/tmp_dst2 is used in a call to
      av1_make_masked_inter_predictor. Work out how many bytes are needed by
      the largest one possible and just allocate that.
      
      Change-Id: Ib8fabaf1f461ce1192c5657a3d2b5a4f7fa8d7b1
      e41223d1
    • David Barker's avatar
      Fix ext-partition + motion-var · b74b9560
      David Barker authored
      When calculating the above overlapped prediction, we adjust
      xd->mb_to_bottom_edge to have the correct value for the prediction
      we're about to make. This prediction is half the height of the
      current block - *unless* the block is 128 pixels high, in which
      case the prediction is only 32 pixels high.
      
      This patch implements the special case for 128-pixel high blocks.
      
      (all of this applies analogously for left predictions too)
      
      Change-Id: I2780e8d4a6f8a9f82f540f2c2dfde691d07298e2
      b74b9560
    • Sebastien Alaiwan's avatar
      Fix typo in comment · c4559cad
      Sebastien Alaiwan authored
      Change-Id: Id6f588876b1adf68abd8c17d7eef2223d552e457
      c4559cad
    • Jonathan Matthews's avatar
      palette_delta_encoding: clamp y and u colors · dc0e1126
      Jonathan Matthews authored
      BUG=aomedia:812
      
      Change-Id: I635d620fc6d350391ecb7885cc119eaef0af39bc
      dc0e1126
    • Cheng Chen's avatar
      Fix select filter level · 15f6b863
      Cheng Chen authored
      Only use cm->mi, instead of cm->mi_grid_visible to get filter level.
      The latter may not work for shifted grid loop filtering.
      
      Change-Id: I55ed6a42f0abb19d6814e8c0cf8d64ce79bf6abc
      15f6b863
    • Cheng Chen's avatar
      LPF_SB: add filter step and tune threshold · f89ca3e1
      Cheng Chen authored
      Set filter step = 2, such that 3 bit can represent [-14, +14] filter
      level difference.
      
      Tune threshold for reusing filter level between previous and current
      superblock.
      
      Change-Id: I6f26377591f3e93f7c068e4aa4279ae9bc2c9522
      f89ca3e1
    • Luc Trudeau's avatar
      [CFL] Extract Subsampling Functions · b81d0630
      Luc Trudeau authored
      We extract these functions in order to move them to the cfl_store in a
      subsequent commit. This change does not impact the bitstream.
      
      Results on Subset1 (compared to parent with CfL enabled)
        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
      
      https://arewecompressedyet.com/?job=cfl-inter%402017-09-23T20%3A51%3A01.093Z&job=cfl-extract%402017-09-23T20%3A54%3A15.693Z
      
      Change-Id: I84bfe60e25a4a665f686d6b18789395a50318a9b
      b81d0630
  2. 26 Sep, 2017 13 commits
    • Urvang Joshi's avatar
      Update comment for frame superres scaling mode. · 93b779b4
      Urvang Joshi authored
      Based on code change in:
      https://aomedia-review.googlesource.com/c/aom/+/21140
      
      Change-Id: I771ba6e08259e1c43cb06ebe6436dafe07fdf1d5
      93b779b4
    • Tom Finegan's avatar
      CMake experiment flag clean up. · f344afbb
      Tom Finegan authored
      Alpha sort the experiments group in
      aom_config_defaults.cmake to avoid future duplication
      issues, and:
      
      - Remove ALTREF2.
      - Remove the duped CDEF line.
      
      BUG=aomedia:813
      
      Change-Id: Ib14172c89dd3934dbf475bbfc581d017acdba2d8
      f344afbb
    • Sebastien Alaiwan's avatar
      Coding path sync test: fix picture comparison · a85a2b9f
      Sebastien Alaiwan authored
      Change-Id: Iee4957038d61c14cf8fa3f9c094b579c82c20603
      a85a2b9f
    • Yushin Cho's avatar
      Disable palette coding if pvq is enabled · a8810391
      Yushin Cho authored
      PVQ has been broken again since the experiment flag for palette is removed
      in commit c6300aa1.
      
      As a fix, if PVQ is enabled then disable both of --tune-content=screen and
      automatic detection of screen and use of palette coding tool.
      
      Change-Id: Iea6bb042b4402163805c44dabfb3f4c05dfd4e23
      a8810391
    • Yushin Cho's avatar
      Fix ASAN warnings with PVQ · ead552a9
      Yushin Cho authored
      Change-Id: I4d6912f3a0df0bdb3f435cc8057b63fbaa3aaa6d
      ead552a9
    • Luc Trudeau's avatar
      [CFL] Store Reconstructed Luma for Intra In Inter · b05eeaef
      Luc Trudeau authored
      Like for intra block in intra frames, an extra call to
      txfm_rd_in_plane is added to the RDO of intra blocks in inter frames.
      This extra call is performed using the best parameters found during
      RDO and the reconstructed luma pixel are stored.
      
      Results on objective-1-fast (compared to CfL on Intra frames only)
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.2497 | -3.5526 | -3.5048 |  -0.2456 | -0.2392 | -0.2508 |    -1.4811
      
      https://arewecompressedyet.com/?job=cfl-no-inter%402017-09-13&job=cfl-inter%402017-09-13T14%3A13%3A13.918Z
      
      Change-Id: I70ea2c01859b6c55d7c3eb9680d492c0bfc2aad4
      b05eeaef
    • Rupert Swarbrick's avatar
      Simplify av1_get_rest_tile_limits · 5d2e729e
      Rupert Swarbrick authored
      The subtile and clamping features are no longer used. This patch
      removes the dead code that implemented them and the parameters to
      support them.
      
      It also changes the return format. Instead of having return type void
      and passing data out through 4 output pointers, the function now just
      returns a RestorationTileLimits structure. Since the function is
      defined inline in a header, I suspect that most callsites will
      actually compile to identical code.
      
      There should be no functional change from this patch.
      
      Change-Id: I6ebc4da66a00676bd988f939a4b4957f743e8004
      5d2e729e
    • Rupert Swarbrick's avatar
      Remove duplicated code in av1_make_masked_inter_predictor · 87fe5b96
      Rupert Swarbrick authored
      This patch basically just pushes #if CONFIG_HIGHBITDEPTH down past
      other #if/#endif blocks, letting us pull out common code instead of
      having to repeat it. There should be no functional change (indeed,
      there should be no change except whitespace after preprocessing!)
      
      Change-Id: I9bcbfbdec5ad54e42095de085df381e85bf48197
      87fe5b96
    • Thomas Davies's avatar
      Fix redundancy in delta_q signalling. · 3b93e8eb
      Thomas Davies authored
      rem_bits-1 not rem_bits should be transmitted so that
      2 cannot be coded in two ways.
      
       BUG=aomedia:811
      
      Change-Id: Iaa0203214bbe6fc6775e05fe4b6e976d568f54b3
      3b93e8eb
    • Cheng Chen's avatar
      Reorgnize loop filter range for superblock · 5589d71c
      Cheng Chen authored
      For each superblock, its filtering range is shifted up and left by
      8 pixels (half of the maximum loop filter length), such that
      estimation of deblocking filtering will not cross two superblocks.
      
      Change-Id: I82244b7c26ab8b2ac553037b3bb1fe1d82bf5704
      5589d71c
    • Cheng Chen's avatar
      Add threshold to superblock filter level selection · c7855b1a
      Cheng Chen authored
      Signal one bit to indicate whether current superblock reuses filter
      level of previous superblock.
      Try filtering and compute sse using previous filter level and search
      the best possible filter level. If their diff is less than predefined
      threshold, current superblock reuses previous level. Otherwise,
      signal the best filter level.
      
      Change-Id: Ibf125860883b774ef2464b62bb8b799b48258c64
      c7855b1a
    • Debargha Mukherjee's avatar
      Add experiment to restrict compressed header · 2eada612
      Debargha Mukherjee authored
      The compressed header is now used only when the refresh
      type is set as forward, i.e. in error resilience and
      frame parallel modes. As long as backward updates are
      used the header is disabled thereby saving bits.
      
      Change-Id: Iee9f66ffbd30ef3552ea41b75e4b51537cd9ff97
      2eada612
    • Debargha Mukherjee's avatar
      Fix cmake experimental flags · 8f4b2167
      Debargha Mukherjee authored
      Change-Id: Ifb0e4363136779092fcf5e9b27318f1b83df7ad7
      8f4b2167
  3. 25 Sep, 2017 4 commits
  4. 24 Sep, 2017 4 commits
  5. 23 Sep, 2017 6 commits
    • Debargha Mukherjee's avatar
      Setup ref mode after reading uncompressed header · 6f3c898f
      Debargha Mukherjee authored
      Removes setup in compressed header so that the compressed
      header can be skipped.
      
      Change-Id: I8d7ed63944a4f75704222f4ad7d0159db1cec0d1
      6f3c898f
    • Debargha Mukherjee's avatar
      Fix kf y mode costing · 801cc926
      Debargha Mukherjee authored
      Change-Id: I3d6a440b13473b0d1e8b18c6629c7e8e3fb446ae
      801cc926
    • Yushin Cho's avatar
      Improve dist-8x8 · 8e75e8bb
      Yushin Cho authored
      Improve dist-8x8 when computing 8x8 yuv dist for sub8x8.
      
      To apply dist-8x8 for sub8x8 partitions, once mode decision for
      sub8x8 partitions are finished then dist-8x8 is computed on 8x8 window.
      Since dist-8x8 is only for luma, chroma distortion should be identified.
      
      Previously, it has been hard to be free from potential bugs doing this,
      due to the complex inter mode search code.
      
      The new method is less-error-prone, which computes uv distortion (in MSE) after
      the mode decisions for all of sub8x8 blocks in a 8x8 window are finished,
      when the dist-8x8 distortion for luma 8x8 pixels are computed with
      new distortion metric.
      
      All the code separating y and uv distortion in inter mode search has
      been removed in this commit.
      
      Change-Id: Ieaccb7915df5faeb5e89a7e70b2b7cbac65231af
      8e75e8bb
    • Debargha Mukherjee's avatar
      Move sb_size to the keyframe (sequence) header · d2630fa4
      Debargha Mukherjee authored
      This patch moves the sb_size to the keyframe header from all frame
      headers as discussed in the AOM Codec WG meeting.
      
      Change-Id: Ia0190e57b36b98e51ab61ad4ff14f24f9c294877
      d2630fa4
    • Hui Su's avatar
      Remove unused arrays in entropymode.h · 787eb3d1
      Hui Su authored
      Change-Id: I7f2c0bfc12451710622161bd52ff689e642d1e52
      787eb3d1
    • Hui Su's avatar
      Move local functions out of blockd.h · 032ab8b3
      Hui Su authored
      Change-Id: Id667950de84ad6a0b55222264a0ce8473cd10bcc
      032ab8b3