1. 17 Nov, 2017 1 commit
    • Ola Hugosson's avatar
      lv_map_multi: add 2 more eob coeff contexts · d2352ecb
      Ola Hugosson authored
      The EOB coefficient cannot be 0 and for that reason it has special base_cdf contexts.
      Before this commit there was two contexts (DC and AC). This commit adds two additional
      contexts to separate the AC into 3 bands (i<=N/8, i<=N/4, i<=N/2).
      
      Change-Id: If088b20fd891920b7ea7fc988d29bf6d86d93bfc
      d2352ecb
  2. 16 Nov, 2017 1 commit
    • Ola Hugosson's avatar
      lv_map_multi: revert accidental prob change · 52d6c895
      Ola Hugosson authored
      In e72a2091 one lps default probability was accidentally changed from 1 to 128 for
      non LV_MAP_MULTI mode. This commit reverts that change and make the change only for
      LV_MAP_MULTI mode. Also rather than changing to 128, the probability is changed to 10.
      
      Change-Id: Ia8950379c46c59d40ea388fcd0621bbd78c26ede
      52d6c895
  3. 15 Nov, 2017 4 commits
  4. 14 Nov, 2017 3 commits
    • Ola Hugosson's avatar
      WIP: lv_map_multi: make br multi symbol · e72a2091
      Ola Hugosson authored
      The br_cdf and lps_cdf with a new 4-state symbol br_cdf.
      The br symbol indicates whether the level is k, k+1, k+2 or >k+2
      In the latter case, a new br symbol is read. Up to 4 br symbols are
      read which will reach level 14 at most. Levels greater than 14 are
      golomb coded.
      
      The adapted symbol count is reduced further by this commit.
      E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols
      is reduced from 4.27M to 3.85M. About 10% reduction.
      
      Gains seems about neutral on a limitied subset.
      
      Change-Id: I294234dbd63fb0fa26aef297a371cba80bd67383
      e72a2091
    • Ola Hugosson's avatar
      WIP: lv_map_multi: New experiment · 13892108
      Ola Hugosson authored
      This experiment modifies lv_map to make use of multi symbol.
      
      Replace the nz_map and coeff_base binary CDF with a new multi-symbol
      CDF of size 4. The new base_cdf indicates for each coeff if the level
      is 0, 1, 2 or >2. Two new special contexts are added to be used for the
      last coefficient (the EOB coeff). For the EOB coefficient we already know
      that it is non-zero. We use one context for DC EOB and one for AC EOB
      (this can potentially be refined more).
      
      The new symbol is read/written by special bitreader/bitwriter functions.
      Those functions reduce the probability precision from 15bit to 9bit before
      the invocation of the arithmetic coding engine.
      
      The adapted symbol count is significantly reduced by this experiment.
      E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols
      is reduced from 6.7M to 4.3M.
      
      Change-Id: Ifc3927d81ad044fb9b0733f1e54d713cb71a1572
      13892108
    • Cheng Chen's avatar
      JNT_COMP: reduce context model number · c87b340e
      Cheng Chen authored
      Reduce context model number from 9 to 6.
      Let context be two kinds: two reference frames are equal distance
      or not.
      Also, give equal distance compound weight {9, 7} instead of {8, 8}/16
      
      Reducing context model gives neutral performance.
      New compound weight provides -0.14% gain.
      
      Change-Id: I8a3f3021eac9e446ac826e5992f42931af4c8962
      c87b340e
  5. 13 Nov, 2017 4 commits
    • Sebastien Alaiwan's avatar
      Remove UNPOISON_PARTITION_CTX experiment · a6a486c1
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: I07be0876b21ee20a1eb2490bb98e4f84978ff001
      a6a486c1
    • Yue Chen's avatar
      Fix inefficient coding of filter_intra modes · 4eba69bb
      Yue Chen authored
      Include a few RDO fixes that properly account for the extra flag
      cost at the right place. Also entropy coding of the flag is made
      contexted on tx_size and based on cdf framework.
      
      Change-Id: I52f98ace7e253ccc08917a4a7b517515d1d58a98
      4eba69bb
    • Hui Su's avatar
      Update the q_adapt_probs experiment · 3694c834
      Hui Su authored
      Make it work with NO_FRAME_CONTEXT_SIGNALING.
      
      Change-Id: I27813305c68de7042678706c1c9b938b172c3666
      3694c834
    • Debargha Mukherjee's avatar
      Change tx_size encoding for intra modes · 6147b1b6
      Debargha Mukherjee authored
      Conveys depth from the largest transform size instead of the
      actual transform size. Besides, the max depth is now limited
      by the macro MAX_TX_DPETH set at 2.
      
      Results: BDRATE lowres (30 frames): -0.005%
      
      Change-Id: I1ccbac8ee18c77b816a6a8f500abfaa7892b21de
      6147b1b6
  6. 10 Nov, 2017 3 commits
  7. 09 Nov, 2017 1 commit
    • Rostislav Pehlivanov's avatar
      Add the q_segmentation experiment · f624dd5a
      Rostislav Pehlivanov authored
      This experiment implements low-cost delta q signalling on a per-block basis
      for all non-inter frame types, which would allow for more efficient AQ
      which bases its decisions on temporal information.
      
      Based on an Intel proposal from March.
      
      Change-Id: I18e73d8b12f4caa0b165df12c58ab506271bec03
      f624dd5a
  8. 08 Nov, 2017 1 commit
    • Thomas Daede's avatar
      Use AOM_CDF* macros instead of bare AOM_ICDF macros. · e82e5774
      Thomas Daede authored
      This will facilitate later experiments reducing the precision
      of probabilities.
      
      after_cdf_table_rewrite-3 -> before_cdf_table_rewrite-3
      
        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
      
      Change-Id: Ief01b4d7fdca075c41e9add079f7ac836dafcfbe
      e82e5774
  9. 07 Nov, 2017 1 commit
    • Joe Young's avatar
      Enable ext-intra-mod by default · 2edfc37b
      Joe Young authored
      Provisionally adopted on 2017-10-31
      
      (Also an asan warning fix + few non-functional changes)
      
      Change-Id: I2ff4f34f8b20d2eeb567f2e5b1e57b296a97be82
      2edfc37b
  10. 06 Nov, 2017 1 commit
    • Yushin Cho's avatar
      [segment] Remove coding of seg->abs_delta · d728c216
      Yushin Cho authored
      Remove the option of raw data or delta when coding the
      segment data, then only use delta coding.
      
      Raw data coding of segment data has been nowhere used but
      the option of "raw or delta codig of seg_data" has been coded to a bitstream.
      
      Change-Id: Iaf8f21692452d0c9a127b958812c6151d3c5db05
      d728c216
  11. 05 Nov, 2017 1 commit
  12. 04 Nov, 2017 1 commit
  13. 02 Nov, 2017 2 commits
    • Sebastien Alaiwan's avatar
      Remove experimental flag of EXT_TX · 3bac9928
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: I02ed47186bbc32400ee9bfadda17659d859c0ef7
      3bac9928
    • Dake He's avatar
      [level map] simplified context derivation · 03a32926
      Dake He authored
      This CL simplifies context derivation for nz and base level flags in
      level map.
      1. Reduce SIG_COEF_CONTEXTS from 58 to 42.
      2. NZ and base level flags share the same context offsets derived from a
      template of size 5 (down from 7).
      
      In limited runs, compression performance seems neutral if not better.
      Encoding time for a key frame on a local linux machine is reduced by about 25% or more.
      
      Change-Id: Ibd93b21c839154bc5ae26b993f9e66537cbf5942
      03a32926
  14. 01 Nov, 2017 5 commits
    • Sarah Parker's avatar
      Rename ZEROMV to GLOBALMV · 2b9ec2ea
      Sarah Parker authored
      This name better reflects the functionality of the mode.
      
      Change-Id: Idc2372e7c7b226f70f63fa4f272a88cb4d857089
      2b9ec2ea
    • Yue Chen's avatar
      Remove CONFIG_INTERINTRA · 670b660d
      Yue Chen authored
      Change-Id: Icbedc16b01adf9b48f0f357ec89143462865d54e
      670b660d
    • Zoe Liu's avatar
      Add decoder support to ext_skip · f704a1c8
      Zoe Liu authored
      At the frame header level, add the checking on whether an inter-coded
      frame allows the use of 'skip_mode'. At the block level, add the
      decoding of 'skip_mode' for all the blocks if 'skip_mode' is allowed
      for the current frame. If 'skip_mode' is set, no further bit needs to
      read out, and the block is set as:
      - Inter-coded in compound mode;
      - With the nearest forward and backward reference frames;
      - In NEAREST_NEARESTMV mode;
      - In SIMPLE_TRANSLATION motion mode;
      - In COMPOUND_AVERAGE compound type; and
      - Skip set for residual.
      
      Change-Id: I50297f63a81135109332c4a51b516bffd7726777
      f704a1c8
    • Jingning Han's avatar
      Reduce the context model size for base level · 819f45a3
      Jingning Han authored
      Further reduce the context model size needed for base levels down
      to 25 per transform size.
      
      Change-Id: I9df4870d2b027cdb1356de0fc4d5bcc22155319e
      819f45a3
    • Jingning Han's avatar
      Re-design base level context modeling · e775b8bc
      Jingning Han authored
      Reduce the context model size required to code the base level
      syntax values from 42 to 32 per transform size.
      
      Change-Id: I08485fdb563bc5c3323b0e147d69b47c286b9bb5
      e775b8bc
  15. 31 Oct, 2017 2 commits
  16. 30 Oct, 2017 1 commit
  17. 28 Oct, 2017 2 commits
    • Jingning Han's avatar
      Extend the eob context model · 35deaa73
      Jingning Han authored
      Account for 1-D/2-D transform kernels for the eob modeling. To
      maintain a smaller context cardinality, set the two 1-D transform
      kernels in the same category. The difference in directions should
      be largely covered by the scan order.
      
      This and the previous CLs on nz_map context modeling together
      improve the compression performance of level-map coefficient coding
      system by 0.4% for lowres.
      
      Change-Id: I8c4f03ca01ce3d248950d04bd1266f445b4227a0
      35deaa73
    • Jingning Han's avatar
      Account for rectangular transform block sizes in lv-map ctx · a24a6900
      Jingning Han authored
      Account for the rectangular transform block sizes in the non-zero
      map context model.
      
      Change-Id: I16cf21a4120c10c213df10950aeb4ef0ea40c477
      a24a6900
  18. 27 Oct, 2017 2 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
      JNT_COMP: 4. add context and entropy read/write · 0a7f2f51
      Cheng Chen authored
      Change-Id: I0e6f7ab981e31f7120105515f6204568b6dc82d3
      0a7f2f51
  19. 26 Oct, 2017 3 commits
  20. 25 Oct, 2017 1 commit
    • 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