1. 04 May, 2017 2 commits
    • Angie Chiang's avatar
      Move eob/lossless check into av1_optimize_b · 7dec6c4c
      Angie Chiang authored
      This will guarantee that av1_optimize_b will be turned off when
      lossless mode is on
      
      Remove heuristic lossless check in optimize_b_greedy
      
      Change-Id: I636c776f3f6b632eb03bc57a470ea43aae4fe0f6
      7dec6c4c
    • Sebastien Alaiwan's avatar
      Remove some special cases for CONFIG_HIGHBITDEPTH · cd167c4e
      Sebastien Alaiwan authored
      This also avoids having 'bit_depth'/'bd' members whose presence
      is decided by the preprocessor.
      
      The goal is to simplify statements accessing the bitdepth value.
      (instead of forcing them to also rely on the preprocessor to query
      the member presence through #if CONFIG_HIGHBIDEPTH).
      
      Change-Id: I68b822bbaa2b1c67bde81cb4f3f8b9988b798b0d
      cd167c4e
  2. 28 Apr, 2017 1 commit
  3. 27 Apr, 2017 1 commit
    • Luc Trudeau's avatar
      [CFL] Store luma as prediction for chroma · e3980281
      Luc Trudeau authored
      Stores the reconstructed luma pixels for each transform block inside a
      prediction block. Rectangular transform blocks are supported.
      
      As for RDO, after all the modes have been tested for luma, an extra
      encoding is perform in order to store the reconstructed pixel values of
      the best mode. These values are then used for RDO on the chromatic
      planes.
      
      Change-Id: I354d9827e32fd41065f1b2ce02832d943a6fa156
      e3980281
  4. 26 Apr, 2017 1 commit
    • James Zern's avatar
      inline -> INLINE · c1b17f3b
      James Zern authored
      inline is undefined in visual studio 2013 for C
      
      Change-Id: I85adb3968e4a98e2d7909cc42e955b1447fcfa26
      c1b17f3b
  5. 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
  6. 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
  7. 12 Apr, 2017 2 commits
    • Sebastien Alaiwan's avatar
      Homogenize configuration option name. · 71e87847
      Sebastien Alaiwan authored
      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
  8. 11 Apr, 2017 1 commit
  9. 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
  10. 07 Apr, 2017 1 commit
  11. 06 Apr, 2017 1 commit
  12. 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
  13. 04 Apr, 2017 3 commits
  14. 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
  15. 29 Mar, 2017 2 commits
  16. 28 Mar, 2017 1 commit
  17. 27 Mar, 2017 2 commits
  18. 24 Mar, 2017 2 commits
  19. 23 Mar, 2017 1 commit
  20. 22 Mar, 2017 1 commit
  21. 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
  22. 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
  23. 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
  24. 14 Mar, 2017 1 commit
  25. 01 Mar, 2017 1 commit
  26. 27 Feb, 2017 1 commit
  27. 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
  28. 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