1. 17 Jul, 2017 1 commit
  2. 15 Jul, 2017 1 commit
    • Lester Lu's avatar
      lgt: delete unnecessary code · 5ee2808a
      Lester Lu authored
      Currently, lgt cannot work with pvq, so those lines are not
      necessary.
      
      Change-Id: Ida7b2de599b55d94cac57365c09ac2330abe3c66
      5ee2808a
  3. 14 Jul, 2017 8 commits
    • Wei-Ting Lin's avatar
      ncobmc_adapt_weight: read/write ncobmc mode · ca710d68
      Wei-Ting Lin authored
      An ncobmc mode is selected for each squared block
      (if motion_mode == ncobmc_adapt_weight) as opposed
      to four in training
      
      Change-Id: I81e5dfca3a6fec5a95c96b17f294530880cf8f88
      ca710d68
    • Sarah Parker's avatar
      Avoid sending gm params if source and ref are different sizes · 6c998d75
      Sarah Parker authored
      Change-Id: I4b4272c99ba6ff4d983dcb694b3ea4d5de1b4e14
      6c998d75
    • Yunqing Wang's avatar
      Sample selection in warped motion · 1bc82866
      Yunqing Wang authored
      Added a sample selection process in warped motion.
      1. Gather more samples including multiple rows on the top, multiple
      columns on the left, and the upper-right block.
      2. Sort samples by the MV difference between the neighbour's MV and
      the current block's MV. Trim the samples with considerably large MV
      difference.
      
      Borg test result:
                   avg_psnr ovr_psnr ssim
      cam_lowres:  -0.241   -0.243  -0.376
      lowres:      -0.104   -0.110  -0.179
      
      The changes are wrapped in WARPED_MOTION_SORT_SAMPLES macro.
      
      Change-Id: I2730bb31a0a3ad28215ccd16fd6da0ea8b2ed404
      1bc82866
    • hui su's avatar
      refactor get_tx_type() · 45b6475e
      hui su authored
      Change-Id: I2888bd8905253e02e3ac74597275cf56e5142d29
      45b6475e
    • hui su's avatar
      aomenc: remove config control of "allow_screen_content_tools" · 1b5328e0
      hui su authored
      Always let the encoder decide if "allow_screen_content_tools" should be set.
      
      -The screen content detector(is_screen_content()) works fairly well.
      
      -Keeping the config control may lead to mismatches. For example, user
      may encode the 1st frame with the flag on, then turn the flag off for
      the 2nd frame via config control. On the decoder side, the flag is on
      for both frames, because the flag is only transmitted in the header of
      all-intra frame, i.e. the 1st frame in this example.
      
      BUT=aomedia:656
      
      Change-Id: I0652fe2b9f8df19bfbf7ed7d3513205c80ea9c61
      1b5328e0
    • Wei-Ting Lin's avatar
      Fix a bug of default_motion_mode_prob array size mismatch · 8e43f21f
      Wei-Ting Lin authored
      Change-Id: Ib245b059f1c1aa450b0755b437eab15c362d3aee
      8e43f21f
    • David Michael Barr's avatar
      [CFL] Move alpha picking code to rdopt.c · 2510f64e
      David Michael Barr authored
      This simplifies the path from rd_pick_intra_sbuv_mode()
      
      Results on Subset1 (compared to  dff41923 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
      
      Change-Id: I0bade9d347c626a78ba7077b960afdb318ecca69
      Signed-off-by: default avatarDavid Michael Barr <b@rr-dav.id.au>
      2510f64e
    • 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
  4. 13 Jul, 2017 17 commits
  5. 12 Jul, 2017 12 commits
    • hui su's avatar
      Automatically turn on/off screen content tools · d9a812bd
      hui su authored
      Turn "allow_screen_content_tools" on when the source video has many blocks
      with only few different colors. The automatic detection is enabled by
      defualt (or with command line flag "--tune-content=default"). With
      "--tune-content=screen", the screen content tools are always turned on.
      
      On the screen_content test set, the "default" setting is less than 0.3%
      worse than the "screen" setting on keyframe encoding.
      
      Change-Id: Iac7ab8952c96531d1fae84da1823291f5987519c
      d9a812bd
    • 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
    • Jingning Han's avatar
      Fix chroma component boundary context update in RD loop · 328d57b8
      Jingning Han authored
      Fix the chroma component boundary context update in the inter
      residual rd search.
      
      Change-Id: Ice8028386a8b3bf921e2bf523ad0d2dcea707c7a
      328d57b8
    • 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
    • Sarah Parker's avatar
      Add calls to vertical/horizontal trapezoidal warping functions · 77b04c8e
      Sarah Parker authored
      BUG=aomedia:652
      
      Change-Id: I5d178fd101ac5c163249a82dfeacbf64091e8333
      77b04c8e
    • 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
    • Monty Montgomery's avatar
      Minor refactor to match the 4x4 forward transform. · 554d2c33
      Monty Montgomery authored
      Change-Id: Ib5337dfa78b73059ad169ca98a07119aa991864b
      554d2c33
    • Thomas Davies's avatar
      Sync CDF initialisations with probs. · 7865349d
      Thomas Davies authored
      Default probabilities were updated in
      d1b8c2a3. Update
      recently-added CDFs not covered in this commit
      to use these probabilities for initialisation.
      
      AWCY: -0.03%
      
      Change-Id: I5c34d1e890ddb0757df41848a0acc8509fcd4772
      7865349d
    • Rupert Swarbrick's avatar
      Fix build error with interintra mode enabled · 9803b94a
      Rupert Swarbrick authored
      Change-Id: Ib05eefeca1fd7819919d26f7ca52138c62306319
      9803b94a
    • Tristan Matthews's avatar
      entropymode: fix sizeof mismatch · e886d223
      Tristan Matthews authored
      Fixes "aomenc: init_mode_probs: Assertion `sizeof(fc->motion_mode_prob)
      == sizeof(default_motion_mode_prob)' failed"
      
      Change-Id: I7b71304f50756ffd6e14b03fe338c0d624ce35c5
      e886d223
    • Luc Trudeau's avatar
      [CFL] Add CfL Alpha cost to RDO · dff41923
      Luc Trudeau authored
      The cost of signaling the alpha symbol and the signs are added to the
      DC_PRED rate in RDO.
      
      Results on Subset1(compared to f9e04152b with CfL enabled)
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.3699 |  1.5330 |  0.8664 |  -0.2881 | -0.3107 | -0.2587 |     0.1954
      
      Change-Id: Icd9827d11ee4ef29dfb527e636f0f380bcafa062
      dff41923
    • 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
  6. 11 Jul, 2017 1 commit
    • Lester Lu's avatar
      Fix a bug when LGT and PVQ are both on. · 9c52192b
      Lester Lu authored
      Fixed a bug in my previous patch that causes a compile error (variable 
      block undefined) when pvq is on. 
      
      However, with or without LGT, --enable-pvq still has a run time error 
      during encoding. This run time error is independent of the LGT 
      experiment.
      
      Change-Id: I98ca5f69a916ea8556e45b820c2eb741c9656277
      9c52192b