1. 21 Feb, 2018 1 commit
    • Sebastien Alaiwan's avatar
      Remove experimental flag of LV_MAP · cad5ebce
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: Ic3438799335c6cd05f170302f49bd47e1f705c24
      cad5ebce
  2. 20 Feb, 2018 1 commit
  3. 17 Feb, 2018 1 commit
    • Zoe Liu's avatar
      [NORMATIVE] Unify context design for single ref · 3b353474
      Zoe Liu authored
      The CL makes the context design for single reference frame coding the
      same as that for the compound reference frame coding. There are 3
      contexts designed for each of the binary symbols for the single
      reference frame scenario, and the designed contexts simply rely on the
      counts of the references used in the neighboring two blocks.
      
      Once this CL is merged, the coding of the reference frames, regardless
      of single prediction or compound prediction, will all follow the same
      context design pattern for all the binary symbols. The design logic is
      much simpler and the lines of code for each binary symbol context
      identification are reduced by 80%.
      
      Further, this CL has obtained a small coding gain for 30 frames with
      the default coding tools:
      
      lowres: avg_psnr -0.015%; ovr_psnr -0.021%; ssim -0.002%
      midres: avg_psnr -0.108%; ovr_psnr -0.139%; ssim -0.135%
      
      BUG=aomedia:1402
      BUG=aomedia:973
      
      Change-Id: Ia72a1d18e85ac3a05308675b60b95f80f2219c46
      3b353474
  4. 15 Feb, 2018 2 commits
    • Jingning Han's avatar
      Reduce blk_skip array size · ca3f0395
      Jingning Han authored
      Reduce the blk_skip array size to the maximum txb numbers in a
      coding block. This makes the speed 1 about 5% faster for smaller
      resolution clips.
      
      Change-Id: I1812dc4d403e08f0566ead8a14c6046e505bb849
      ca3f0395
    • Yaowu Xu's avatar
      Remove CONFIG_TX64X64 · d3d4159f
      Yaowu Xu authored
      The experiment is fully adopted.
      
      Change-Id: I6cc80a2acf0c93c13b0e36e6f4a2378fe5ce33c3
      d3d4159f
  5. 12 Feb, 2018 1 commit
    • Zoe Liu's avatar
      [NORMATIVE] Unify comp ref context design · 4917295b
      Zoe Liu authored
      This patch uses the neighboring ref counts to design the contexts
      for the coding of the first reference frame of a reference pair for
      the compound prediction. This aligns the context design with that
      for the second reference frame of a reference pair for the
      compound prediction.
      
      The new designed contexts are much simpler than that in the baseline.
      The number of contexts for each binary symbol is reduced from 5 to
      3. Further, the logic for each context only depends on the collected
      neighboring ref counts, which is straightforward to derive.
      
      The default CDFs for the first reference frame coding have been
      updated using aom_entropy_optimizer.
      
      Experimental results demonstrate a small coding gain for Google test
      sets of both lowres and midres, with 30 frames coded for the default
      coding tool setup:
      
      lowres: avg_psnr -0.077%; ovr_psnr -0.076%; ssim -0.106%
      midres: avg_psnr -0.059%; ovr_psnr -0.066%; ssim -0.037%
      
      BUG=aomedia:1356
      
      Change-Id: I781abbe4616dc3f3a7213ec663946ff9844eb830
      4917295b
  6. 10 Feb, 2018 1 commit
  7. 08 Feb, 2018 1 commit
    • Hui Su's avatar
      Add a speed feature for fast tx size search · 950b9127
      Hui Su authored
      Search for tx size using only DCT and 1D DCT first; then do an
      additional round of tx type search with tx sizes already decided.
      
      If enabled on speed 1, quality drop is 0.2% on lowres and midres;
      average encoding speed up 20% (15~30% depending on sequences).
      
      Currently enabled for speed >= 2.
      
      Change-Id: I62526a501ab4db54c91d2bc506dadf9fc141bd03
      950b9127
  8. 06 Feb, 2018 1 commit
    • Zoe Liu's avatar
      Reduce unneeded memory allocation · fa29b28a
      Zoe Liu authored
      For the coding of compound backward refs, this patch aligns the
      allocated memory with the actual number of contexts designed.
      
      Change-Id: Ib387d411b1f154fb3eb4656558078c54016cb9c1
      fa29b28a
  9. 03 Feb, 2018 1 commit
    • Jingning Han's avatar
      Rework hash map for txk-sel · 73bc2aa3
      Jingning Han authored
      The txk-sel allows each transform block to select its own
      transform kernel. Such locality enables one to store the selected
      RD cost including tx_type selection per transform block size.
      It reduces the needed hash map size to 1 / 16 of what is needed
      without txk-sel.
      
      This commit re-works the hash map RD cost fetch for txk-sel. Tested
      on red_kayak_480p in speed 1, enabling txk-sel makes the encoding
      speed 12% faster than the baseline without txk-sel on. Further
      enabling reduced hash map size gains speed 1 another 10%.
      
      Change-Id: I4a5d99d27e2a76b10e76c00a8178f692c95fdf13
      73bc2aa3
  10. 02 Feb, 2018 1 commit
    • Hui Su's avatar
      Reduce memory usage of inter_tx_size[] in MB_MODE_INFO · 7167d952
      Hui Su authored
      Reduce the length of inter_tx_size[] from 1024 to 16.
      
      On a cif test sequence,
      encoder memory consumption decreases by 18% (380MB -> 312MB);
      decoder memory consumption decreases by 56% (21.4MB -> 9.4MB).
      
      Change-Id: I42928eb9312748f96f4393c8d8040791f38f98b6
      7167d952
  11. 01 Feb, 2018 3 commits
    • Jonathan Matthews's avatar
      Revert "Reduce memory usage of inter_tx_size[] in MB_MODE_INFO" · 1fa9ba4c
      Jonathan Matthews authored
      This reverts Change-Id: Ie11dd055255d200954b704b8c2ad8ca3dff7bf5c
      
      BUG=aomedia:1305
      
      Change-Id: I6894928dcadc99a79417034a7096a215693a46f2
      1fa9ba4c
    • Jingning Han's avatar
      Enable 2-pass coding block partition search · 4489c267
      Jingning Han authored
      Obtain the most likely partition range from a first pass square
      block base partition search. Use the constrained partition search
      region for full rate-distortion optimization search in the second
      pass.
      
      Tested on pedestrian 1080p at 2000 kbps, it makes the encoding
      speed 40% faster for speed 0 and 30% faster for speed 1. The
      average coding performance loss is around 0.15%.
      
      Change-Id: Ifc83d48e6413d1b887e68cd1962084e018a2258f
      4489c267
    • Jingning Han's avatar
      Add partition search speed feature · c58ccc31
      Jingning Han authored
      Use simple rate-distortion search route for the first pass coding
      block partition.
      
      Change-Id: Iaaec3e1af83f46f625d3de8361eddd79a2bc6cef
      c58ccc31
  12. 31 Jan, 2018 1 commit
    • Hui Su's avatar
      Reduce memory usage of inter_tx_size[] in MB_MODE_INFO · 1379beb7
      Hui Su authored
      Reduce the length of inter_tx_size[] from 1024 to 16.
      
      On a cif test sequence,
      encoder memory consumption decreases by 18% (380MB -> 312MB);
      decoder memory consumption decreases by 56% (21.4MB -> 9.4MB).
      
      Change-Id: Ie11dd055255d200954b704b8c2ad8ca3dff7bf5c
      1379beb7
  13. 30 Jan, 2018 1 commit
    • Hui Su's avatar
      Move the tx pruning flags into MACROBLOCK · 6bbd9321
      Hui Su authored
      So they can be generated at prediction block, and then easily
      accessed by transform block.
      
      Change-Id: I376042e8d57e00586d3cf90e237544e705b77e8b
      6bbd9321
  14. 25 Jan, 2018 1 commit
  15. 24 Jan, 2018 1 commit
    • Jingning Han's avatar
      Support rd model in txk sel search · dd8600f5
      Jingning Han authored
      Make the per transform block kernel selection process unified with
      the rate distortion model used in preliminary mode search. This
      makes the txk-sel model search space same as baseline.
      
      Change-Id: I82a2d94e88a03c88154582575ced500197f8a409
      dd8600f5
  16. 19 Jan, 2018 1 commit
  17. 18 Jan, 2018 1 commit
  18. 16 Jan, 2018 1 commit
    • David Michael Barr's avatar
      [CFL] separate uv_mode CDFs, split on is_cfl_allowed · cb3a8ef5
      David Michael Barr authored
      This is to exclude coding CFL for block sizes where it is normatively
      not allowed.
      
      Reuse the alternate CDFs from the --disable-cfl path.
      
      This yields some improvement on subset1:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0113 | -0.2630 | -0.2138 |   0.0021 | -0.0110 | -0.0157 |    -0.0511
      
      BUG=aomedia:1182
      
      Change-Id: I1e5f23ef7f2debcf8edce788bfa63ec95db4a679
      cb3a8ef5
  19. 11 Jan, 2018 1 commit
  20. 06 Jan, 2018 3 commits
  21. 04 Jan, 2018 3 commits
  22. 31 Dec, 2017 1 commit
    • Dake He's avatar
      [lv_map_multi] multisymbol coding of eob · 0db7d0eb
      Dake He authored
      1. code the range of eob in a transform block as a single symbol.
      2. initialize cdfs directly.
      3. initial cdfs are trained by using laplace prob estimates as in base
      level coding (CL 38638)
      
      Change-Id: I65c88d6dd0da3381feeec837928ac5bd81be4296
      0db7d0eb
  23. 29 Dec, 2017 1 commit
    • Dake He's avatar
      [lv_map_multi] base level coding · 4d447696
      Dake He authored
      1. Train and init cdfs directly.
      2. Use laplace prob estimates in aom_entropy_optimizer to avoid zero
      probabilities.
      
      Change-Id: I878fc0a306cbffe3eb51c5b86d5872459b6705c5
      4d447696
  24. 24 Dec, 2017 1 commit
  25. 21 Dec, 2017 1 commit
    • Hui Su's avatar
      Palette: modify the context slightly · c1f411bc
      Hui Su authored
      Use the number of pixels in a block as context, rather than the bsize
      itself. The rectangular blocks therefore share the same context, e.g.
      BLOCK_8X16 and BLOCK_16X8.
      
      The number of contexts is reduced from 10 to 7.
      Almost no coding performance changes.
      
      Change-Id: Ib3241194580c2b93ad0e953957cdc9188393d055
      c1f411bc
  26. 20 Dec, 2017 2 commits
  27. 16 Dec, 2017 1 commit
    • 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
  28. 13 Dec, 2017 1 commit
    • Jingning Han's avatar
      Properly update the lv-map context in the RD loop · d7e99113
      Jingning Han authored
      Account for the txb_optimize effect on level map context modeling
      in the transform block rate distortion optimization search.
      Properly update such information in the txb hash rd cost.
      
      BUG=aomedia:1118
      
      Change-Id: I16cf80c57fa37929f94291a7500d84f9e0778400
      d7e99113
  29. 11 Dec, 2017 1 commit
  30. 10 Dec, 2017 2 commits
    • Yushin Cho's avatar
      [dist-8x8] Fix for other chroma formats than 4:2:0 · ecab98b5
      Yushin Cho authored
      Instead of applying different offsets for each of quadri-split, horizontal split,
      vertical split, store the start addresses of src and dst 8x8 blocks in each of
      YUV palnes then pass it to distortion compute function for dist-8x8, dist_8x8_yuv().
      
      Also, don't save decoded pixels for 8x8 block in additinal buffer but directly
      access the xd->dst buffer. Thus removed the decoded-8x8[8x8] buffer in struct macroblock.
      
      However, this patch does NOT fix the case where dist-8x8's assert fails with
      CfL enabled.
      
      Fix part of issue (i.e. 4:4:4 chroma iput) in
      BUG=aomedia:1094
      
      Change-Id: I6399d0eef3e17cacc9ec6467480a7959c85d419b
      ecab98b5
    • Hui Su's avatar
      TX block hash: record the eob value · 8c2b913b
      Hui Su authored
      BUG=aomedia:1093
      
      Change-Id: I0871c67d9a2ddc6aa9d3084f645305f6b74a999f
      8c2b913b
  31. 05 Dec, 2017 1 commit
    • 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