1. 30 Oct, 2017 2 commits
  2. 28 Oct, 2017 1 commit
    • Cheng Chen's avatar
      JNT_COMP: 6. support wedge · bdd6ca81
      Cheng Chen authored
      Support compound_segment and wedge.
      JNT_COMP is a competitor to compound_segment and wedge. They are
      mutually exclusive.
      
      Change-Id: Id93c36de44a69008182424f40325e42e699bedcd
      bdd6ca81
  3. 27 Oct, 2017 6 commits
    • Joe Young's avatar
      Ext-intra modification/tuning · 3ca43bf0
      Joe Young authored
      For ext-intra direcation intra modes:
      
      1. Use neighbor block modes to modify edge filtering strength
         Coding gain (lowres/midres/hdres):
           (8 keyframes)
           PSNR: -0.19 -0.22 -0.10
           SSIM: -0.29 -0.27 -0.13
      
      2. Use context-based cdf to code angle_delta syntax
           (8 keyframes)
           PSNR: -0.20 -0.24 -0.27
           SSIM: -0.29 -0.33 -0.37
      
      3. Filter corner sample:
           (8 keyframes)
           PSNR: -0.01 -0.02 -0.05
           SSIM: -0.03 -0.04 -0.05
      
      Combined Bd-rate improvement for 8 keyframes
           PSNR: -0.40 -0.47 -0.40
           SSIM: -0.57 -0.60 -0.51
      
      Change-Id: Id47ac17b6bf91cd810b70cacfc5b457341f417f3
      3ca43bf0
    • Cheng Chen's avatar
      Clamp loop filter levels · aff479fa
      Cheng Chen authored
      Clamp in range [-MAX_LOOP_FILTER, MAX_LOOP_FILTER], for experiment LOOPFILTER_LEVELS.
      
      BUG=aomedia:970
      
      Change-Id: Ica52242e969dcea49565f118155de5eef32a4cc4
      aff479fa
    • Cheng Chen's avatar
      JNT_COMP: 5. Support compound_segment · 3392c436
      Cheng Chen authored
      Let jnt_comp work with compound_segment. When frame distance weights
      are used, compound_segment blending is turned off. When normal compound
      mode is used, compound_segment blending is searched. The rdcost should
      select between {frame distance weights, normal compound,
      compound_segment blending}.
      
      Change-Id: I162d1d204ba6a5976538357d9dbc71fc5b1aa8d5
      3392c436
    • Cheng Chen's avatar
      JNT_COMP: 4. add context and entropy read/write · 0a7f2f51
      Cheng Chen authored
      Change-Id: I0e6f7ab981e31f7120105515f6204568b6dc82d3
      0a7f2f51
    • Sebastien Alaiwan's avatar
      Accept all warped motion model settings · 163710c0
      Sebastien Alaiwan authored
      When needed, fallback regular interp filter at reconstruction stage.
      
      Such bitstreams are valid.
      However, as we don't expect aomenc to generate them,
      print a helper warning.
      
      Change-Id: If30c8d8e478688d142abd857f4c35f3e8c68edb4
      163710c0
    • RogerZhou's avatar
      Fixed build conflict (amvr,intrabc). · 10a0380a
      RogerZhou authored
      Change-Id: Ibfeb424bf0ebab7bbeb69f6f6df24a4f4924ec97
      10a0380a
  4. 25 Oct, 2017 3 commits
  5. 24 Oct, 2017 3 commits
  6. 21 Oct, 2017 1 commit
  7. 20 Oct, 2017 3 commits
  8. 17 Oct, 2017 1 commit
    • Hui Su's avatar
      intrabc: support var-tx · 12546aa2
      Hui Su authored
      Support recursive tx block partition.
      
      On the screen content testset, 0.2% gain for keyframe encoding.
      
      Change-Id: I623e6fbb910fef9c91617e02edf420019f67d189
      12546aa2
  9. 16 Oct, 2017 3 commits
  10. 13 Oct, 2017 2 commits
  11. 12 Oct, 2017 3 commits
    • Yunqing Wang's avatar
      Find warped reference MV · 97d6a37e
      Yunqing Wang authored
      While finding the reference MV for a block, if one neighbouring block's
      motion mode is warped motion mode, instead of directly adding that
      block's MV to the candidate MV list, we use that neighbouring block's
      warped motion parameters to compute a MV for the center point of the
      current block, and then add that MV to the candidate MV list.
      
      Borg test result:
                   avg_psnr ovr_psnr ssim
      cam_lowres:  -0.507   -0.514  -0.685
      lowres:      -0.114   -0.122  -0.180
      
      The change is added under ext_warped_motion config flag.
      
      Change-Id: I3ce6290a1fd512b613eab5d7620c8bcb08f189a6
      97d6a37e
    • Yue Chen's avatar
      filter_intra: make fi mode index entropy coded · 63ce36fc
      Yue Chen authored
      Make fi mode index entropy coded instead of using raw bits. Mode
      cost estimation in key-frame RDO is updated as well. Modification
      to inter frame RDO is not included in this patch.
      Also key-frame y mode cdf table is re-trained since fi modes are
      attached to DC_PRED
      
      Key frame BDRate:
      -0.399% lowres, -0.339% midres
      
      Change-Id: I9ccf478b0a2e48fb1870fe8451e45e2c858a5f63
      63ce36fc
    • David Barker's avatar
      Make SEG_LVL_{SKIP,ZEROMV} blocks be single-ref-only · d92f3560
      David Barker authored
      This patch modifies the interpretation of SEG_LVL_SKIP and
      SEG_LVL_ZEROMV slightly, to fix a decoder crash and to save bits
      in the intended use cases of these segment flags.
      
      Previously, blocks using either of these segment flags could
      signal reference frames just like any other block. But the mode
      was implicitly taken to be ZEROMV. This worked fine in VP9, but
      crashed for compound blocks in AV1 since those should use
      ZERO_ZEROMV instead.
      
      Now we make it so that SEG_LVL_SKIP and SEG_LVL_ZEROMV imply
      that the block is single-reference. The reference to use is taken
      from the SEG_LVL_REF_FRAME segment feature if that is present,
      or is set to LAST_FRAME if not. See the attached bug report
      for the reasoning behind this.
      
      As a related change, we also teach the encoder how to deal with
      the combination of SEG_LVL_SKIP + SEG_LVL_REF_FRAME.
      
      BUG=aomedia:675
      
      Change-Id: I5e657cbfc1f08395a0301cba701edfb1682502a5
      d92f3560
  12. 11 Oct, 2017 1 commit
    • Yunqing Wang's avatar
      Refactor temporal MV code · c99a564a
      Yunqing Wang authored
      Removed rounding of blk_row/blk_col, which is more clear and doesn't
      change the result since the step size(mi_step) are even number.
      
      Change-Id: I3b0de69316e10c4834eb2d0d7e160a0ec9fbf130
      c99a564a
  13. 10 Oct, 2017 4 commits
    • Hui Su's avatar
      Add function to control palette usage · e87fb237
      Hui Su authored
      Add av1_allow_palette() to control whether palette mode should be enabled.
      
      Change-Id: Iee24636451be42eb36093dc3453bc39c7e686276
      e87fb237
    • Lester Lu's avatar
      lgt-from-pred: transforms based on prediction · 432012f6
      Lester Lu authored
      In this experiment, sharp image discontinuity in the predicted
      block is detected. Based on this discontinuity, we choose
      particular LGTs as row and column transforms.
      
      Bitstream syntax, entropy coding, and RD search for LGT are added.
      One binary symbol is used to signal whether LGT is used. This
      experiment can work independently with the lgt experiment.
      
      lowres: -0.414% for key frames, -0.151% overall
      midres: -0.413% for key frames, -0.161% overall
      
      Change-Id: Iaa2f2c2839c34ca4134fa55e77870dc3f1fa879f
      432012f6
    • Debargha Mukherjee's avatar
      Fix conflicts between ext-partition & other expts · e30159ce
      Debargha Mukherjee authored
      Most of the fixes are related to replacing BLOCK_64X64 with
      cm->sb_size.
      
      Fixes the AV1/AqSegmentTest.TestNoMisMatchExtDeltaQ/* tests that
      were breaking before with ex-partition.
      
      Change-Id: I19d6045b422a93891b8cf4f8a929def97a595058
      e30159ce
    • Hui Su's avatar
      Remove unused parameter in intra mode reader · aa2965e6
      Hui Su authored
      Change-Id: Ibea4c2c732b16851ad16b475ea40f021d5b5d5b3
      aa2965e6
  14. 09 Oct, 2017 4 commits
    • Sarah Parker's avatar
      Change rectangular vartx recursion depth to 2 · d25ef8c6
      Sarah Parker authored
      0.15% improvement on lowres set
      
      Change-Id: If16a8e07797c64508f9e2d9b26ae874ac53c57a4
      d25ef8c6
    • Urvang Joshi's avatar
      Revert wrong uses of TX_SIZE enum. · ab8840eb
      Urvang Joshi authored
      Introduced by: https://aomedia-review.googlesource.com/c/aom/+/25181
      
      Change-Id: I1f25178d6b273fbeade4c33f153b5f2bac4a8b99
      ab8840eb
    • Rupert Swarbrick's avatar
      Define block_signals_txsize function · fcff0b25
      Rupert Swarbrick authored
      This returns true if a block signals tx_size in the stream and uses it
      in the bitstream writing code and the decoder.
      
      Note that we can't quite use it in pack_inter_mode_mvs when
      CONFIG_VAR_TX && !CONFIG_RECT_TX but I've switched the code to using
      it the rest of the time since rect-tx is adopted and eventually the
      other code path should be deleted.
      
      Also use the helper function in tx_size_cost in rdopt.c, where the
      test was wrong and caused underestimates of block
      costs. (Specifically, the code that subtracts tx_size_cost from
      this_rate_tokenonly in rd_pick_intra_sby_mode ended up subtracting
      zero for a 4x8 block).
      
      The behaviour of the decoder should be unchanged. The only change in
      the encoder's behaviour should be in tx_size_cost where it should now
      match the rest of the code.
      
      Change-Id: I97236c9ce444993afe01ac5c6f4a0bb9e5049217
      fcff0b25
    • Zoe Liu's avatar
      Add encoder/decoder support to frame_sign_bias · 17af2748
      Zoe Liu authored
      Frame sign bias value will not be signaled in frame header. Instead,
      the sign bias of reference frames are derived from their corresponding
      frame offsets at both encoder and decoder.
      
      The tool of 'frame_sign_bias' is dependent of 'frame_marker'. Compared
      against baseline, the enabling of both tools obtains a small coding gain
      of -0.08 ~ -0.11% in BDRate over Google lowres/midres tests.
      
      Change-Id: I8d85dc427ced0b2152712ccf61be4be6068075b9
      17af2748
  15. 08 Oct, 2017 2 commits
    • Yunqing Wang's avatar
      Modify storing and using of the temporal frame MVs · d1d511f3
      Yunqing Wang authored
      Add an experiment "tmp", which includes:
      1. Always use larger block size while storing frame MVs and make
      it consistent for CB4X4 or non-CB4X4 cases. Namely, use 8x8 for
      4x4 mi size and 16x16 for 8x8 mi size.
      2. Allocate smaller buffer for frame MVs and save memory usage.
      3. Use nearby 8x8 or 16x16 location's previous frame MVs, and make
      the logic simple.
      4. Reduce the number of copying for frame MVs, that is very costly
      in decoder.
      
      Baseline decoder got 5+% speedup. Borg test on lowres set showed a
      +0.009% PSNR difference before/after the patch.
      
      Change-Id: I61e14e95fd35bea88f338931b4f43c44f4e4cf1f
      d1d511f3
    • Zoe Liu's avatar
      Clean up obsolete code for mismatch debugging · 0b3ef733
      Zoe Liu authored
      Change-Id: Ibdcb1530b9f81a2a5222e95cf5c0b7b2938509a8
      0b3ef733
  16. 06 Oct, 2017 1 commit