1. 24 Apr, 2017 2 commits
    • Fangwen Fu's avatar
      Extend delta q with segments · 6160df29
      Fangwen Fu authored
      This is the first patch for ext_delta_q experiment.
      * Allow delta q to work with segment features
      
      Change-Id: I9455ebb3b5b23b41daa4afa1149672a20d3a3f2c
      6160df29
    • Sarah Parker's avatar
      Use correct bsize in vartx sub8x8 max tx_size lookup · 106b3cbc
      Sarah Parker authored
      This fixes crashes due to infinite recursion when var_tx,
      ext_tx and rect_tx are enabled without cb4x4. This
      is the first part of an ongoing fix for this experiment
      interaction.
      
      Change-Id: I674f28294666102aff2265f6b6112816cac17378
      106b3cbc
  2. 14 Apr, 2017 1 commit
    • Dake He's avatar
      [optimize-b] Use a greedy search method · 97f56645
      Dake He authored
      The greedy search method improves the BD-rate over the baseline by
      more than 0.2% for lowres test set. Larger gain 0.55% is observed for hdres test set.
      
      [2017.04.06] Cleanup to remove redundant computation. On a local linux
      machine, the greedy method is now faster than the trellis method in
      encoding the first 100 frames of foreman_cif. However, the BD-rate seems
      to become smaller due to the recent changes to the codebase.
      [2017.04.06-2] Style changes to meet the requirements.
      remove "greedy-optimize-b" in configure
      [2017.04.10] Move the changes under the macro USE_GREEDY_OPTIMIZE_B
      [2017.04.11] Adjust rdmult to accommodate CpuSpeedTest
      [2017.04.12] Set USE_GREEDY_OPTIMIZE_B to 0 at the request of debargha@.
      [2017.04.13] Move greedy implementation of optimize_b into a separate
      function with the same name (selected by USE_GREEDY_OPTIMIZE_B, default
      is 0)
      
      Change-Id: Ic15534f8d696d5f02e8f2e3e9f08b52e41e9efd2
      97f56645
  3. 12 Apr, 2017 2 commits
    • Sebastien Alaiwan's avatar
      Homogenize configuration option name. · 71e87847
      Sebastien Alaiwan authored and James Zern's avatar James Zern committed
      Rename '--enable-aom-highbitdepth' to '--enable-highbitdepth'
      
      Change-Id: I1de13c3508c30c552532993419d8ace326142ab6
      71e87847
    • Timothy B. Terriberry's avatar
      pvq: Remove support for disabling nodesync. · 44bb6d06
      Timothy B. Terriberry authored
      This was broken by commit 1238137c.
      
      When calling the generic coder with a max, it truncates the CDF, but
      then tries to encode/decode with the Q15 entropy coder functions
      with built-in adaptation. That causes assertion failures, because the
      total probability isn't 32768.
      
      We could fix it by re-scaling the CDF, and then doing adaptation
      assuming there was no max, but that requires several special-case
      code paths.
      
      Instead, since non-robust streams were the only thing that still
      required calling the generic coder with a max, and since the gain
      from them is very small (and they require doing more DSP just to be
      able to parse the stream), we simply remove the option and force
      the use of robust streams all the time.
      
      With robust streams enabled, encoder output should not change, and
      all streams should remain decodable without decoder changes.
      
      Thanks to Nathan Egge for reporting the problem.
      
      Change-Id: I6c81481abb796688bf703d68f164d208e6a69f20
      44bb6d06
  4. 11 Apr, 2017 1 commit
  5. 10 Apr, 2017 1 commit
    • Angie Chiang's avatar
      Use block_idx rather than block_raster_idx · 752ccce7
      Angie Chiang authored
      1) block_raster_idx is actually raster order only when tx_size
      is TX_4x8.
      It's very specific, so we should put it near to the place it's
      actually used.
      
      2) Sync the meaning of block_idx on encoder/decoder sides
      
      Change-Id: I7d37a992cb773503e29f9c0d9d2586e580aa6173
      752ccce7
  6. 07 Apr, 2017 1 commit
  7. 06 Apr, 2017 1 commit
  8. 05 Apr, 2017 1 commit
    • Yushin Cho's avatar
      PVQ uses backward updated context in a tile · c49ef3a1
      Yushin Cho authored
      In the beginning of encoding and bitstream packing,
      the frame context in common of codec is copied to the frame context
      in each tile.
      Initial prob and context is based on flat probability and
      does not come from table at the moment.
      
      The bd-rate change for the test set objective-1-fast
      on awcy with high delay mode is:
      
      PSNR   PSNR  HVS  SSIM  CIEDE 2000  PSNR Cb PSNR Cr MS SSIM
      -0.77  -1.05      -0.74 -0.67       -0.67   -0.77   -0.88
      
      Change-Id: Ic9105ac68aceb7486cb5f6f1c0b19df5853f2cb9
      c49ef3a1
  9. 04 Apr, 2017 3 commits
  10. 03 Apr, 2017 4 commits
    • Angie Chiang's avatar
      Add av1_inverse_transform_block · d92d4bf4
      Angie Chiang authored
      Move most of the code of inverse_transform_block to
      av1_inverse_transform_block such that encoder can use the
      function as well.
      
      Use av1_inverse_transform_block in av1_encoder_block_intra.
      This will make the code cleaner.
      
      Change-Id: I84dbeef2c65e252910606dbea446ce43165d504c
      d92d4bf4
    • Angie Chiang's avatar
      Add av1_subtract_txb() · f87e43f5
      Angie Chiang authored
      This will simplify the code flow in av1_subtract_txb()
      
      Change-Id: I575da4a74f435b5862d2a848bdedae9856672121
      f87e43f5
    • Angie Chiang's avatar
      Add av1_predict_intra_block_facade · 3d005e4c
      Angie Chiang authored
      A simpler interface for intra block prediction
      
      Change-Id: I97e3f385746928d87999e6862b1d71a197df0302
      3d005e4c
    • Angie Chiang's avatar
      Add subtract_block() · 19407b52
      Angie Chiang authored
      This function help us merge subtract block code in
      av1_subtract_plane and av1_encode_block_intra.
      
      Change-Id: Ie793d88a218f1082c6fe28900a521f461e34d564
      19407b52
  11. 29 Mar, 2017 2 commits
  12. 28 Mar, 2017 1 commit
  13. 27 Mar, 2017 2 commits
  14. 24 Mar, 2017 2 commits
  15. 23 Mar, 2017 1 commit
  16. 22 Mar, 2017 1 commit
  17. 20 Mar, 2017 2 commits
    • hui su's avatar
      Add av1 prefix to inv_txfm_add · bb9c73b0
      hui su authored
      Change-Id: Id7cbb89ba344770297ef42bf1b09a2b9ba5a1378
      bb9c73b0
    • Alex Converse's avatar
      Port optimize_b cache optimizations to AV1. · c9d2fcc2
      Alex Converse authored
      Bring the following libvpx commits to aom:
      e446ffd Cache optimizations in optimize_b()
      50d3629 Repack vp9_token_state
      
      Saves 24600 bytes of stack in the default configuration.
      
      Change-Id: If9d6506cf3fe1c34ab639dedb3ef62a996293781
      c9d2fcc2
  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
  21. 01 Mar, 2017 1 commit
  22. 27 Feb, 2017 1 commit
  23. 25 Feb, 2017 1 commit
    • Timothy B. Terriberry's avatar
      Fix signed left-shifts added in e93acb2d. · 4e6a8f30
      Timothy B. Terriberry authored
      Since we now require C99, this is undefined behavior.
      Thanks to Luc Trudeau for the report and Alex Converse for the
      suggestion on how to make the macro safe for all integer sizes.
      
      Change-Id: I99a1342dfedb3e17a6869269be317c2ed26bfe9b
      4e6a8f30
  24. 24 Feb, 2017 1 commit
    • Luc Trudeau's avatar
      Add get_plane_type() helper function. · 005feb6b
      Luc Trudeau authored
      Adds the static inline function get_plane_type to convert a plane number
      to the corresponding PLANE_TYPE.
      
      There's no change to the bitstream, it only encapsulates the logic to
      get the PLANE_TYPE.
      
      Change-Id: I1199db3a32c89437d9c029ab5b2b2e62582a13a2
      005feb6b
  25. 23 Feb, 2017 1 commit
    • Jingning Han's avatar
      Add chroma 2x2 block experiment · 31b6a4f9
      Jingning Han authored
      Support the use of 2x2 prediction and transform block size for
      chroma components. This experiment builds on top of cb4x4. It
      brings back the loss in performance gains due to 4x4 chroma
      component constrain. The coding gains for lowres are up from 1.5%
      to 2.5%.
      
      Change-Id: I8e461e230c2d920f6df1af9d935ebe9dfa3820d9
      31b6a4f9
  26. 22 Feb, 2017 1 commit
    • Jingning Han's avatar
      Fix block encoding stage inter mode operation · ea576f3e
      Jingning Han authored
      Properly scale the chroma component block size to handle the sub8x8
      coding block in the encoding stage. It resolves the large performance
      drop issue in cb4x4 due to minimum 4x4 block size.
      
      Change-Id: Ia2477b43521408b72a20aca406f495faba66c033
      ea576f3e
  27. 18 Feb, 2017 1 commit
  28. 17 Feb, 2017 1 commit
    • Yushin Cho's avatar
      Remove PVQ_CHROMA_RD codes · 5c207296
      Yushin Cho authored
      Which was a workaround to balance the quality between
      luma and chroma when PVQ is enabled, by
      1) skipping PVQ DC RDO for chroma and
      2) using smaller lambda value (x0.5) for intra prediction of chroma,
      intended to spend more bits and thus improve quality for chroma.
      
      The change in metric for 5 frames of objective-1-fast is:
      PSNR  PSNR-HVS  SSIM  CIEDE-2000  PSNR Cb PSNR Cr  MS-SSIM
      -1.45 -1.54     -1.46 4.62        13.71   14.87     -1.47
      
      For still images (subset1)
      PSNR  PSNR-HVS  SSIM  CIEDE-2000  PSNR Cb PSNR Cr  MS-SSIM VMAF
      -1.52 -1.54     -1.60 2.56        11.92   12.17     -1.52  -1.66
      
      Change-Id: I31c4d7a7de2939f6004c112649f7303f0e944156
      5c207296
  29. 16 Feb, 2017 1 commit
    • Thomas Davies's avatar
      NEW_TOKENSET: modify trellis and coeff costs. · ed8e2d2a
      Thomas Davies authored
      Since token coding has changed the relationship
      between EOB values and non-zero values, coeff costs
      and trellis quant need to change to be more accurate.
      
      Change-Id: I27ef400e8290db4c5faa9c21a253575eea7955c4
      ed8e2d2a