1. 19 Dec, 2017 2 commits
  2. 18 Dec, 2017 3 commits
    • Luc Trudeau's avatar
      [CleanUp] Remove block from av1_mode_context_analyzer · 15a18e3d
      Luc Trudeau authored
      av1_mode_context_analyzer is always called with block == -1.
      
      Change-Id: Ibc9e7e87ea95f3651f7505b82674a6fd795ae985
      15a18e3d
    • Zoe Liu's avatar
      Expand skip mode support for all comp frames · 4b847e19
      Zoe Liu authored
      All compound predicted frames now have the choice to either turn on
      or off the use of the skip mode. The current encoder design only
      turns on the use of skip mode when the temporal distances of the two
      reference frames to the current frame are only different by 1.
      
      This patch also includes a fix on the calculating of the temporal
      distance between the two reference frames to the current frame for
      skip mode.
      
      Performance wise, this patch does not have noticeable impact as the
      encoder stays with the same choice with the frame-level skip mode
      flag.
      
      Change-Id: I34f370940b3b25d2ab429b8721344133ae6288ad
      4b847e19
    • Cheng Chen's avatar
      LPF_SB: cleanup unused functions and code path · 76224b0e
      Cheng Chen authored
      Since we've decided to use guess filter levels for lpf_sb, I remove
      unused searching functions and coding paths to make codebase clean
      and easy to manage.
      
      Change-Id: I3497add59fc1eaf36acdd0acb85e3bcb6486d01d
      76224b0e
  3. 17 Dec, 2017 1 commit
  4. 16 Dec, 2017 2 commits
    • Jingning Han's avatar
      Deprecate the use of bmi structure from av1 codec · 2fac8a41
      Jingning Han authored
      Change-Id: I7f5010ae3b9a014b3dca0425c9eada3b9e2c0ab3
      2fac8a41
    • Zoe Liu's avatar
      Support ext-skip for both low delay and high delay · 104d62e1
      Zoe Liu authored
      For both low delay and high delay scenarios, the reference pair in
      skip mode are specified as the closest fwd ref, together with the
      closest bwd ref if there is any bwd ref, otherwise with the two
      closest fwd refs.
      
      Skip mode by default uses COMPOUND_AVERAGE. When all the reference
      frames are on the same side, temporal-distance weighted compound is
      considered, and a compound index is signaled to indicate whether
      distance-weighted compound or compound-average is usd.
      
      Whether to use distance-weighted compound for skip mode is still
      under experimenting, hence a flag is temporarily added:
      SKIP_MODE_WITH_JNT_COMP.
      
      Following experimental results are obtained over 30 frames, using the
      setup of --disable-ext-partition --disable-ext-partition-types
      --disable-txmg --enable-jnt-comp --enable-mfmv --enable-ext-skip:
      
      (1) High Latency:
      For Google test sets (lowres/midres), the BDRate coding gain is ~0.2%;
      For AWCY, the coding gain is ~0.1%.
      (2) Low Latency:
      No gain has been observed over Google sets and ~0.1% gain is obtained
      only when temporal-distance weighted prediction is used.
      
      Change-Id: I8c433357adebed0126ebfdd5c4d51aa71e64be57
      104d62e1
  5. 15 Dec, 2017 5 commits
  6. 14 Dec, 2017 4 commits
    • Jingning Han's avatar
      Fix enc/dec mismatch bewteen mfmv and obu · 923f827e
      Jingning Han authored
      BUG=aomedia:1123
      
      Change-Id: I3886bd74cf3ee266eee13020c8821aff5b59e11d
      923f827e
    • Luc Trudeau's avatar
      [Clean Up] Remove get_y_mode() · 2eb9b845
      Luc Trudeau authored
      The get_y_mode function, is superfluous, not used consistently, and requires a
      useless block_idx parameter than gets pass around a lot inside the
      codebase for no apparent reason.
      
      The block parameter is misleading, as it could cause people to think all these
      functions actually use this value.
      
      Change-Id: I7ae0a8d1282c009b9114c83771cce10f5c2ee397
      2eb9b845
    • Hui Su's avatar
      fix conflict between intrabc and obu · ad7536be
      Hui Su authored
      Change-Id: Ieed2451060f68fee6e67bca7d836d27bc6483c0f
      ad7536be
    • Yaowu Xu's avatar
      Revert "enable obu (HLS R19) by default" · a14de5b3
      Yaowu Xu authored
      This reverts commit 0dc0ddc0.
      
      Reason for revert: enc/dec mismatch was found and tracked down to this commit. 
      
      BUG=aomedia:1123
      
      Change-Id: I47ac289426e18d2118117d56c2cbc8930b78bda2
      a14de5b3
  7. 13 Dec, 2017 5 commits
  8. 12 Dec, 2017 3 commits
    • Rupert Swarbrick's avatar
      Fix calculation of tx_type cost for rectangular transforms · ffbff57d
      Rupert Swarbrick authored
      This patch fixes up av1_tx_type_cost to match the code in
      av1_write_tx_type. Beforehand, we wrongly assumed a 32x16 block needed
      to signal its transform size (with rect-tx-ext & rect-tx-ext-intra)
      because we were passing 16x16 to get_ext_tx_types.
      
      I've also changed av1_write_tx_type to use get_min_tx_size rather than
      inlining its body. No functional change, but it's probably better to
      use the same helper function both times.
      
      Change-Id: Iff6ee0bff2d332d5270fe0219db88c95e0b051d0
      ffbff57d
    • Cheng Chen's avatar
      Make lpf_sb work with loopfilter_level · 765e34e3
      Cheng Chen authored
      Make lpf_sb compatible with loopfilter_level, when USE_GUESS_LEVEL = 1.
      
      Filter levels will be selected based on q index and applied for
      filtering on Y, U, V planes separately.
      
      Current model only allows to guess one filter level.
      Now Y_vert = Y_horz = U = V. In the future, we need to retrain the
      model and get filter levels for Y_vert, Y_horz, U and V separately.
      
      When USE_GUESS_LEVEL = 0, lpf_sb can't work with loopfilter_level yet.
      
      Change-Id: Icd774a147c07a4035cf8204a8754b2a99668bbfd
      765e34e3
    • Cheng Chen's avatar
      LPF_SB: set row delay to work with intrabc · f18ba021
      Cheng Chen authored
      Intrabc search area can't use pixels of the last 8 rows in the current
      superblock row. Add a delay so that lpf_sb can work with intrabc.
      
      Let lpf_sb on with intrabc while other loop filtering off (cdef, loop
      restoration).
      
      Change-Id: I98ab093a17096387b6233182da2656f90dfa09eb
      f18ba021
  9. 11 Dec, 2017 3 commits
  10. 10 Dec, 2017 1 commit
    • Imdad Sardharwalla's avatar
      Monochrome control now in colorspace header · 317002fb
      Imdad Sardharwalla authored
      The monochrome bit has been removed from the end
      of the sequence header.
      Monochrome is now coded as a type of colorspace.
      
      Encode in monochrome by using
        aomenc --color-space=monochrome ...
      
      Change-Id: I9550de58eb3d67dae0eb651697cb63dc8b137931
      317002fb
  11. 09 Dec, 2017 2 commits
    • Debargha Mukherjee's avatar
      Enable 4:1 -> 2:1 -> 1:1 splits for 4:1 transforms · e4e18fcc
      Debargha Mukherjee authored
      Also, splits the sub_tx_size_map array into inter and intra
      in order to enable the new 4:1 transforms for inter and
      intra separately.
      Includes refactoring such as removing the intra_tx_size_cat_lookup
      array since it is unnecessary, and consolidating the
      max_txsize_rect_lookup array for convenience.
      
      Change-Id: I112553bab612dafb973611c87f36a43e1ac4be85
      e4e18fcc
    • Rostislav Pehlivanov's avatar
      Change q_segmentation to spatial_segmentation · 938710cb
      Rostislav Pehlivanov authored
      Adds spatial prediction to standard segmentation instead of a separate
      segmentation feature.
      When using temporal prediction skipped blocks are flagged as mispredicted.
      
      Change-Id: I0c32281286d3fbce66d339c9247bcc6516f37a63
      938710cb
  12. 08 Dec, 2017 3 commits
  13. 06 Dec, 2017 1 commit
    • Zoe Liu's avatar
      JNT_COMP: Simplify logic on inter-inter comp modes · 5f11e915
      Zoe Liu authored
      This patch simplies the checking criteria for the two groups of
      compound modes. It also makes the encoder side cdf update inside the
      RD loop consistent with that in the bitstream.
      
      Experimental results on Google test sets (30 frames of lowres and
      midres) confirm this patch obtains identical coding performance.
      
      Change-Id: I170eea91f7d2be2170df544cfc2c692b09aa82d6
      5f11e915
  14. 05 Dec, 2017 5 commits
    • Luc Trudeau's avatar
      [CFL] Disable CfL for 4:1 and 1:4 Partitions · 4d6ea54e
      Luc Trudeau authored
      Moving CfL to using partition unit DC_PRED requires 4:1 and 1:4 DC_PRED,
      which are not currently implemented. A simple solution is to disable CfL
      for 4:1 and 1:4 partitions.
      
      CfL is also disabled for luma intra partitions < 4x4. This is inherent
      to luma intra prediction partition sizes. We add an assert to enforce
      this.
      
      Resulting in the following regression for Subset1
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      -0.0093 |  0.1803 |  0.1519 |  -0.0180 | 0.0256 |  0.0226 |     0.0352
      
      https://two.arewecompressedyet.com/?job=CfL%402017-11-30T19%3A05%3A05.639Z&job=CfL-Disable-4to1%402017-11-30T19%3A04%3A00.761Z
      
      Change-Id: Ie2c8b4d9cb6b6f33a103b540209e1a2fb6df74a7
      4d6ea54e
    • Cheng Chen's avatar
      Change comp_group index context and save sending comp_group · 5a88172c
      Cheng Chen authored
      Extend context model for comp_group_idx.
      Save sending comp_group_idx when masked_compound is not allowed.
      
      Change-Id: Ia7ae53958c9e1c8fe07be4b14a425d9b8648082d
      5a88172c
    • Cheng Chen's avatar
      JNT_COMP: change COMPOUND_AVERAGE in cdf · 2ef24ea2
      Cheng Chen authored
      Remove COMPOUND_AVERAGE from compound_type_cdfs since it is now grouped
      to compound_idx. However, COMPOUND_AVERAGE is still used elsewhere.
      
      Change-Id: Ie0d460aabf9252e80eb4130cfef9aaf0efc3969d
      2ef24ea2
    • Cheng Chen's avatar
      JNT_COMP: divide compound modes into two groups · 33a13d9f
      Cheng Chen authored
      Divide compound inter prediction modes into two groups:
      Group A: jnt_comp, compound_average
      Group B: interintra, compound_segment, wedge
      
      Change-Id: I1142da2e3dfadf382d6b8183a87bde95119cf1b7
      33a13d9f
    • Dominic Symes's avatar
      max-tile: Fix issues discovered when testing max-tile · 917d6c06
      Dominic Symes authored
      max-tile remains off by default until more testing is performed but I would
      like to check in the fixes that are known so far to prevent this patch getting too big
      
      max_tile was provisionally adopted at the working group meeting 2017-Oct-10
      
      This patch fixes the following issues:
      - max_tile is fixed to suport superblock size 64x64 as well as 128x128 (ext_partition support)
      - max_tile is fixed in combination with loop_restoration
      - max_tile is fixed in combination with ext_tile (Bug: 1013)
      - max_tile is fixed in combination with lv_map and 64x64 subperblock (lv_map memory allocation
        fixed for 64x64 superblock)
      - max_tile reports the size of the first tile for inspection.c used by the analyzer
      
      Change-Id: Ib83ff613e5d66563c81452a085c7984d3b4813e4
      917d6c06