1. 05 Apr, 2017 2 commits
  2. 04 Apr, 2017 4 commits
  3. 03 Apr, 2017 2 commits
  4. 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
  5. 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
  6. 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
  7. 28 Mar, 2017 1 commit
  8. 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
  9. 25 Mar, 2017 1 commit
  10. 24 Mar, 2017 5 commits
  11. 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
  12. 22 Mar, 2017 1 commit
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 11 Mar, 2017 1 commit
    • Fergus Simpson's avatar
      handle_inter_mode: rename opt_args to args · 9f7ca0b7
      Fergus Simpson authored
      The addition of a 2D array to the HandleInterModeArgs struct means there
      is now a non-optional member in the opt_args struct passed to
      handle_inter_mode and its child functions. Since opt_args no longer
      consists solely of optional members I've renamed it args.
      
      Change-Id: I7f3b22188777d8fdac2c244746638c34b5d8636c
      9f7ca0b7
  20. 10 Mar, 2017 2 commits
    • Fergus Simpson's avatar
      rdopt: move/remove 2d arrays in pick_inter_mode_sb · 3424c2de
      Fergus Simpson authored
      Two 2D arrays were passed to HandleInterMode and not used elsewhere.
      
      One has been added to the HandleInterModeArgs struct to
      simplify handle_inter_mode's signature and the the calling function.
      
      The other has been unread since commit
      beacb3ff. That patch removed the
      "skip_txfm optimization" but left the single_skippable array in place,
      even though it was no longer read. Since the array's only usage has been
      removed, this patch removes the variable outright.
      
      Change-Id: I6e680a9ddc6f67961153819a62009751252757a8
      3424c2de
    • Sebastien Alaiwan's avatar
      Rename a macro · d16a8365
      Sebastien Alaiwan authored
      Change-Id: I4d6db116692b9a236ae8555e4d4e5d0c403f6c13
      d16a8365
  21. 09 Mar, 2017 1 commit
    • Fergus Simpson's avatar
      rdopt: refactor interpolation_filter_search() · de18e2b5
      Fergus Simpson authored
      The interpolation filter search used to be performed in a code block in
      handle_inter_mode(). This change breaks that code out into its own
      function to reduce the length of handle_inter_mode and ecapsulate its
      functionality, making both functions more readable.
      
      Attention has been paid to make as many arguments constants as can be.
      
      Change-Id: I3fd484137fc0d16a47dba0b18ce0e2b349d24446
      de18e2b5
  22. 08 Mar, 2017 1 commit
    • Fergus Simpson's avatar
      hbd: remove unused variable "use_hbd" · f80a0581
      Fergus Simpson authored
      The variable "use_hbd" was defined but not used in four places in the
      codebase. The warning that it wasn't used was missed by Jenkins
      because it only tries one experimental flag at a time, but these
      definitions were inside nested experimental flag conditions. Both
      CONFIG_WARPED_MOTION and CONFIG_AOM_HIGHBITDEPTH had to be set for the
      variables to be defined.
      
      This patch deletes the unused definitions to remove the unused variable
      warnings when the AV1 encoder and/or decoder are built with warped
      motion and high bitdepth configured.
      
      Change-Id: I9e80523db05a7a19cebe3ec8085a4a1e4b198c52
      f80a0581