1. 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
  2. 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
  3. 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
  4. 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
  5. 15 Dec, 2016 5 commits
  6. 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
  7. 12 Dec, 2016 2 commits
  8. 10 Dec, 2016 1 commit
  9. 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
  10. 08 Dec, 2016 1 commit
  11. 07 Dec, 2016 3 commits
  12. 06 Dec, 2016 3 commits
    • David Barker's avatar
      Improve rdopt decisions for ext-inter · ac37fa3d
      David Barker authored
      Relative to previous ext-inter:
      lowres: -0.177%
           or -0.029% (with USE_RECT_INTERINTRA = 0)
      
      * When predicting interintra modes, the previous code did not provide
        the intra predictor with the correct context during rdopt. Add an
        explicit 'ctx' parameter to the relevant functions, to provide this
        context.
        This fixes a nondeterminism bug, which was causing test failures in
        *EncoderThreadTest*
      
      * For rectangular blocks, build_intra_predictors_for_interintra needs
        to overwrite part of the context buffer in order to set up the
        correct context for intra prediction. We now restore the original
        contents afterwards.
      
      * Add a flag to enable/disable rectangular interintra prediction;
        disabling improves encoding speed but reduces BDRATE improvement.
      
      Change-Id: I7458c036c7f94df9ab1ba0c7efa79aeaa7e17118
      ac37fa3d
    • Jingning Han's avatar
      Handle the block offset using min transform block size · 81492267
      Jingning Han authored
      Map the block offset to pixel positions in the unit of minimum
      transform block size. This change retains the same coding
      statistics. The encoding speed is slightly faster (<1%).
      
      Change-Id: I2641d2b1e317ef4cdf477718c446ef025b8eef41
      81492267
    • Jingning Han's avatar
      Increase entropy_context buffer size in sub8x8 RD · 276c2943
      Jingning Han authored
      Temporarily increase the buffer size from 2 to 4 in the sub8x8
      rate-distortion search for cb4x4. These functions will be deprecated
      after cb4x4 is fully enabled.
      
      Change-Id: I6aecaf55bd21a9416713cf31e75e7b4d9b68f83c
      276c2943
  13. 02 Dec, 2016 2 commits
  14. 01 Dec, 2016 5 commits
  15. 30 Nov, 2016 4 commits
  16. 29 Nov, 2016 4 commits
  17. 28 Nov, 2016 2 commits
    • David Barker's avatar
      Fix a bug with global-motion + ref-mv · 8da6d9d7
      David Barker authored
      av1_find_mv_refs sets the ALL_ZERO flag when either (a) we don't have
      enough candidate MVs, or (b) all candidate MVs are zero. With global
      motion enabled, case (b) does not work as intended and causes two
      problems: a significant quality decrease for foreman_cif.y4m, and
      test failures in *CpuSpeedTest*Screencast*.
      
      This patch skips check (b) when global motion is enabled, fixing
      the above bugs.
      
      Change-Id: I7461588cb02733563c1439f430b89190299a1b5d
      8da6d9d7
    • Urvang Joshi's avatar
      Add a new intra prediction mode "smooth". · 6be4a54b
      Urvang Joshi authored
      This is added as part of ALT_INTRA experiment.
      
      This uses interpolation between top row and estimated bottom row; as
      well as left column and estimated right column to generate the
      predicted block.The interpolation is done using a predefined weight
      array.
      
      Based on experiments, the currently chosen weight array was created
      to represent a quadratic curve, but can be tuned further if needed.
      
      Improvement from baseline on Derf set:
      ALL Keyframes: 1.279%
      
      Improvement from existing ALT_INTRA:
      ALL Keyframes: 1.146%
      
      Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
      6be4a54b