1. 17 Nov, 2017 2 commits
    • 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
    • Linfeng Zhang's avatar
      Add av1_get_br_level_counts_sse2() · ae7b2f3a
      Linfeng Zhang authored
      Change-Id: I6ce7aea19e3bdeef24d3fe66ac6eba7b8d585f9a
      ae7b2f3a
  2. 14 Nov, 2017 2 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
  3. 09 Nov, 2017 5 commits
  4. 08 Nov, 2017 2 commits
  5. 07 Nov, 2017 1 commit
  6. 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
  7. 01 Nov, 2017 3 commits
  8. 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
  9. 26 Oct, 2017 2 commits
  10. 25 Oct, 2017 1 commit
  11. 24 Oct, 2017 2 commits
    • Linfeng Zhang's avatar
      Add 'const' to static tables to fix some warnings · 4afda450
      Linfeng Zhang authored
      Change-Id: I8604a1f644302f5e6249b89c96550e1d5715188f
      warning: assignment from incompatible pointer type
      4afda450
    • Dake He's avatar
      [eob first] code eob first · a47cd6c0
      Dake He authored
      This commit makes the following changes to level-map coding
      	1. Encode and decode eob position first
      	2. Context derivation for non-zero flags
      	3. Single pass in optimize-txb
      
      lowres 0.33% gain
      
      Change-Id: Ia2b6cfd70425f49ac021454d42d5950bfcfab50a
      a47cd6c0
  12. 23 Oct, 2017 1 commit
    • Linfeng Zhang's avatar
      Clean av1_read_coeffs_txb() · 72e0b3fa
      Linfeng Zhang authored
      Let read_nz_map() etc. output to uint8_t*.
      
      Temporarily introduced coeff_is_byte_flag as an argument of
      get_nz_count() and get_nz_map_ctx() to handle different types of input
      coefficients. It helps to not duplicate too many functions.
      If possible, unify types to uint8_t* later.
      
      Change-Id: Idbbe67b7ec563f8c9299daa0fa7d05e15c8295e6
      72e0b3fa
  13. 18 Oct, 2017 2 commits
    • Linfeng Zhang's avatar
      Clean get_eob_ctx() · 7f7e89f9
      Linfeng Zhang authored
      Remove the unused argument.
      
      Change-Id: I4b7936e6c12a9d0a54c9d1cc281f96ec623e5cd8
      7f7e89f9
    • Linfeng Zhang's avatar
      Update txb context calculation code · ce065ca3
      Linfeng Zhang authored
      Split coefficients into signs (0 or 1) and levels (0 to 255),
      so that they both can be fit in 1-byte.
      
      Change-Id: I0f486368b7b819a77aaddda4710e83189e53fc55
      ce065ca3
  14. 10 Oct, 2017 2 commits
    • Angie Chiang's avatar
      Add REDUCE_CONTEXT_DEPENDENCY flag · 4408aad9
      Angie Chiang authored
      This is flag will allow us to calculate the context indexes of
      any two consecutive non-zero binaries in parallel
      
      Moreover, we can set MIN_SCAN_IDX_REDUCE_CONTEXT_DEPENDENCY to X,
      which let first X coefficients be immune from the context
      dependency reduction act
      
      Change-Id: I75b71452996161ba06ec449021c7dea8e3899800
      4408aad9
    • Angie Chiang's avatar
      Pass scan_idx and scan into get_nz_map_ctx · f9711f88
      Angie Chiang authored
      This aims at facilitate the experiment about reduce context
      dependency
      
      Change-Id: I3d026bda1118cf613001efa32deed62997d5e3bb
      f9711f88
  15. 28 Sep, 2017 1 commit
  16. 24 Sep, 2017 1 commit
  17. 10 Sep, 2017 1 commit
    • Jingning Han's avatar
      Rework base range entropy coding in level map system · 87b01b5a
      Jingning Han authored
      Replace the truncated geometric distribution model with the grouped
      leaves structure for more efficient probability modeling.
      Each group has its own Geometric distribution
      
      This give us 0.2% gain on lowres
      
      Change-Id: If5c73dd429bd5183a8aa81042f8f56937b1d8a6a
      87b01b5a
  18. 31 Aug, 2017 2 commits
    • Yaowu Xu's avatar
      avoid operation on invalid ref_row · fc377967
      Yaowu Xu authored
      BUG=aomedia:718
      
      Change-Id: Ib3fc5e83dd915d6869ee2d7e0bf40427111c6499
      fc377967
    • Angie Chiang's avatar
      Use 7 neighbors for nz_map ctx · 2b38deff
      Angie Chiang authored
      This will let coding performance drop slightly
      lowres 0.093%
      
      Increase encoder speed by 24%
      
      Reduce nz_map's context size by 20%
      
      Change-Id: I871c18a7e0341e066afc334556b9998194b3f8c9
      2b38deff
  19. 23 Aug, 2017 4 commits
  20. 22 Aug, 2017 1 commit
  21. 21 Aug, 2017 1 commit