1. 07 Apr, 2017 3 commits
    • Angie Chiang's avatar
      Add dst_has_residue to dist_block() · 5106e283
      Angie Chiang authored
      Instead of using inter/intra to determine the dst buffer has
      residue or not, we use dst_has_residue.
      
      This will provide us more flexibility to do experiment.
      
      Change-Id: Ib1de1076cf1ea327df9003a9a149957ecb4c0a3c
      5106e283
    • Angie Chiang's avatar
      Expand choose_tx_size_fix_type · a4fa1909
      Angie Chiang authored
      This CL actually makes the code more complicated but it will allow
      us to break the framework of searching tx_size with fixed tx_type
      
      I will find a way to simplify the code later.
      
      Change-Id: Iae933a40d0c7eb9ec65b34ebfd9d543423f304aa
      a4fa1909
    • Angie Chiang's avatar
      Add skip_txfm_search() for transform prunning code · 2d147c16
      Angie Chiang authored
      This will make choose_tx_size_fix_type() more straightforward
      
      Change-Id: Iaf2344f5742666104b08c3e3673223e197bf482e
      2d147c16
  2. 06 Apr, 2017 2 commits
  3. 05 Apr, 2017 2 commits
  4. 04 Apr, 2017 4 commits
  5. 03 Apr, 2017 2 commits
  6. 31 Mar, 2017 2 commits
    • David Barker's avatar
      Allow NEAR_NEARMV and NEW_NEWMV modes to use ref_mv_idx · 404b2e87
      David Barker authored
      When ext-inter and ref-mv are both enabled, this patch
      allows the NEAR_NEARMV and NEW_NEWMV modes to pick from
      the extended reference mv list, just like the NEARMV and
      NEWMV modes can.
      
      Change-Id: Ibcc9e19dba7779422c1c9589d5498159e83bf61e
      404b2e87
    • Alex Converse's avatar
      Crop distortion to visible MIs · 61f37b87
      Alex Converse authored
      Ported from VP9 with some heavy modifications
      
      bsize_dist@2017-03-29T23:18:27.564Z -> bcropped_dist@2017-03-29T23:21:00.200Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0966 | -0.0922 |  0.0032 |  -0.0618 | -0.0579 | -0.0441 |  -0.0959
      
      Change-Id: Icdfcf47a9017fd3180e7fbc963196a43c5376c4e
      61f37b87
  7. 30 Mar, 2017 2 commits
    • Alex Converse's avatar
      Make aom_sum_squares_2d_i16 take width and height parameters. · 4c5b0204
      Alex Converse authored
      SSE2 may be needed for nx4 and 4xn.
      
      Change-Id: I3c10112447fdb5fe51a68bc2c6e2f2641b102723
      4c5b0204
    • Yue Chen's avatar
      Restrict # of neighbors in obmc blending · 1bd42be6
      Yue Chen authored
      Only blend with the first N neighbors at each side. If the size of
      one dimenstion is 8/16/32/64, the max # of neighbors to overlap
      with is 1/2/3/4.
      Previously we disable obmc mode if there are too many neighbors.
      
      Change of performance in AWCY, compared to disabling obmc if
      at any side there are more than 2 overlappable neighbors.
      HL improved by 0.02%
      LL improved by 0.09%
      
      Change-Id: I93d9a65c6c4aabf0b4a4946e2253d3e2ef21a662
      1bd42be6
  8. 29 Mar, 2017 1 commit
    • Debargha Mukherjee's avatar
      Improves/refactors rd costing for global motion · 265db6d0
      Debargha Mukherjee authored
      Improves and simplifies costing for global motion to use the
      actual bits used to communicate the global motion parameters.
      Removes some of the old hacks.
      This patch also includes necessary refactoring to incorporate
      reference based coding of the motion parameters to follow.
      
      lowres results: -1.489% (up from -1.333%)
      
      Change-Id: I994dc97046011de4261633ccb0c9d71e374f2c5a
      265db6d0
  9. 28 Mar, 2017 1 commit
  10. 27 Mar, 2017 3 commits
    • hui su's avatar
      rect-tx/ext-tx: fix an assertion fail · ff5e2098
      hui su authored
      Fix an assertion fail in rd_pick_intra_sub_8x8_y_subblock_mode().
      
      BUG=aomedia:410
      
      Change-Id: I22d4aaea0566336605230e09d9590bc235719685
      ff5e2098
    • Angie Chiang's avatar
      Compute lv_map's coeff cost in av1_cost_coeffs() · 47e4b369
      Angie Chiang authored
      1) move the original implementation in av1_cost_coeffs() to
      cost_coeffs() and let av1_cost_coeffs become a switch for
      choosing original coeff cost or lv_map's coeff cost
      
      2) change get_txb_ctx's naming. Use plane_bsize instead of
      bsize to make the intention clear.
      
      3) remove txb context computing in get_txb_ctx
      Change-Id: I17e3d39d796e051d1c90f0a0c5d7d0888b9ca292
      47e4b369
    • Yushin Cho's avatar
      Remove av1 coeff context setting when PVQ is used · 6341f5c5
      Yushin Cho authored
      Entropy context of above and left block is not used
      when PVQ is turned on.
      
      Change-Id: I50c908bba800382438a48f7cc83f8b0f177393a1
      6341f5c5
  11. 25 Mar, 2017 1 commit
  12. 24 Mar, 2017 5 commits
  13. 23 Mar, 2017 2 commits
    • David Barker's avatar
      Re-enable av1_nmv_ctx() when ext-inter is enabled · 9620bcd5
      David Barker authored
      Currently, mbmi->ref_mv_idx can be set to a nonzero value
      on the encoder side if mbmi->mode is one of NEARMV, NEWMV,
      NEAR_NEARMV, or NEW_NEWMV. But it can only be nonzero on the
      decoder side if the mode is NEARMV or NEWMV. Hence av1_nmv_ctx
      has previously been disabled when ext-inter is enabled, to
      prevent a mismatch due to this.
      
      This patch changes the encoder behaviour to match the decoder
      behaviour.
      
      Change-Id: Icfe41fb72e76731ae373fe8c6065f5e003f6414f
      9620bcd5
    • Debargha Mukherjee's avatar
      Split current block samples for warp estimation · e8e6cad7
      Debargha Mukherjee authored
      Change-Id: Iebc74024475c7cb88650b65df9f23b1a5e70021c
      e8e6cad7
  14. 22 Mar, 2017 1 commit
  15. 21 Mar, 2017 2 commits
    • Thomas Daede's avatar
      Remove "best" deadline parameter from aomenc. · 6eca835f
      Thomas Daede authored
      This option increases runtime by 20% and is only marginally
      better than good cpu-used=0:
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.3382 | -0.3911 | -0.4875 |  -0.2982 | -0.2992 | -0.3164 |    -0.3686
      
      It is also not well integrated with speed_features.c, which is
      the main reason for the removal.
      
      Change-Id: If88c50367f63b860ad57f650869b978ec7734aad
      6eca835f
    • Fergus Simpson's avatar
      handle_inter_mode: Motion mode RD calc to function · 10fb9fb2
      Fergus Simpson authored
      Refactors the end of handle_inter_mode into a new funciton. This code
      is responsible for calculating an accurate RD for the SIMPLE_TRANSLATION
      motion mode in the simplest case, and does the same for other motion
      modes as their experiments are enabled.
      
      This patch aims to do as little as possible to the code inside the
      function - that is left to later patches to reduce the complexity of
      this diff.
      
      Change-Id: I62bf5aae34594b0a1dc4813aeba99e675d6db374
      10fb9fb2
  16. 20 Mar, 2017 3 commits
    • Debargha Mukherjee's avatar
      Add config flags and macros to control ext-inter · 37f6fe61
      Debargha Mukherjee authored
      Adds a dependent config flag 'interintra' to turn on/off interintra
      modes altogether.
      Adds a dependent config flag 'wedge' to turn on/off wedge compound
      for both interinter and interintra.
      
      Adds another macro to change wedge predictors to use
      only 0, 1/2, or 1 weights.
      
      From now, use
      --enable-ext-inter --enable-wedge --enable-interintra to get the
      same behavior as the old --enable-ext-inter.
      
      Change-Id: I2e787e6994163b6b859a9d6431b87c4217834ddc
      37f6fe61
    • hui su's avatar
      Add av1 prefix to inv_txfm_add · bb9c73b0
      hui su authored
      Change-Id: Id7cbb89ba344770297ef42bf1b09a2b9ba5a1378
      bb9c73b0
    • Alex Converse's avatar
      Disable OD_ASSERTS asserts when NDEBUG is set · 76b89631
      Alex Converse authored
      Change-Id: I3d411ef4a6a1be5e7e644f210a5296dbe18807eb
      76b89631
  17. 17 Mar, 2017 1 commit
    • Sarah Parker's avatar
      Macro to disable warped/obmc_causal with global motion · 19234cc2
      Sarah Parker authored
      Enabling SEPARATE_GLOBAL_MOTION will remove the ability for
      a block that uses zeromv with global motion to pick warped_causal
      or obmc_causal as the motion mode. When this is enabled there is:
      
      0.05% drop on lowres for global + warped enabled
      0.15% drop on midres for global + warped enabled
      
      0.12% drop on lowres with global + motion var enabled
      0.07% drop on midres with global + motion var enabled
      No performance change for global, warped, or motion var individually.
      
      Change-Id: Idbfb8dd7a93da14902438504b06a08e5212e48cb
      19234cc2
  18. 16 Mar, 2017 1 commit
    • Alex Converse's avatar
      Account for elided extrabits during rate cost calculation. · da3d94fe
      Alex Converse authored
      Fixes some rd-debug mismatches coding cat6 tokens with tx size < 32x32.
      For these tokens the high extrabits are elided during tokenization and
      detokenization, but the rd cost was computed with the old tables from
      VP9 where these high extrabits are always coded.
      
      Change-Id: I4a9a6ea822ff821e1932c351d43a57bdb4d6d466
      da3d94fe
  19. 15 Mar, 2017 1 commit
    • Thomas Davies's avatar
      NEW_TOKENSET: improve RDO. · 10525758
      Thomas Davies authored
      Modify av1_coef_cost to reflect that EOB values are sent
      with each non-zero coefficient, and modify chroma weight
      to preserve original chroma balance.
      
      AWCY, objective-1-fast, new_token+ec_adapt vs ec_multisymbol:
      
      PSNR YCbCr:     -0.43%      -0.52%      -0.58%
      PSNRHVS:        -0.81%
      SSIM:           -0.73%
      MSSSIM:         -0.93%
      CIEDE2000:      -0.36%
      
      This change:
      
      PSNR YCbCr:     -0.15%      0.83%      0.77%
      PSNRHVS:        -0.24%
      SSIM:           -0.23%
      MSSSIM:         -0.24%
      CIEDE2000:       0.24%
      
      Change-Id: I7f2dd9f3cd24bb64eb4131cba94dda466b9691b0
      10525758
  20. 14 Mar, 2017 1 commit
    • Sarah Parker's avatar
      Fix sub8x8 rd costing to include global motion prediction · b3ebed1c
      Sarah Parker authored
      One codepath originally skipped a function which forks between
      gm prediction and regular inter prediction. This change fixes this
      for both high bit depth and regular bit depth.
      
      Change-Id: I741d67a7c89eb6eb0cd35c02219739dc3ddb3841
      b3ebed1c