1. 18 Jul, 2016 1 commit
    • hui su's avatar
      Extra round of subpel MV search around second best full-pixel MV · 9a470241
      hui su authored
      Keep track of the best and second best full pixel motion vector
      candidates, and do subpel search around both of them.
      
      Compression improvement:
      lowres 0.22%   midres 0.23%   hdres 0.18%
      
      No noticeable encoding speed changes observed on lowres test clips.
      
      Change-Id: I5f4df2a03d1db061cfdfdba6138b27e9ea91f089
      9a470241
  2. 14 Jul, 2016 1 commit
  3. 13 Jul, 2016 1 commit
    • hui su's avatar
      Refactor codes about motion search · 581636d7
      hui su authored
      1. Add "best_mv" in MACROBLOCK to store the best motion vector
      during motion search, so that we don't need to pass its pointer
      to various motion search functions.
      
      2. Declare some functions as static when possible.
      
      3. Fix some indents.
      
      Change-Id: I0778146c0866cbc55e245988c59222577ea8260e
      581636d7
  4. 29 Jun, 2016 1 commit
  5. 28 Jun, 2016 1 commit
    • 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
      92922be8
  6. 24 Jun, 2016 1 commit
  7. 22 Jun, 2016 1 commit
  8. 14 Jun, 2016 1 commit
  9. 10 Jun, 2016 1 commit
    • 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
      a21afd42
  10. 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
      025fa11c
  11. 31 May, 2016 2 commits
    • hui su's avatar
      Add a speed feature for inter tx type search · f523d7b5
      hui su authored
      Seperate prediction mode and tx type search for inter
      modes. Enabled for speed >=1.
      
      baseline:
      speed increase     40%
      compression drop   0.30%/0.29% on lowres/midres
      
      ext-tx:
      speed increase    160%
      compression drop  1.08%/0.95% on lowres/midres
      
      Change-Id: Ieb34b1ee80df6980d16e26a5783e08cc0deae55b
      f523d7b5
    • hui su's avatar
      Add a speed feature for intra tx type search · 38e6dd71
      hui su authored
      Add a speed feature to seperate prediction mode and tx type search
      for intra modes: search for best intra prediction mode with fixed
      default tx type first, then choose the best tx type for the
      selected mode.
      
      Coding performance drop:
      baseline
        lowres 0.10% midres 0.08% hdres 0.14%
      with ext-tx
        lowres 0.14% midres 0.25% hdres 0.20%
      
      Speed improvement is 20% for baseline and 17% for ext-tx.
      
      It is turned on for speed >= 1.
      
      Change-Id: Ia5e8d39e8a4e2e42c521bfde938f8b6a98ab24f9
      38e6dd71
  12. 19 Apr, 2016 1 commit
    • Jingning Han's avatar
      Handle zero motion vector residual · ec2ffda5
      Jingning Han authored
      This commit handles the zero motion vector residuals for single
      and compound reference modes, respectively. It improves the coding
      performance by 0.13% with no additional encoding complexity.
      
      Change-Id: I16075a836025bd2746da2ff4698fb9261e4b08c1
      ec2ffda5
  13. 18 Apr, 2016 1 commit
  14. 07 Apr, 2016 1 commit
  15. 31 Mar, 2016 1 commit
    • Geza Lore's avatar
      Rename MI_BLOCK_SIZE and MI_MASK macros. · 511da8cb
      Geza Lore authored
      Rename MI_BLOCK_SIZE.* -> MAX_MIB_SIZE.* (MIB is for MI Block).
      Rename MI_MASK.* -> MAX_MIB_MASK.*
      
      There are no functional changes.
      
      This is in preparation for coding the superblock size at the frame
      level, which will require some of these constants to become variables.
      The new names better reflect future semantics, and hence make the code
      clearer.
      
      Change-Id: Iee08d97554cf4cc16a5dc166a3ffd1ab91529992
      511da8cb
  16. 30 Mar, 2016 1 commit
    • Geza Lore's avatar
      Extend superblock size fo 128x128 pixels. · 552d5cd7
      Geza Lore authored
      If --enable-ext-partition is used at build time, the superblock size
      (sometimes also referred to as coding unit (CU) size) is extended to
      128x128 pixels.
      
      Change-Id: Ie09cec6b7e8d765b7555ff5d80974aab60803f3a
      552d5cd7
  17. 26 Mar, 2016 1 commit
  18. 18 Mar, 2016 1 commit
  19. 03 Mar, 2016 1 commit
  20. 23 Feb, 2016 1 commit
    • Yue Chen's avatar
      Optimizing obmc rd decision by checking the real rd cost · a614262e
      Yue Chen authored
      Instead of using model_rd_for_sb() to estimate the cost and make the
      decision on bmc/obmc, we use super_block_yrd/uvrd() to calculate and
      compare the real rd costs of bmc and obmc.
      
      Average bit-rate reduction(%) of obmc experiment:
      derflr/derfhd/hevcmr/hevchd
      2.353/TBD/TBD/TBD
      Before the optimization, the coding gain was:
      1.582/1.109/1.600/1.164
      
      Note: there is still some mysterious bug because that compared to
      the previous version, the performance at low bit rate drops a lot.
      
      Change-Id: I8dbee04a272190f10516a3953c1ae690f8136766
      a614262e
  21. 22 Feb, 2016 1 commit
    • Jingning Han's avatar
      Unify motion vector cost system · fec59886
      Jingning Han authored
      This commit unifies the motion vector cost buffers for full pixel
      and sub-pixel motion search. The new motion vector coding system
      provides 0.5% coding gains for 720p and above sequences and 0.2%
      for lower resolution sets.
      
      Change-Id: I927ec81eadc39d11a3c12b375221a1ddd2e8bf24
      fec59886
  22. 20 Feb, 2016 1 commit
  23. 11 Feb, 2016 1 commit
    • Alex Converse's avatar
      Port switch to 9-bit rate cost to vp10. · b3ad8128
      Alex Converse authored
      Brings the following commits to vp10:
      269428e3 Tie the bit cost scale to a define.
      d13385ce Switch to 9-bit rate cost constants built on a 256 probability denominator.
      ad43a738 Fix a signed overflow in vp9 motion cost.
      1c9b0918 Fix some interger overflow errors
      fac947df Restore previous motion search bit-error scale.
      
      Change-Id: I598ba7ee7efcde18439c31dfa96b86cbf297a580
      b3ad8128
  24. 22 Jan, 2016 1 commit
    • Yue Chen's avatar
      Adding new compound modes to EXT_INTER experiment · 968bbc7b
      Yue Chen authored
      Combinations of different mv modes for two reference frames
      are allowed in compound inter modes. 9 options are enabled,
      including NEAREST_NEARESTMV, NEAREST_NEARMV, NEAR_NEARESTMV,
      NEAREST_NEWMV, NEW_NEARESTMV, NEAR_NEWMV, NEW_NEARMV, ZERO_ZEROMV,
      and NEW_NEWMV.
      This experiment is mostly deported from the nextgen branch.
      It is made compatible with other experiments
      
      Coding gain of EXT_INTER(derflr/hevcmr/hevchd): 0.533%/0.728%/0.639%
      
      Change-Id: Id47e97284e6481b186870afbad33204b7a33dbb0
      968bbc7b
  25. 12 Jan, 2016 1 commit
    • Jingning Han's avatar
      Generate compound reference motion vector · 33cc1bd2
      Jingning Han authored
      This commit allows the codec to add motion vector pairs into
      the candidate list. It further improves the compression performance
      by 0.1% across derf, hevcmr, stdhd, and hevchr sets without adding
      encode/decode time.
      
      Change-Id: I88d36da25a2a89bb506d411844af667081eba98b
      33cc1bd2
  26. 10 Dec, 2015 1 commit
    • Jingning Han's avatar
      Enable adaptive prediction mode coding · aa5d53eb
      Jingning Han authored
      This commit allows the codec to analyze the reference motion vector
      candidate list and adaptively reduce the size of inter prediction
      mode set.
      
      Change-Id: Ied6a403843b860d66f26ed485c1825c05c71bdfc
      aa5d53eb
  27. 08 Dec, 2015 2 commits
    • paulwilkins's avatar
      Changes to exhaustive motion search. · 4e692bbe
      paulwilkins authored
      This change has been imported from VP9 and
      alters the nature and use of exhaustive motion search.
      
      Firstly any exhaustive search is preceded by a normal step search.
      The exhaustive search is only carried out if the distortion resulting
      from the step search is above a threshold value.
      
      Secondly the simple +/- 64 exhaustive search is replaced by a
      multi stage mesh based search where each stage has a range
      and step/interval size. Subsequent stages use the best position from
      the previous stage as the center of the search but use a reduced range
      and interval size.
      
      For example:
        stage 1: Range +/- 64 interval 4
        stage 2: Range +/- 32 interval 2
        stage 3: Range +/- 15 interval 1
      
      This process, especially when it follows on from a normal step
      search, has shown itself to be almost as effective as a full range
      exhaustive search with step 1 but greatly lowers the computational
      complexity such that it can be used in some cases for speeds 0-2.
      
      This patch also removes a double exhaustive search for sub 8x8 blocks
      which also contained  a bug (the two searches used different distortion
      metrics).
      
      For best quality in my test animation sequence this patch has almost
      no impact on quality but improves encode speed by more than 5X.
      
      Restricted use in good quality speeds 0-2 yields significant quality gains
      on the animation test of 0.2 - 0.5 db with only a small impact on encode
      speed. On most natural video clips, however, where the step search
      is performing well, the quality gain and speed impact are small.
      
      Change-Id: Iac24152ae239f42a246f39ee5f00fe62d193cb98
      4e692bbe
    • hui su's avatar
      Bring palette back to nextgenv2 · c93e5cc3
      hui su authored
      It was removed by the master branch merge.
      
      Change-Id: I4b2a524c9e052e41063359afcb4ba22bf78344cf
      c93e5cc3
  28. 03 Dec, 2015 2 commits
    • Angie Chiang's avatar
      Refactor vp10_xform_quant · 88cae8b4
      Angie Chiang authored
      1) Add facade to quantize b/fp/dc version so that their interface
         are the same.
      2) Merge vp10_xform_quant b/fp/dc version to one function so that
         the code flow in encodemb.c is clear
      
      Change-Id: Ib62d6215438fc2d07f4e7e72393f964832d6746f
      88cae8b4
    • hui su's avatar
      Remove palette from VP10 · 5d3327e8
      hui su authored
      Store it in nextgenv2 for now.
      
      Change-Id: Iab0af0e15246758e3b6e8bde4a74b13c410576fc
      5d3327e8
  29. 25 Nov, 2015 1 commit
  30. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  31. 30 Oct, 2015 1 commit
  32. 12 Oct, 2015 1 commit
    • hui su's avatar
      VP10: Add palette mode part 1 · 5d011cb2
      hui su authored
      Add palette mode for keyframe luma channel. Palette mode is enabled
      when using "--tune-content=screen" in encoding config parameters.
      
      on screen_content testset:  +6.89%
      on derlr                 :  +0.00%
      
      Design doc (WIP):
      https://goo.gl/lD4yJw
      
      Change-Id: Ib368b216bfd3ea21c6c27436934ad87afdaa6f88
      5d011cb2
  33. 29 Sep, 2015 1 commit
    • Yaowu Xu's avatar
      Merged branch 'master' into nextgenv2 · 7c514e2d
      Yaowu Xu authored
      Resolved Conflicts in the following files:
              configure
              vp10/common/idct.c
              vp10/encoder/dct.c
              vp10/encoder/encodemb.c
              vp10/encoder/rdopt.c
      
      Change-Id: I4cb3986b0b80de65c722ca29d53a0a57f5a94316
      7c514e2d
  34. 25 Sep, 2015 2 commits
  35. 17 Sep, 2015 1 commit
    • Jingning Han's avatar
      Refactor mbmi_ext structure · c3bf8375
      Jingning Han authored
      This commit removes mbmi_ext_base pointer from MACROBLOCK struct.
      Its use case can be fully covered by cpi->mbmi_ext_base pointer.
      
      Change-Id: I155351609336cf5b6145ed13c21b105052727f30
      c3bf8375
  36. 10 Sep, 2015 1 commit