1. 05 Sep, 2016 1 commit
    • Debargha Mukherjee's avatar
      Enable rectangular transforms for UV · 2f12340f
      Debargha Mukherjee authored
      Uses an array to map block sizes, y tx sizes, and subsampling
      factors to various transform sizes for UV.
      Results improve by 0.1-0.2%
      Change-Id: Icb58fd96bc7c01a72cbf1332fe2be4d55a0feedc
  2. 02 Sep, 2016 1 commit
  3. 01 Sep, 2016 2 commits
  4. 23 Aug, 2016 1 commit
  5. 22 Aug, 2016 1 commit
  6. 16 Aug, 2016 1 commit
    • Yaowu Xu's avatar
      Port commits related to clpf and qm experiments · 0818a7c8
      Yaowu Xu authored
      Manually cherry-picked following commits from AOMedia git repository:
      bb2727c2 Sort includess for "clpf.h"
      c297fd00 Add quantisation matrix range parameters.
      0527894f Add encoder option and signaling for quant matrix control.
      4106232b Turn off trellis coding for quantization matrices.
      4017fca3 Modify tests to allow quantization matrices.
      1c122c24 Add quant and dequant functions for new quant matrices.
      95a89994 Enable CLPF
      f72782bb Fix a build issue
      73bae509 Add quantisation matrices and selection functions
      33208d20 Added support for constrained low pass filter (CLPF)
      Change-Id: I60fc1ee1ac40e6b9d1d00affd97547ee5d5dd6be
  7. 12 Aug, 2016 2 commits
  8. 11 Aug, 2016 1 commit
  9. 21 Jul, 2016 1 commit
    • Debargha Mukherjee's avatar
      Rectangular transforms 4x8 & 8x4 · e5848dea
      Debargha Mukherjee authored
      Added a new expt rect-tx to be used in conjunction with ext-tx.
      [rect-tx is a temporary config flag and will eventually be
      merged into ext-tx once it works correctly with all other
      Added 4x8 and 8x4 tranforms for use initially with rectangular
      sub8x8 y blocks as part of this experiment.
      There is about a -0.2% BDRATE improvement on lowres, others pending.
      When var-tx is on rectangular transforms are currently not used.
      That will be enabled in a subsequent patch.
      Change-Id: Iaf3f88ede2740ffe6a0ffb1ef5fc01a16cd0283a
  10. 18 Jul, 2016 1 commit
  11. 14 Jul, 2016 1 commit
  12. 08 Jul, 2016 1 commit
    • Geza Lore's avatar
      Add a few branch hints to vp10_optimize_b. · 0b9b3d86
      Geza Lore authored
      vp10_optimize_b now takes between 40% to 60% of the TOTAL runtime
      of the encoder, depending on bit-rate. It also contains 2/3 to 3/4
      of the mispredicted branch instructions in the whole program.
      Adding a few branch hints makes vp10_optimize_b around 2-5% faster
      (dependig on bit-rate) when compiled with gcc/clang.
      Change-Id: I1572733e18b4166bc10591b958c5018a9561fa2b
  13. 07 Jul, 2016 2 commits
  14. 29 Jun, 2016 1 commit
  15. 28 Jun, 2016 2 commits
    • Geza Lore's avatar
      Remove skip_txfm optimization. · 92922be8
      Geza Lore authored
      Commit 0d6980d7 removed some use
      of the skip_txfm optimization, and the rest are not productive.
      The current use of this optimization is only used with --good
      and --cpu-used >= 3, however the overhead of this is higher than the
      speedup it yields.
      Removing this, and subsequently simplifying model_rd_for_sb yields
      a net encoder speedup:
      --cpu-used=0    ~1.5% faster
      --cpu-used=3    ~2.0% faster
      The code simplification is also significant.
      Change-Id: I1dd668c32de15a2e912c59c42379d0f9e1032ff8
    • Debargha Mukherjee's avatar
      Quantization fix for new-quant/var-tx · f3dfa0c3
      Debargha Mukherjee authored
      Also use the fp quantizer consistently
      lowres: -0.07 BDRATE improvement
      Change-Id: I9174f6ad54a74d38541004b99cb3689d0c09be55
  16. 27 Jun, 2016 1 commit
  17. 24 Jun, 2016 1 commit
  18. 23 Jun, 2016 1 commit
  19. 22 Jun, 2016 1 commit
  20. 21 Jun, 2016 2 commits
  21. 20 Jun, 2016 1 commit
    • Jingning Han's avatar
      Handle two identical states in the trellis chain · 5223a4b4
      Jingning Han authored
      When the next two states are identical, skip repeated cost table
      fetch and multiplication operations. This makes the trellis unit
      about 5% faster.
      Change-Id: I0dbf7ad0a5732044e4e45dd59e9431a251c678f2
  22. 17 Jun, 2016 2 commits
  23. 16 Jun, 2016 2 commits
  24. 15 Jun, 2016 1 commit
    • Jingning Han's avatar
      Refactor trellis optimization process · e9c44a76
      Jingning Han authored
      This commit refactors the trellis coefficient optimization process.
      It saves multiplications used to generate the final dequantized
      coefficients. It also removes two memset operations on quantized
      and dequantized coefficient sets.
      The trellis coefficient optimization is on average running over
      10% faster.
      Change-Id: If3aa26d2a706c3012bf2b7ac059bf1825250e81f
  25. 14 Jun, 2016 1 commit
    • Jingning Han's avatar
      Rework transform quantization pipeline · 1faf2887
      Jingning Han authored
      This commit reworks the transform and quantization unit. It enables
      the use of adaptive quantization for intra modes. This further
      improves the compression performance:
      lowres 0.36%
      midres 0.79%
      hdres  0.73%
      The key frame coding performance is improved:
      lowres 1.7%
      midres 1.9%
      hdres  3.3%
      The overall coding gains are:
      lowres 1.1%
      midres 1.8%
      hdres  2.3%
      Change-Id: Iaec1a3a4c1d5eac883ab526ed076d957060479dd
  26. 13 Jun, 2016 1 commit
  27. 10 Jun, 2016 2 commits
    • Jingning Han's avatar
      Trellis based adaptive quantization · 25ca3229
      Jingning Han authored
      This commit combines uniform quantizer with trellis based coefficient
      level optimization. It improves the codebase compression performance:
      lowres 0.8%
      midres 1.0%
      hdres  1.6%
      Note that the current trellis optimization unit is using C code. This
      will make the cost of the overall quantization process slower. A number
      of optimizations will come up next.
      Change-Id: Id441dd238e4844409d0f08f82604be777f3f5282
    • Sarah Parker's avatar
      Move new quant experiment from nextgen · a21afd42
      Sarah Parker authored
      This experiment implements non-uniform quantization where
      the width of the bins increases gradually to more closely
      match a laplacian distribution of the coeficcients.
      Performance Gain:
      derflr: 0.15%
      hevcmr: 0.675%
      Change-Id: I25234244e3bcd94b87c1f77cf682190b61c8ef94
  28. 08 Jun, 2016 1 commit
    • Jingning Han's avatar
      Take out skip_recode speed feature · 025fa11c
      Jingning Han authored
      The assumption doesn't hold true in the current codebase. Remove
      this speed feature to simplify the codebase.
      Change-Id: I9b69f484c9b7cd612b825047cc5b2fce63ee0af7
  29. 04 May, 2016 2 commits
    • Yaowu Xu's avatar
      Change to use proper type in vp{9,10}_token_state · 81eb71f0
      Yaowu Xu authored
      "qc" in vp{9,10}_token_state is used to save quantized coefficients, this
      commit changes the type from short to tran_low_t to properly reflect
      the value range for highbitdepth build.
      This fixes an out-of-range bug when optimize_b is used in highbitdepth
      Change-Id: Ibf330879e6ac6ae8f099e085caa9d3d9a889fde8
    • Yaowu Xu's avatar
      Change to use proper type in vp10_token_state · 0d7dc0ca
      Yaowu Xu authored
      "qc" in vp10_token_state is used to save quantized coefficients, this
      commit changes the type from short to tran_low_t to properly reflect
      the value range for highbitdepth build.
      This fixes an out-of-range bug when optimize_b is used in highbitdepth
      Change-Id: I914c6fd3d3f4b9d061f9ed7cc5f08a883ab59dcd
  30. 21 Apr, 2016 1 commit
  31. 19 Apr, 2016 1 commit
    • hui su's avatar
      Adjust optimize_b RD parameters · ad59b08f
      hui su authored
      Coding gain:
      lowres  0.44%
      midres  0.24%
      hdres   0.32%
      Change-Id: Ie558203b2b2bf5c16cd49b114df3d696c4f35049