1. 22 Jan, 2017 1 commit
  2. 19 Jan, 2017 3 commits
    • Sarah Parker's avatar
      Do masked motion search based on COMPOUND_TYPE · 2e604887
      Sarah Parker authored
      Change-Id: I2d1b5f57a3bb19eb8c00eb4c2e6c7835047dc4ac
      2e604887
    • hui su's avatar
      Speed up keyframe encoding with model RD · 308a6397
      hui su authored
      model_rd_for_sb() can quickly compute an approximated RD cost. We
      use the estimated RD cost to skip running full RD for some bad
      mode candidates.
      
      This only affects keyframe encoding. Observed 22% encoding time
      reduction, and 0.03% compression loss.
      
      Change-Id: I793f1eda98d67e8da9bc1648dcf272222b30a556
      308a6397
    • Jingning Han's avatar
      Remove an outdated assertion · 25f2f7d9
      Jingning Han authored
      The check condtion on block size is deprecated. No need to keep
      this assertion around.
      
      Change-Id: Icf2dde2a678cbbce837798877634b7be54e86e67
      25f2f7d9
  3. 18 Jan, 2017 4 commits
    • Yue Chen's avatar
      Add rd loop of NCOBMC · f27b1605
      Yue Chen authored
      At the final round of encoding of each superblock, will go through
      each prediction block to check if ncobmc mode is better than non-
      overlapped prediction. Note that causal obmc mode is dumped here.
      
      PSNR gain (MOTION_VAR + NCOBMC): -2.845% lowres
      
      Change-Id: Ibe504f7f1882446a08ba426e1e9824bca73bf655
      f27b1605
    • Yunqing Wang's avatar
      Fix the transform size/type search condition · 2615d6ea
      Yunqing Wang authored
      While encoding a key frame with quantizer = 0 and aq-mode = 1,
      for some segment_ids, the quantizer got modified and could be
      > 0, and lossless[segment_id] might be 0 or 1 depending on the
      segment_id. Namely, blocks with lossless[segment_id] = 0 were
      allowed to choose transform sizes other than 4x4. This conflicted
      with tx_mode which was a frame-level decision. In this patch,
      the transform search condition was modified so that the transform
      choice was consistent with tx_mode of that frame.
      
      BUG=aomedia:104
      
      Change-Id: Ia39127b5dee129283a133cf5e4000da62d9e0f1c
      2615d6ea
    • Urvang Joshi's avatar
      Enable rectangular transforms for Intra also. · feb925fe
      Urvang Joshi authored
      These are under EXT_TX + RECT_TX experiment combo.
      
      Results
      =======
      
      Derf Set:
      --------
      All Intra frames: 1.8% avg improvement (and 1.78% BD-rate improvement)
      Video: 0.230% avg improvement (and 0.262% BD-rate improvement)
      
      Objective-1-fast set
      --------------------
      Video: 0.52 PSNR improvement
      
      Change-Id: I1893465929858e38419f327752dc61c19b96b997
      feb925fe
    • Angie Chiang's avatar
      Pass ConvolveParams into prediction functions · 9f45bc48
      Angie Chiang authored
      Those functions includes
      av1_make_inter_predictor
      av1_build_inter_predictor
      inter_predictor
      
      Change-Id: Ide3b744277cf30964e8b352fc8de91365d7217a8
      9f45bc48
  4. 17 Jan, 2017 1 commit
    • Debargha Mukherjee's avatar
      Improvements on segment mask · 1edf9a30
      Debargha Mukherjee authored
      Adds a few options to make the compound mask lightly dependent on the
      the two predictors.
      
      Also adds high bit depth support
      
      Change-Id: If57b6e8ddd140e0c00fd9d4738927d37225091cb
      1edf9a30
  5. 13 Jan, 2017 3 commits
  6. 12 Jan, 2017 1 commit
    • Jingning Han's avatar
      Make rd_debug aligned to var-tx · c7ea761f
      Jingning Han authored
      Fix the corner case and use the right rate cost udpate for rd_debug.
      This would make the var-tx pass rd_debug test.
      
      Change-Id: Ib0fbd2d73030c0d150222c6b7c2dfffc0c6af085
      c7ea761f
  7. 10 Jan, 2017 4 commits
    • Sarah Parker's avatar
      Refactor compound_segment to try different segmentation masks · b9f757c7
      Sarah Parker authored
      Change-Id: I7c992c9aae895aebcfb5c147cb179cf665c0ac10
      b9f757c7
    • Yushin Cho's avatar
      Rename encode_inter_mb_segment() · ab44fd14
      Yushin Cho authored
      Rename encode_inter_mb_segment() so that it tells readers
      that the function is only used for sub8x8 case.
      
      Change-Id: I2d86d9efaf0e1e96446d9e2dec8a8d97772489a7
      ab44fd14
    • Yushin Cho's avatar
      Correct the misleading codes in encode_inter_mb_segment() · ee0af212
      Yushin Cho authored
      In encode_inter_mb_segment(), when BLOCK_8X4 or BLOCK_4X8 is
      passed, the nested loop inside it iterates always twice.
      (For BLOCK_4X4, loop iterates only once because encode_inter_mb_segment()
      is called for each of 4X4 block.)
      Then, the k for 1st iteration is always zero, and the k for 2nd
      iteration is always (idy * 2 + idx) with either idy == 1 or idx == 1
      depending on the sb_type.
      
      Using "+=" there could mislead readers expecting that
      the # of iterations is more.
      And probably using simple assignment would be more proper here.
      
      Change-Id: I7a11255eca13403bc090ba4f0cd4785db9f0e541
      ee0af212
    • Yushin Cho's avatar
      Fix wrong stride of dst buffer in intra4x4 · 1a2df5e2
      Yushin Cho authored
      Change-Id: Icbd238c73323d11d60ca4da755b52c83cb11b8b5
      1a2df5e2
  8. 09 Jan, 2017 1 commit
  9. 08 Jan, 2017 1 commit
    • Yushin Cho's avatar
      Rename the function rd_pick_best_sub8x8_mode() · 482016d0
      Yushin Cho authored
      This large function is solely used for the RDO search for
      inter prediction mode. It would be helpful for readers if its name
      tells that whole function is used for inter mode decision only.
      
      Change-Id: Ida366b142b7129bf89498227d186c54341c3af5e
      482016d0
  10. 07 Jan, 2017 1 commit
  11. 06 Jan, 2017 2 commits
    • Jingning Han's avatar
      Rework the txfm partition context to support cb4x4 mode · 581d1697
      Jingning Han authored
      This commit reworks the transform block partition context update
      to support cb4x4 mode in the recursive transform block partition.
      It resolves the remaining enc/dec mismatch issue when both cb4x4
      and var-tx are turned on.
      
      Change-Id: I850d121204fe4c68e81488f1d2848c570d9d08b9
      581d1697
    • Jingning Han's avatar
      Refactor var-tx pipeline to support cb4x4 mode · 9ca05b7e
      Jingning Han authored
      Replace hard coded 4x4 transform block step size assumption with
      scalable table access.
      
      Change-Id: Ib1cc555c2641e5634acdd91ca33217f00aeb0b89
      9ca05b7e
  12. 04 Jan, 2017 2 commits
    • Sarah Parker's avatar
      Bugfixes in pick_interinter_seg_mask · 409c0bb2
      Sarah Parker authored
      Change-Id: I5ad51375287b40170882c4816d34858be50afacd
      409c0bb2
    • Yushin Cho's avatar
      Refactor PVQ codes for inter4x4 · 3839548c
      Yushin Cho authored
      Similarly to the refactoring of PVQ codes for 4x4 intra,
      instead of calling tx and pvq_encode_helper() in 4x4 inter,
      av1_xform_quant() is called.
      
      This commit gives no change in metrics.
      
      Change-Id: Ib69efb00ed5a5b2254478bf5db5a19d9dac12b3b
      3839548c
  13. 03 Jan, 2017 1 commit
    • Yushin Cho's avatar
      Refactor PVQ codes for intra4x4 · 900243b9
      Yushin Cho authored
      In 4x4 intra search for RDO, AV1 codes has been changed to
      call av1_xform_quant() while ago, while PVQ did not but call
      txfm and pvq_encode_helper() instead, which caused duplicated codes
      and thus worse maintenance and testing.
      
      This refactor also has fixed the long-sitting bug,
      which we couldn't find before refactoring.
      
      PSNR    PSNR-HVS  SSIM  FAST-SSIM  CIEDE 2000 MS-SSIM
      -2.77   -2.62     -2.90 -4.07       -2.94     -2.63
      
      Change-Id: I6e526123a64af810897962d11d53028719e82e16
      900243b9
  14. 24 Dec, 2016 1 commit
    • Yushin Cho's avatar
      Fix wrong place of setting dst with PVQ in intra 4x4 · b27a17f2
      Yushin Cho authored
      With PVQ, the dst buffer should be initialized as zero
      before av1_inv_txfm_add_*() is called.
      This bug seems introduced during resolving conflicts
      when nextgenv2 was merged.
      
      BD-Rate change:
                      PSNR  PSNR-HVS  SSIM  CIEDE 2000  MS SSIM
      subset1-mono    -0.25 -0.25     -0.23 -0.26       -0.23
      objective1-fast -0.17 -0.26     -0.14 -0.04       -0.18
      
      Change-Id: I7c6b793ba0aa5f1e3d419312cbbe5c207a68f1f8
      b27a17f2
  15. 16 Dec, 2016 1 commit
    • Sarah Parker's avatar
      Add temporary dummy mask for compound segmentation · 569eddab
      Sarah Parker authored
      This uses a segmentation mask (which is temporarily computed arbitrarily)
      to blend predictors in compound prediction. The mask will be computed
      using a color segmentation in a followup patch.
      Change-Id: I2d24cf27a8589211f8a70779a5be2d61746406b9
      569eddab
  16. 15 Dec, 2016 5 commits
  17. 14 Dec, 2016 1 commit
    • hui su's avatar
      Refactor ext-intra · 45dc597a
      hui su authored
      Miscellaneous changes. Mostly code simplification and cleanup.
      
      Make luma max angle delta depend on block size, which is the
      way it was before the nextgenv2 branch merge.
      
      Also some fixes for compatibility of ext-intra and alt-intra.
      
      Change-Id: I2ce869e6ba7dee765a8dc4802f5e88040db3df22
      45dc597a
  18. 12 Dec, 2016 2 commits
  19. 10 Dec, 2016 1 commit
  20. 09 Dec, 2016 2 commits
    • hui su's avatar
      Add intra-interp experiment flag · eda3d764
      hui su authored
      intra-interp experiment allows intra prediction to use different
      interpolation filters. It was part of the ext-intra in the nextgenv2
      branch.
      
      Change-Id: I27ab692494dc79bb92e457dbf9a72988577f1c6d
      eda3d764
    • Debargha Mukherjee's avatar
      Support affine/homography models for global motion · b0f6bd44
      Debargha Mukherjee authored
      With this patch affine or homography models can be enabled
      by simply changing the value of the GLOBAL_TRANS_TYPES
      macro in common/mv.h to 4 and 5 respectively. Currently
      it is left at supporting only rotzoom. There is a small
      gain with enabling affine.
      
      Also refactors costing to change based on the model type.
      
      Change-Id: I46c1759de06c42c176c64ec21307ff347ddcc259
      b0f6bd44
  21. 08 Dec, 2016 1 commit
  22. 07 Dec, 2016 1 commit