1. 14 Jul, 2017 1 commit
    • Yunqing Wang's avatar
      Make EXT_TILE compatible with TILE_GROUPS · eeb08a9b
      Yunqing Wang authored
      Added a 1-bit flag 'large_scale_tile'. If it is 0 that is the default value,
      use normal tile coding in TILE_GROUPS. If it is 1, use large-scale tile
      coding in EXT_TILE.
      
      At large_scale_tile=1 case, if single-tile-decoding is required, then the
      loopfilter is disabled.
      
      Related API and unit tests were modified.
      
      Change-Id: I3ba12dc3d80ccf1ab21543ab3b16c02282c34e3b
      eeb08a9b
  2. 13 Jul, 2017 1 commit
  3. 12 Jul, 2017 4 commits
    • Rupert Swarbrick's avatar
      ext-partition-types: Add 4:1 partitions · 93c39e91
      Rupert Swarbrick authored
      This patch adds support for 4:1 rectangular blocks to various common
      data arrays, and adds new partition types to the EXT_PARTITION_TYPES
      experiment which will use them.
      
      This patch has the following restrictions, which can be lifted in
      future patches:
      
        * ext-partition-types is incompatible with fp_mb_stats and supertx
          for the moment
      
        * Currently only 32x32 superblocks can use the new partition types
      
      There's a slightly odd restriction about when we allow
      PARTITION_HORZ_4 or PARTITION_VERT_4. Since these both live in the
      EXT_PARTITION_TYPES CDF, read_partition() can only return them if both
      has_rows and has_cols is true. This means that at least half of the
      width and height of the block must be visible. It might be nice to
      relax that restriction but that would imply a change to how we encode
      partition types, which seems already to be in a state of flux, so
      maybe it's better to wait until that has settled down.
      
      Change-Id: Id7fc3fd0f762f35f63b3d3e3bf4e07c245c7b4fa
      93c39e91
    • Monty Montgomery's avatar
      Add CONFIG_DAALA_DCT4 experiment. · 02078a38
      Monty Montgomery authored
      This experiment replaces the 4-point Type-II scaled-output vp9 DCT
       transform with the 4-point Type-II orthonormal Daala DCT transform.
      Right now the CONFIG_DAALA_DCT4 experiment depends on CONFIG_DCT_ONLY
       as it does not add an orthonormal 4-point DST.
      
      subset-1:
      
      monty-baseline-dctonly-squaretx-subset1 ->
        monty-dct4-dctonly-squaretx-subset1-rerun
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0055 | -0.0132 | -0.0405 |   0.0261 | 0.0005 |  0.0246 |     0.0226
      
      objective-1-fast:
      
      monty-baseline-dctonly-squaretx-o1f ->
        monty-dct4-dctonly-squaretx-o1f
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0215 | -0.1573 |     N/A |  -0.0131 | -0.0347 | -0.0390 |    -0.1121
      
      Change-Id: Idef8f6e5525037d5bbb2d0927675c21d1922d69a
      02078a38
    • Yushin Cho's avatar
      Fix pvq for cb4x4 and maintain its configure · cd4f4a2a
      Yushin Cho authored
      Recently, sub8x8 inter mode decition functions have been
      removed from the av1 codebase, so codebase does not allow
      disabling cb4x4 anymore.
      
      This makes pvq not working simply crashing
      because we had disabled cb4x4 if pvq is enabled.
      Hence, pvq has been fixed for cb4x4.
      
      Also, if pvq is enabled, disable lgt and highbitdepth in the configure.
      
      Change-Id: I2cb675c0dbc12bce60ed6a66c34ea3e907cc35b3
      cd4f4a2a
    • Zoe Liu's avatar
      Further work on ext-comp-refs for ref frame coding · fcf5fa27
      Zoe Liu authored
      (1) Work with var-refs to remove redundant bits in ref frame
          coding;
      (2) Add a new uni-directional compound reference pair:
          (LAST_FRAME, LAST3_FRAME);
      (3) Redesign the contexts for encoding uni-directional reference frame
          pairs;
      (4) Use aom_entropy_optimizer to collect stats for all the default
          probability setups related to the coding of reference frames.
      
      Compared against the baseline (default enabled tools excluding ext-tx
      and global-motion for encoder speed concern) with one-sided-compound,
      the coding gain of ext-comp-refs + var-refs - one-sided-compound is:
      
      lowres: avg_psnr -0.385%; ovr_psnr -0.378% ssim -0.344%
      midres: avg_psnr -0.466%; ovr_psnr -0.447% ssim -0.513%
      
      AWCY - High Latency:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.2758 | -0.1526 | -0.0965 |  -0.2581 | -0.2492 | -0.2534 |    -0.2118
      
      AWCY - Low Latency:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -1.0467 | -1.4500 | -0.9732 |  -0.9928 | -1.0407 | -1.0180 |    -1.0049
      
      Compared against the baseline (default enabled tools excluding ext-tx
      and global-motion for encoder speed concern) without
      one-sided-compound, the coding gain of
      ext-comp-refs + var-refs - one-sided-compound is:
      
      lowres: avg_psnr -0.875%; ovr_psnr -0.877% ssim -0.895%
      midres: avg_psnr -0.824%; ovr_psnr -0.802% ssim -0.843%
      
      Change-Id: I8de774c9a74c20632ea93ccb0c17779fa94431cb
      fcf5fa27
  4. 11 Jul, 2017 2 commits
    • Monty Montgomery's avatar
      Add CONFIG_DCT_ONLY experiment. · cb55dad1
      Monty Montgomery authored
      Building with --enable-dct_only will force the encoder to use only
       tx_type == DCT_DCT.
      This experiment gives a loss and is only added for testing.
      
      subset-1:
      
      master@2017-02-21T01:23:58.825Z ->
       master-dct_only@2017-02-21T02:57:28.585Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      2.5467 |  1.0524 |  0.9171 |   1.8849 | 2.6626 |  2.4995 |     1.8402
      
      objective-1-fast:
      
      master@2017-02-21T01:47:43.790Z ->
       master-dct_only@2017-02-20T16:54:03.578Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      1.6625 |  0.3948 |  0.3368 |   1.5268 | 1.7142 |  1.7097 |     1.0743
      
      Change-Id: I19b738f3d1a450bc50422149ac42bc184bfae08a
      cb55dad1
    • Nathan E. Egge's avatar
      Remove the EC_ADAPT experimental flags. · 6bdc40f1
      Nathan E. Egge authored
      Removing these flags make the EC_ADAPT experiment an integral part of
       the draft AV1 bitstream definition
      This commit has no effect on metrics.
      
      Change-Id: Ice78520935e8bfa9d25cf4b8384a1b872069d09c
      6bdc40f1
  5. 07 Jul, 2017 1 commit
    • Nathan E. Egge's avatar
      Add VAR_TX_NO_TX_MODE experiment. · a33304f0
      Nathan E. Egge authored
      This experiment removes the tx_mode flag from the uncompressed frame
       header and instead always uses a constant value.
      
      objective-1-fast:
      
      master@2017-06-29T00:51:22.142Z -> no_tx_mode@2017-06-29T01:09:32.392Z
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0103 |  0.0183 | -0.0076 |  -0.0103 | -0.0052 | -0.0208 |     0.0004
      
      Change-Id: I9d49c4d99ed102e52c86e339f20623063886f49d
      a33304f0
  6. 04 Jul, 2017 1 commit
  7. 30 Jun, 2017 3 commits
    • Zoe Liu's avatar
      Add a new coding tool of gf_groups · 5caf2c49
      Zoe Liu authored
      This coding tool is targeted at tuning the encoder decisions on
      altrefs, including the temporal filtering strength applied to the
      altrefs, the structure of the gf (Golden Frame) groups, etc.
      
      Change-Id: Ifd0ff1c35c23ecb005192b874a8d4e61a8ad6bd3
      5caf2c49
    • James Zern's avatar
      Add support for Visual Studio 2017 · ff5b2f43
      James Zern authored
      ported from libvpx:
      bcfd9c975 Add support for Visual Studio 2017
      
      Change-Id: I86c8848ce6626fa218a38bfbd3e39abb60420218
      ff5b2f43
    • Sebastien Alaiwan's avatar
      Always use the 16-bit coding path · 3d264da2
      Sebastien Alaiwan authored
      The encoder and decoder will now use the 16-bit (high-bitdepth)
      coding path, regardless of the encoding profile.
      
      This is a step towards the removal of the 8-bit (low-bitdepth)
      coding path (which remains compile-checked at the moment).
      
      BUG=aomedia:39
      
      Change-Id: I6f8e8f1ce7a3bf1d3da7fda8461b1214ef579c64
      3d264da2
  8. 29 Jun, 2017 1 commit
    • Yue Chen's avatar
      AV1 offline probability optimizer · c8b38b0b
      Yue Chen authored
      This tool is a gadget for offline probability training.
      
      A binary executable aom_entropy_optimizer will be generated in
      tools/. It parses a binary file consisting of counts written in
      the format of FRAME_COUNTS in entropymode.h, and computes the
      optimized probability table, which will be written to a new c file
      optimized_probs.c using the format in entropymode.c.
      
      Command line:
      ./aom_entropy_optimizer [directory of the count file]
      
      The input file can be either be generated from a single run by
      turning on entropy_stats experiment(counts are accumulated from
      frame to frame, and finally written to counts.stt), or be collected
      at a larger scale, at which a python script (will be provided soon)
      can be used to aggregate multiple stats output.
      
      Optimization for initial CDFs will be also supported later.
      
      Change-Id: I32070721aa8059439feb6b5a3a179f1001c66bb7
      c8b38b0b
  9. 27 Jun, 2017 2 commits
    • Todd Nguyen's avatar
      Add experiment bgsprite · 302d0970
      Todd Nguyen authored
      Work in progress to generate ARF with stitched background image.
      
      Change-Id: I2fea75bbe5ac6f713f53eb5825776dadfc1d98c5
      302d0970
    • Urvang Joshi's avatar
      Enable smooth_hv by default. · bda59df3
      Urvang Joshi authored
      This experiment was provisionally adopted on 2017-06-27.
      
      Change-Id: Ic7eb232b8187133f59956eed09e5f5de02c0986e
      bda59df3
  10. 24 Jun, 2017 1 commit
  11. 23 Jun, 2017 2 commits
    • Wei-Ting Lin's avatar
      Add NCOBMC_ADAPT_WEIGHT experiment flag · 9c6f8547
      Wei-Ting Lin authored
      NCOBMC_ADAPT_WEIGHT allow using different interpolation kernels
      to combine overlapped predictions generated using mvs in the
      neighboring blocks.
      This experiment will build on top of MOTION_VAR and it might conflict
      with WARPED_MOTION in the developing stage, so will only be effective
      when MOTION_VAR is on and WARPED_MOTION is off.
      
      Change-Id: I4f1b6e55b6146ed443955751c09bfa22ef2f33e8
      9c6f8547
    • Yaowu Xu's avatar
      Revert "Always use the 16-bit coding path" · cde0a31b
      Yaowu Xu authored
      BUG=aomedia:620
      
      This reverts commit 4da880bd.
      
      Change-Id: I40a2295083b3328ef743d3eab9c2aa514dc698eb
      cde0a31b
  12. 21 Jun, 2017 1 commit
    • Sebastien Alaiwan's avatar
      Always use the 16-bit coding path · 4da880bd
      Sebastien Alaiwan authored
      The encoder and decoder will now use the 16-bit (high-bitdepth)
      coding path, regardless of the encoding profile.
      
      This is a step towards the removal of the 8-bit (low-bitdepth)
      coding path (which remains compile-checked at the moment).
      
      BUG=aomedia:611
      
      Change-Id: Ie764c39a327d48b18d77246a028493b6270b9f88
      4da880bd
  13. 19 Jun, 2017 1 commit
    • 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
  14. 16 Jun, 2017 2 commits
  15. 15 Jun, 2017 1 commit
    • Zoe Liu's avatar
      Add the new coding tool "speed_refs" · d1ac0321
      Zoe Liu authored
      This patch will not cause any performance change regardless of whether
      speed_refs is on or off.
      
      This coding tool is targeted to speed up the encoder side reference
      frame selection process. The essential idea is to have two scanning
      passes for each superblock of size 64x64 and this CL lays out the
      initial framework but no reference frame selection is done yet:
      
      First scanning pass - To simplify the partition and the mode
      candidates (e.g. considering nearestmv / nearmv / zeromv only) and
      identify the best reference frame prediction candidates;
      
      Second scanning pass - Use the best reference frame candidate(s)
      obtained from the first pass to encode the current superblock.
      
      Change-Id: I11266d468de3077271a5e866eebd341a8014d136
      d1ac0321
  16. 14 Jun, 2017 1 commit
  17. 13 Jun, 2017 2 commits
    • Lester Lu's avatar
      Add experimental flag for line graph transforms · 46fd1a05
      Lester Lu authored
      Change-Id: Iba98b07d2f19fd98be07d0c2c80c855661df778d
      46fd1a05
    • Zoe Liu's avatar
      Add encoder/decoder pipeline to support single ref comp modes · 85b66463
      Zoe Liu authored
      Now the single ref comp mode should work with WEDGE and
      COMPOUND_SEGMENT. For motion_var, the OBMC_CAUSAL mode uses the 2nd
      predictor if the neighboring block is single ref comp mode predicted.
      
      This patch removes the mode of SR_NEAREST_NEWMV and leaves four
      single ref comp modes in total:
      
      SR_NEAREST_NEARMV
      SR_NEAR_NEWMV
      SR_ZERO_NEWMV
      SR_NEW_NEWMV
      
      Change-Id: If6140455771f0f1a3b947766eccf82f23cc6b67a
      85b66463
  18. 12 Jun, 2017 1 commit
    • Yue Chen's avatar
      Add a new experimental flag SBL_SYMBOL · 536e5520
      Yue Chen authored
      A new experiment SBL_SYMBOL, meaning superblock-level symbols, will
      be explored. It allows some symbols being coded at superblock level
      (64x64) by checking whether a symbol(e.g. motion_mode, tx depth,
      and interpolation filter) is identical across macroblocks in a
      superblock.
      
      Change-Id: I38408325c9b7a4b94c11c400a5060036ce36405e
      536e5520
  19. 08 Jun, 2017 1 commit
    • Sebastien Alaiwan's avatar
      Revert "Enable one_sided_compound by default" · 8e3da097
      Sebastien Alaiwan authored
      This reverts commit bf3813a1.
      
      Reason for revert: feature not ready.
      Incompatible with lossless under some circumstances,
      causes the following assertion failure:
      Assertion `(!is_compound) == (cm->reference_mode == SINGLE_REFERENCE)' failed
      
      BUG=aomedia:575
      
      Change-Id: I63a2b38ce3b7cb50108ac559cca0768b4579c9ae
      8e3da097
  20. 06 Jun, 2017 1 commit
    • Urvang Joshi's avatar
      Add a new experiment "rect-intra-pred". · 766a389b
      Urvang Joshi authored
      Earlier, intra prediction for rectangular blocks was performed by
      running two steps of prediction on square sub-blocks.
      
      With this experiment, we do proper intra prediction for rectangular
      blocks. This ensures that we make use of all available neighboring
      pixels especially for directional modes. For this, all the intra
      predictors were updated to work with rectangular transform block sizes.
      
      Performance improvements are small but free of cost:
      
      All Intra frames:
      lowres: -0.126
      midres: -0.154
      
      Video Overall:
      lowres: -0.043
      midres: -0.100
      
      [Could not get AWCY results due to a backlog.]
      
      BUG=aomedia:551
      
      Change-Id: I7936e91b171d5c246cb0a4ea470a981a013892e6
      766a389b
  21. 02 Jun, 2017 2 commits
    • Ryan Lei's avatar
      integrate parallel_deblocking with CB4x4 · 17905edf
      Ryan Lei authored
      this change makes parallel deblocking experiment works with
      cb4x4. the inner loop process every 4x4 block.
      
      Change-Id: I86adb3d7b6d67a91ccc12aab29da9bfb8c522cf1
      17905edf
    • Jingning Han's avatar
      Resolve extremely large stack alloc in rdopt · d064cf03
      Jingning Han authored
      Move the large stack allocation from stack initialization to
      dedicated mem space. This resolves the extremely large stack issue
      when ext-partition, motion-var, and high bit-depth are all turned
      on.
      
      BUG=aomedia:415
      
      Change-Id: I85b77bbc6429093fcb0152176d9e237087d6bbd8
      d064cf03
  22. 01 Jun, 2017 1 commit
  23. 30 May, 2017 1 commit
  24. 29 May, 2017 1 commit
  25. 28 May, 2017 1 commit
  26. 25 May, 2017 3 commits
    • Nathan E. Egge's avatar
      Remove the DAALA_EC experiment. · 476c63c1
      Nathan E. Egge authored
      This patch forces DAALA_EC on by default and removes the dkbool coder.
      
      Change-Id: Icd2ff08efd7bf467adf554344111473cb357adf8
      476c63c1
    • Zoe Liu's avatar
      Add a new experiment of var_refs · e1787b97
      Zoe Liu authored
      This coding tool is targeted to check redundant references available
      to each frame at the frame level, and then try to save bits to avoid
      coding redundant reference information at the block level.
      
      Change-Id: I320178a9fe0cd806960318ac59659808675e5176
      e1787b97
    • Urvang Joshi's avatar
      tx64x64: Fix build when highbitdepth is on. · 16247658
      Urvang Joshi authored
      This was being worked around by forcing highbitdepth to be off when
      enabling tx64x64.
      
      With the fixes, removed the work-around.
      
      Change-Id: I3102f9e17d4037af96a9eff418c5af6a97fd740c
      16247658
  27. 24 May, 2017 1 commit