1. 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
    • Hui Su's avatar
      Resolve an issue between palette and delta-q · efb755cd
      Hui Su authored
      Avoid resetting current_q_index.
      
      Change-Id: I76d27605b6a8c0cd6b1032e24ea5ca8561115e5a
      efb755cd
    • 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
    • Cheng Chen's avatar
      JNT_COMP: 3. rd select the best weight · ca6958c6
      Cheng Chen authored
      Select the best compound_idx in rd.
      The rate/cost for compound_idx and their ctx will be in patch 4.
      
      But there's a bug for now if we don't encode one more time using the
      selected compound_idx. It remains a issue to be solved in the future.
      
      Change-Id: I5e1ba51da2b6ab5bacd8aba752dda43bd2257014
      ca6958c6
    • RogerZhou's avatar
      Fixed build conflict (amvr,intrabc). · 10a0380a
      RogerZhou authored
      Change-Id: Ibfeb424bf0ebab7bbeb69f6f6df24a4f4924ec97
      10a0380a
  2. 26 Oct, 2017 1 commit
  3. 25 Oct, 2017 3 commits
    • Cheng Chen's avatar
      JNT_COMP: 2. assign proper weigths in rdopt · efc55fd9
      Cheng Chen authored
      Change-Id: I255be6e0193dd6b91424ce53ed41aeaaeb1c01a7
      efc55fd9
    • Yue Chen's avatar
      Optimizations for filter_intra · 57b8ff68
      Yue Chen authored
      Reduce number of modes from 10 to 6, and disable fi modes in UV.
      To reduce complexity, apply filter directly without subtracting
      the estimated means.
      
      Change-Id: Iaf78d92d31e4a7cc30ea7863b57a9611c5f503e6
      57b8ff68
    • David Michael Barr's avatar
      [CFL] Switch to txfm_rd_in_plane in alpha search · 1f8d0950
      David Michael Barr authored
      This is more precise than the dist functions it replaces.
      
      Results on Subset1 (compared with previous commit with CfL enabled)
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0634 | -0.9188 | -0.9429 |   0.0609 | 0.0722 |  0.0593 |    -0.3226
      
      Change-Id: I955a7d7eceea50482edb40b0d1041b300e3c9042
      1f8d0950
  4. 24 Oct, 2017 3 commits
  5. 23 Oct, 2017 1 commit
    • Yaowu Xu's avatar
      Use type with smaller size · abe5215f
      Yaowu Xu authored
      This is to reduce the size of the huge token buffer by at least more
      than 10%.
      
      BUG=aomedia:940
      
      Change-Id: I2ee7f7f62e8e8fb819cf7fba40a7ca7f860acaa4
      abe5215f
  6. 21 Oct, 2017 2 commits
  7. 20 Oct, 2017 3 commits
  8. 19 Oct, 2017 2 commits
    • Yue Chen's avatar
      Disable residue hash feature on cross-border blocks · 25dc0701
      Yue Chen authored
      Disable this feature unless the entire block is within the frame.
      The reason is, rd decisions in mbmi, e.g. inter_tx_block[][], made
      for blocks partially out of the border can be partly nonsense
      therefore cannot be reused by blocks at other locations.
      
      It caused an infinite loop when encoding a clip with repetitive
      patterns. A cross-border block has an invalid big tx stored
      in inter_tx_block[0][1] and the other block (same residue, within
      frame) reused this mbmi, which makes encoder never reach the
      termination condition when tx blocks are being recursively
      partitioned.
      
      BUG=aomedia:913
      
      Change-Id: Id25a1dbc4a68b5136f6bdf9f6b5811b7ec6920b0
      25dc0701
    • Luc Trudeau's avatar
      [CFL] Fix negative rounding issue in alpha dist · a45b104a
      Luc Trudeau authored
      get_scaled_luma_q0(-alpha_q3, pred_buf_q3[i]) is NOT equivalent to
      -get_scaled_luma_q0(alpha_q3, pred_buf_q3[i]). When the product
      alpha_q3*pred_buf_q3[i] is an exact multiple of 32 (0.5 in Q6), then the right
      shift will round both positive and negative values towards infinity, creating a
      bias. So, e.g., get_scaled_luma_q0(-4, 8) will yield 0, but
      -get_scaled_luma_q0(4, 8) will yield -1.
      
      Results on Subset1 (compared to parent With CfL enabled)
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      https://arewecompressedyet.com/?job=cfl-no-round-fix%402017-10-07T11%3A50%3A47.711Z&job=cfl-round-fix%402017-10-07T02%3A15%3A51.359Z
      
      Change-Id: I8a7900c32fbd7213f1ed4e09c3626c063800e186
      a45b104a
  9. 18 Oct, 2017 4 commits
  10. 17 Oct, 2017 7 commits
    • Yue Chen's avatar
      new_multisymbol: use cdf-based costs of interintra · eaf128a9
      Yue Chen authored
      Calculate rate costs of interintra and wedge interintar symbols
      based on cdfs that are per-sb updated.
      
      Change-Id: I4fa73953cb0bccbf078d2e2dd4e90370972fcce1
      eaf128a9
    • Yue Chen's avatar
      new_multisymbol: use cdf-based costs of palette flags · dab2ca9d
      Yue Chen authored
      The modification is only applicable to palette_y_mode and
      palette_uv_mode. Welcome to make changes to other palette syntax.
      
      Change-Id: I7bf0a49c06a3986475076fe291e26f4b783b8ab9
      dab2ca9d
    • Yushin Cho's avatar
      [dist-8x8] Add more asserts · 1cd34621
      Yushin Cho authored
      Added more asserts for dist-8x8 running in PSNR mode,
      i.e. with the encoder option "--enable-dist-8x8=1"
      instead of --tune=[cdef-dist | daala-dist].
      
      The asserts checks whether a 8x8 distortion measured on reconstructed 8x8 pixels
      is identical to the sum of distortions from sub8x8 partitions (or tx blocks for
      var-tx case).
      
      Change-Id: I14f2b24e674a9cbbe60e663449fc4e7f46f0e481
      1cd34621
    • Alexander Bokov's avatar
      Improving the model for pruning the TX type search · 0c7eb10d
      Alexander Bokov authored
      Introduces two new TX type pruning modes that provide better
      speed-quality trade-off compared to the existing ones. A shallow
      neural network with one hidden layer trained separately for each
      block size is used as a prediction model. The new modes differ in
      thresholds applied to the output of the neural net, so that they
      prune different number of TX types on average.
      
      Owing to relatively low quality loss PRUNE_2D_ACCURATE is used
      by default, regardless of speed settings. Starting with speed
      setting of 3 we switch to PRUNE_2D_FAST mode to get better
      speed-up.
      
      Evaluation results:
      ----------------------------------------------------------
      Prune mode | Avg. speed-up | Quality loss | Quality loss
                 |(high bitrates)|   (lowres)   |   (midres)
      ----------------------------------------------------------
      PRUNE_ONE  |     18.7%     |    0.396%    |    0.308%
      ----------------------------------------------------------
      PRUNE_TWO  |     27.2%     |    0.439%    |    0.389%
      ----------------------------------------------------------
      PRUNE_2D_  |     18.8%     |    0.032%    |    0.063%
      ACCURATE   |               |              |
      ----------------------------------------------------------
      PRUNE_2D_  |     33.3%     |    0.504%    |     ---
      FAST       |               |              |
      
      Change-Id: Ibd59f52eef493a499e529d824edad267daa65f9d
      0c7eb10d
    • Debargha Mukherjee's avatar
      Fix a compile bug with ext-partition-types · 0b34a79f
      Debargha Mukherjee authored
      Removes some stray CONFIG_CB4X4 config macros.
      
      BUG=aomedia:921
      
      Change-Id: Icc65e0b000f659d7fb18178c928a7bff7879f58c
      0b34a79f
    • Sebastien Alaiwan's avatar
      Remove abandonned CHROMA_2X2 experiment · d8b93f56
      Sebastien Alaiwan authored
      Change-Id: I5bff0a68602a89ce480fec049c8b2c4bce44f6bb
      d8b93f56
    • 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
  11. 16 Oct, 2017 5 commits
  12. 14 Oct, 2017 1 commit
  13. 13 Oct, 2017 1 commit
  14. 12 Oct, 2017 1 commit
    • 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