1. 08 May, 2017 2 commits
    • Luc Trudeau's avatar
      [CFL] Change cfl_load to use width and height · 30596fb2
      Luc Trudeau authored
      Since the size used with cfl_load can either be based on the transform
      block size and the prediction block size, width and height are used as
      parameters instead of TX_SIZE.
      
      This resolves a problem where cfl_compute_alpha_ind was reading
      uninitialized memory.
      
      Change-Id: I187dbdd5b2e8bd85e82bb77eb74859bee2cd3f1e
      30596fb2
    • Angie Chiang's avatar
      Change plane_rd_mult inter uv param from 5 to 6 · ebcdb25e
      Angie Chiang authored
      This will improve the lowres performance by 0.1%
      No significant change on midres and hdres
      
      Change-Id: I0c6e69bf48596e7e5ad49631ed9f9be73bbf3c9a
      ebcdb25e
  2. 06 May, 2017 1 commit
  3. 05 May, 2017 3 commits
    • Yaowu Xu's avatar
      Change to use correct type for token_cost · 42350322
      Yaowu Xu authored
      The conversion of return value to int64_t appears to be unnecessary.
      
      fixes a number of type conversion warnings for MSVC2015
      
      Change-Id: Ibca24468e73bf22ad07c469ce5d1223635390ecb
      42350322
    • Yaowu Xu's avatar
      Remove unnecessary const · 1e4e5b96
      Yaowu Xu authored
      Removed "const" from parameters that are passed by value, also fixes
      msvc2015 compiler warnings.
      
      Change-Id: I0c7555b4245fa55fabda1c27762fb9f0860bfa18
      1e4e5b96
    • Luc Trudeau's avatar
      [CFL] Alpha signaling · f533400a
      Luc Trudeau authored
      Writes and reads alpha to and from the bitstream.
      
      A special case is needed on the encoder side to handle prediction block
      skips. Since whether or not a prediction block is skipped during CfL, a
      rollback is required if the block was skipped and the alpha index was
      not zero. The advantage of this is that no signaling is required when
      the prediction block is skipped as it is assumed tha the alpha index is
      zero.
      
      A encode facade is added to the intra prediction facade as CfL requires
      special encoder side operations.
      
      Change-Id: Ic3b11d0fdbd51389d862112eb09d8785127a6b06
      f533400a
  4. 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
  5. 28 Apr, 2017 1 commit
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 11 Apr, 2017 1 commit
  12. 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
  13. 07 Apr, 2017 1 commit
  14. 06 Apr, 2017 1 commit
  15. 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
  16. 04 Apr, 2017 3 commits
  17. 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
  18. 29 Mar, 2017 2 commits
  19. 28 Mar, 2017 1 commit
  20. 27 Mar, 2017 2 commits
  21. 24 Mar, 2017 2 commits
  22. 23 Mar, 2017 1 commit
  23. 22 Mar, 2017 1 commit
  24. 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
  25. 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