1. 26 Sep, 2017 1 commit
  2. 25 Sep, 2017 1 commit
  3. 23 Sep, 2017 3 commits
    • Yushin Cho's avatar
      Improve dist-8x8 · 8e75e8bb
      Yushin Cho authored
      Improve dist-8x8 when computing 8x8 yuv dist for sub8x8.
      
      To apply dist-8x8 for sub8x8 partitions, once mode decision for
      sub8x8 partitions are finished then dist-8x8 is computed on 8x8 window.
      Since dist-8x8 is only for luma, chroma distortion should be identified.
      
      Previously, it has been hard to be free from potential bugs doing this,
      due to the complex inter mode search code.
      
      The new method is less-error-prone, which computes uv distortion (in MSE) after
      the mode decisions for all of sub8x8 blocks in a 8x8 window are finished,
      when the dist-8x8 distortion for luma 8x8 pixels are computed with
      new distortion metric.
      
      All the code separating y and uv distortion in inter mode search has
      been removed in this commit.
      
      Change-Id: Ieaccb7915df5faeb5e89a7e70b2b7cbac65231af
      8e75e8bb
    • Hui Su's avatar
      Move local functions out of blockd.h · 032ab8b3
      Hui Su authored
      Change-Id: Id667950de84ad6a0b55222264a0ce8473cd10bcc
      032ab8b3
    • Yushin Cho's avatar
      [dist-8x8] Enable early-exit, if MSE is used · c00769a9
      Yushin Cho authored
      If dist-8x8 is enabled, it has disabled early-exit during the RD
      of sub8x8 tx block in 8x8 or larger partition for plane 0.
      
      However, for the sanity check mode of dist-8x8 which still use MSE,
      this can cause different bdrate from the reference (i.e
      dist-8x8 off). Hence, if tune-metirc is MSE then
      regular early-exit will perform for all cases.
      
      Note that the rd cost used for early-exit condition during tx mode
      decision does not include rate for mode itself but only coefficints.
      So, when the total distortion for a partition is very small, the rd cost
      of mode can exceed that of distortion.
      
      Change-Id: Ie25c64064b78d2d1582dbb0c286212fbc52dbdb9
      c00769a9
  4. 22 Sep, 2017 2 commits
    • Jingning Han's avatar
      Fix merge conflict · 75a6f87a
      Jingning Han authored
      Fix the missing the compiler fix in 772cb136.
      
      Change-Id: I2e1d0576964483c7890fb87e3db5451816883b9b
      75a6f87a
    • Hui Su's avatar
      Refactor the ext-tx experiment · ddbcde28
      Hui Su authored
      Use common structure for inter and intra tx type information when
      possible.
      
      Change-Id: I1fd3bc86033871ffbcc2b496a31dca00b7d64b31
      ddbcde28
  5. 21 Sep, 2017 2 commits
    • Jingning Han's avatar
      Fix compiler error when dist-8x8 · 772cb136
      Jingning Han authored
      Fix a compiler error when both DISABLE_TRELLISQ_SEARCH and dist-8x8
      are turned on.
      
      Change-Id: Idd122cb4fc391c449bfcd17ec8406d72ef92d15d
      772cb136
    • Rupert Swarbrick's avatar
      Fix compiler warning in block_rd_txfm · f06faea4
      Rupert Swarbrick authored
      Patch a4817a6b added the sub8x8tx_in_gte8x8blk_in_plane0 variable, but
      it's read in a block that doesn't exist if DISABLE_TRELLISQ_SEARCH is
      true, causing a warning in the overnight "lv-map" unit tests.
      
      Change-Id: I916b61957ffdad1ac7be38efd4051d266d4bd61c
      f06faea4
  6. 20 Sep, 2017 4 commits
  7. 19 Sep, 2017 3 commits
    • RogerZhou's avatar
      Adaptive Motion Vector Resolution · 3b635245
      RogerZhou authored
      Change-Id: Ic3c93a5d2e427ce1ed578389196a265245063821
      3b635245
    • Luc Trudeau's avatar
      [CFL] Use MAX_NUM_TXB_SQUARE instead of MAX_NUM_TXB · f1cf7178
      Luc Trudeau authored
      MAX_NUM_TXB represents the maximum number of transform blocks in 1
      dimension. CfL requires the maximum number of transform blocks in 2
      dimensions. As such, we now use MAX_NUM_TXB_SQUARE instead of the
      erroneous MAX_NUM_TXB for the average buffer.
      
      There's an assert guarding for overrun on the average buffer.
      This fix stops assertions on 4:4:4 sequences. This patch does
      not alter AWCY results as AWCY only covers 4:2:0 sequences (for
      which MAX_NUM_TXB turns out to be sufficient). 
      
      Change-Id: I628db0131f60abc2d06cbbe3fe3dc40e28894ce3
      f1cf7178
    • Luc Trudeau's avatar
      Convert to PREDICTION_MODE for is_directional · f24a35f8
      Luc Trudeau authored
      Recent code added in EXT_INTRA wasn't compatible with CfL,
      because it assumed that the PREDICTION_MODE was the same
      for luma and chroma, which is not the case with CfL.
      
      UV_PREDICTION_MODE must be converted to PREDICTION_MODE for
      av1_is_directional_mode function.
      
      Change-Id: I10e42e3f4a904905f41205d0018f97807959e841
      f24a35f8
  8. 16 Sep, 2017 3 commits
    • Hui Su's avatar
      intrabc: consider mode cost in RD selection · 8dc0092f
      Hui Su authored
      Should take the overhead into consideration when intrabc is not
      being used. Did not see much coding gain with this patch though.
      
      Change-Id: Ie997c1a7284159252d5f663171957c044d3e0a03
      8dc0092f
    • Hui Su's avatar
      intrabc: replace prob with cdf · 6c8584f6
      Hui Su authored
      Improves keyframe coding by 0.1% on the screen_content testset.
      
      Change-Id: I5793a67eaae21010ef200038af99ebb9029fc770
      6c8584f6
    • Debargha Mukherjee's avatar
      Add a q index based frame superres mode · 7166f22a
      Debargha Mukherjee authored
      Refactors and adds superres-mode 3 and associated
      paramters --superres-qthresh and --superres-kf-qthresh
      that are used to trigger superres mode when the qindex
      for any frame exceeds the thresholds provided for non-key
      and key-frames respenctively. The superres scale factor
      numerator is progressively reduced from 16 starting from
      that q threshold following a fixed slope.
      
      Change-Id: If1c782993667a6fbaaa01bbde77c4924008c0d28
      7166f22a
  9. 15 Sep, 2017 2 commits
  10. 13 Sep, 2017 3 commits
  11. 11 Sep, 2017 1 commit
    • Sarah Parker's avatar
      Tokenize and write mrc mask · 99e7daa2
      Sarah Parker authored
      This allows a mask for mrc-tx to be sent in the bitstream for
      inter or intra 32x32 transform blocks. The option to send the mask
      vs build it from the prediction signal is currently controlled with
      a macro. In the future, it is likely the macro will be removed and it
      will be possible for a block to select either method. The mask building
      functions are still placeholders and will be filled in in a followup.
      
      Change-Id: Ie27643ff172cc2b1a9b389fd503fe6bf7c9e21e3
      99e7daa2
  12. 09 Sep, 2017 1 commit
  13. 08 Sep, 2017 2 commits
    • Hui Su's avatar
      palette-delta-encoding: remove dependency on above SB row · 3748bc2a
      Hui Su authored
      Do not refer to above MB when on SB boundary. This helps to
      reduce line buffer.
      
      Keyframe coding gain on the screen_content testset drops from
      1.28% to 1.20%.
      
      Change-Id: I4b06fd137d6c9ea68d618035381f09d0746ba9e8
      3748bc2a
    • Hui Su's avatar
      Encoder speedup: buffer TX RD search results · 1ddf2314
      Hui Su authored
      Encoder may do multiple rounds of transform RD search on the same
      residue signals. Save the RD search results so that encoder can
      fetch the results and terminate early if the residue signals have
      been seen before.
      
      The hash functions are ported from the hash_me experiment.
      
      Test results show the encoder speed is increased by 10% on
      average (ranging from 0 to 30%) with all default experiments on.
      
      Change-Id: I47dd63549f67cb43d3d700f6a76ce0992b1ccd0d
      1ddf2314
  14. 06 Sep, 2017 4 commits
  15. 05 Sep, 2017 1 commit
  16. 04 Sep, 2017 1 commit
  17. 02 Sep, 2017 1 commit
  18. 01 Sep, 2017 1 commit
  19. 31 Aug, 2017 1 commit
  20. 28 Aug, 2017 2 commits
    • Luc Trudeau's avatar
      [CFL] Move store flag to CFL_CTX · fcca37a4
      Luc Trudeau authored
      With recent changes, it is now possible to store the storage
      flag inside the CFL_CTX. This simplifies the implementation
      and will allow reuse in the decoder.
      
      This change does not alter the bitstream.
      
      Change-Id: Ibb8aebdd3d06f8765d40248ece8a038892e87032
      fcca37a4
    • Luc Trudeau's avatar
      [CFL] Reorganize Reconstructed Pixel Buffering · 32306c22
      Luc Trudeau authored
      Reworked how the storage flag is set to avoid duplication on the encoder
      side. Reconstructed Luma pixels are stored in encode_superblock in the
      loop that calls av1_encode_intra_block_plane and in the extra call to
      txfm_rd_in_plane after the luma RDO, but prior to the chroma RDO.
      
      This change does not alter the bitsteam.
      
      Change-Id: Ifd8441363ea0733fea3d06129a025940abb2abc9
      32306c22
  21. 26 Aug, 2017 1 commit