1. 09 Mar, 2016 1 commit
  2. 03 Mar, 2016 1 commit
  3. 26 Feb, 2016 2 commits
    • Debargha Mukherjee's avatar
      Some refactoring and cleanups of interp filter · bab2912b
      Debargha Mukherjee authored
      Includes various cosmetic changes and refactoring including
      naming the sharp filters differently (since they are no longer
      8-tap).
      
      Change-Id: Ida5a19ca0daa9f6a64a6734394c685b2a4a2564a
      bab2912b
    • Geza Lore's avatar
      Port interintra experiment from nextgen. · 7ded038a
      Geza Lore authored
      The interintra experiment, which combines an inter prediction and an
      inter prediction have been ported from the nextgen branch. The
      experiment is merged into ext_inter, so there is no separate configure
      option to enable it.
      
      Change-Id: I0cc20cefd29e9b77ab7bbbb709abc11512320325
      7ded038a
  4. 23 Feb, 2016 2 commits
    • 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
    • Geza Lore's avatar
      Experiment to use image domain dist in baseline. · 3c4b56c4
      Geza Lore authored
      Change-Id: Ib29f510289716b5ab5c7d74d32a450c190308a83
      3c4b56c4
  5. 16 Feb, 2016 1 commit
  6. 12 Feb, 2016 3 commits
    • Yue Chen's avatar
      Overlapped block motion compensation experiment · d1cad9c3
      Yue Chen authored
      In this experiment, an obmc inter prediction mode is enabled for
      >= 8X8 inter blocks. When the obmc flag is on, the regular block-
      based motion compensation will be refined by using predictors of
      the above and left blocks.
      Fixed some compatibility issues with vp9_highbitdepth, supertx,
      ref_mv, and ext_interp.
      
      Coding gain (%) on derflr/hevcmr/hevchd
      OBMC:
      1.047/1.022/0.708
      OBMC + SUPERTX:
      1.652/1.616/1.137
      SUPERTX:
      0.862/0.779/0.630
      
      Change-Id: I5d8d3c4729c6d3ccb03ec7034563107893103b7f
      d1cad9c3
    • Geza Lore's avatar
      Further supertx costing fixes. · 59900396
      Geza Lore authored
      Change-Id: I85897168c7fda3fd79daaba985b6607fd7df476b
      59900396
    • Jingning Han's avatar
      Refactor vp10_drl_idx concept · a39e83d7
      Jingning Han authored
      Remove the implicit assumption on offsetting the index by 1.
      
      Change-Id: I6f1d391e067d57b7e45b9287e866014dbc16da71
      a39e83d7
  7. 11 Feb, 2016 2 commits
  8. 10 Feb, 2016 2 commits
    • Jingning Han's avatar
      Resolve conflict between var-tx and super-tx · 4c6c82a2
      Jingning Han authored
      This commit aligns the rate-distortion metric for the recursive
      transform block partitioning and the super transform. It resolves
      the conflicts between these two experiments. The coding performance
      gains of the combined experiments (var-tx + super-tx) has been
      improved:
      
      derf   0.89%  ->  1.9%
      hevcmr 1.06%  ->  1.8%
      stdhd  0.29%  ->  1.4%
      hevchr 0.80%  ->  2.3%
      
      Change-Id: I7e33994ad70c1b2751435620815f867d82172f41
      4c6c82a2
    • Jingning Han's avatar
      Replace arbitrary number with defs · 6d5d4395
      Jingning Han authored
      Change-Id: Ia5a68f26c67d13d3f2dd3b3f8afabb781e2c8f73
      6d5d4395
  9. 09 Feb, 2016 2 commits
    • Geza Lore's avatar
      Fix partition type costing. · 4ac67274
      Geza Lore authored
      This patch makes rd optimization use the same context for computing
      the rate cost of coding the partitioning as the packer actually uses
      when emitting it in write_modes_sb.
      
      Change-Id: Idb1427bb2f9c37ab80c6aa182f7ff754ef0595cb
      4ac67274
    • Jingning Han's avatar
      Entropy coding for dynamic ref mv modes · 4958987b
      Jingning Han authored
      This commit enables entropy coding for dynamic reference motion
      vector modes. The probability model is contexted on the ranking
      categories of the reference motion vector candidates.
      
      Change-Id: I09b58d98a409d63ec1a407331e29f8945b7ef17d
      4958987b
  10. 05 Feb, 2016 1 commit
  11. 04 Feb, 2016 1 commit
  12. 03 Feb, 2016 2 commits
  13. 29 Jan, 2016 1 commit
    • Yue Chen's avatar
      Fixing a issue of calculating tx cost for SUPERTX+VAR_TX · 11af20db
      Yue Chen authored
      Update blk_skip in update_state_supertx() and rd_supertx_sb().
      Performance (SUPERTX+VAR_TX): TBD
      (Eventually will merge update_state() and update_state_supertx())
      
      Change-Id: I34ef982b80151ba2dfba745859cb2ca7b90dc888
      11af20db
  14. 27 Jan, 2016 1 commit
    • Debargha Mukherjee's avatar
      Fixes ext-interp experiment · eef57c1e
      Debargha Mukherjee authored
      Fixes integer pel MV usage for the sub8x8 case, which fixes a
      rare mismatch issue.
      
      Also adds some other minor missing code related to filter threshes.
      
      Change-Id: I6b07e6cf9b287ba4b5bd6599af4a7412e50b3bdc
      eef57c1e
  15. 26 Jan, 2016 4 commits
    • Geza Lore's avatar
      Always recode SUPERTX blocks. · f33755ef
      Geza Lore authored
      There is still an assertion failure when tokenizing transform
      coefficients for a supertx block, due to the eob not being set
      consistently with the coefficients, so we always recode supertx blocks
      for now. Also added further PICK_MODE_CONTEXT instances to avoid
      potential clash between horizontal/vertical/split partition SUPERTX
      trials.
      
      Change-Id: I5f3da1fa0d8d20fc21face170487e1a285fd1cc6
      f33755ef
    • Geza Lore's avatar
      Update VAR_TX related context when using SUPERTX. · 22cfc841
      Geza Lore authored
      The encoder did not update left_txfm_context and above_txfm_context in
      MACROBLOCKD (used for choosing the probability context for the vartx
      split bits) when the supertx bit was set for a block. The deoder on the
      other hand did update these for supertx blocks. The encoder used these
      to compute the context counts, which the packer then uses to adapt it's
      probabilities. This results in the packer and the decoder using
      different probabilities.
      
      This patch harmonizes the encoder and the decoder by making the encoder
      update the mentioned context for supertx coded blocks.
      
      Change-Id: I3a22132124b1bce2ee501d640ceab374b19e3ca1
      22cfc841
    • Geza Lore's avatar
      Initalize mbmi->tx_size during rdopt. · 56686b45
      Geza Lore authored
      This is necessary when using SUPERTX, as the bitstream packer relies on
      tx_size being set correctly to decide whether to output the block using
      supertx or not.
      
      Change-Id: I79e776b3b810f4a15b9dbc6afdd6fc90c73c8934
      56686b45
    • Geza Lore's avatar
      Set inter_tx_size for supertx coded blocks. · e7c0e157
      Geza Lore authored
      The loop filter relies on inter_tx_size in MB_MODE_INFO being set
      properly when VAR_TX is enabled. Supertx coded blocks did not set this
      previously at all, and the differing garbage values eventually resulted
      in in a YUV mismatch between encoder and decoder after loop filtering.
      
      This patch fixes this by setting inter_tx_size to the proper supertx
      size in both the encoder and the decoder. This should also mean that
      loop filtering is done at the proper transform boundaries, even when
      supertx or vartx is being used.
      
      Change-Id: I41a564cd6d34ce4a8313ad4efa89d905f5ead731
      e7c0e157
  16. 25 Jan, 2016 1 commit
    • Debargha Mukherjee's avatar
      Some supertx fixes · 9a8a6a1b
      Debargha Mukherjee authored
      Fixes some of the issues introduced by a merge from master.
      
      derflr: -0.893% BDRATE
      hevcmr: -1.667% BDRATE
      
      Change-Id: I4c5b40ec63a6f19521191d3c730af87db3c4bc00
      9a8a6a1b
  17. 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
  18. 15 Jan, 2016 1 commit
    • Yue Chen's avatar
      EXT_INTER experiment · 1ac85879
      Yue Chen authored
      NEW2MV is enabled, representing a new motion vector predicted from
      NEARMV. It is mostly ported from nextgen, where it was named
      NEW_INTER.
      A few fixes are done for sub8x8 RDO to correct some misused
      mv references in the original patch.
      A 'bug-fix' for encoding complexity is done, reducing the additional
      encoding time from 50% to 20%. In sub8x8 case, the old patch
      did motion search for every interpolation filter (vp9 only
      searches once). This fix also slightly improves the coding gain.
      This experiment has been made compatible with REF_MV and EXT_REFS.
      
      Coding gain (derflr/hevcmr/hevchd): 0.267%/0.542%/0.257%
      
      Change-Id: I9a94c5f292e7454492a877f65072e8aedba087d4
      1ac85879
  19. 12 Jan, 2016 1 commit
  20. 08 Jan, 2016 3 commits
  21. 07 Jan, 2016 1 commit
  22. 05 Jan, 2016 1 commit
    • Debargha Mukherjee's avatar
      Super transform - ported from nextgen branch · 3787b174
      Debargha Mukherjee authored
      Various additional changes were made to make the experiment
      compatible with misc_fixes.
      
      derflr: +0.979%
      hevcmr: +0.865%
      
      Speed-wise with --enable-supertx the encoder is only about 10%
      slower than without. Decoding impact is about 30% slowdown.
      
      Note this does not work with ext-tx or var-tx yet. That is
      a TODO.
      
      Change-Id: If25af4241a7a9efbd28f58eda3c4f044c7a7ef4b
      3787b174
  23. 14 Dec, 2015 1 commit
  24. 10 Dec, 2015 3 commits
  25. 08 Dec, 2015 1 commit
    • 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