1. 05 Feb, 2016 1 commit
  2. 04 Feb, 2016 2 commits
  3. 03 Feb, 2016 6 commits
    • hui su's avatar
      Add a speed feature for intra filter search · 5b618b7c
      hui su authored
      Seperate the prediction angle search and fitler search.
      It can reduce the computation overhead of filter search by as much
      as 85%, while keeping more than 50% of the coding gain.
      
      Change-Id: Id152f71e20ebcaca8b429bdd4ca1fbeb646fc6bf
      5b618b7c
    • hui su's avatar
      Add 8-tap interpolation filter options for intra prediction · 3b1c7668
      hui su authored
      BD-rate performance improvement (on top of ext-intra):
      derflr  0.22%
      hevclr  0.36%
      hevcmr  0.48%
      hevchr  0.37%
      stdhd   0.19%
      
      Average speed impact on some derf clips is about 40% slower (on
      top of ext-intra). Speed improvment is a to-do.
      
      Change-Id: I8fe3fe8c5e4f60d0462778adbcc15c84dfbe7a25
      3b1c7668
    • Jingning Han's avatar
      Generalize the dynamic reference motion vector coding mode · 4fb8b217
      Jingning Han authored
      This commit generalizes dynamic reference motion vector coding mode
      to support multiple candidate modes in the rate-distortion
      optimization scheme and to support the selection in the bit-stream
      syntax. The maximum number of modes allowed is currently limited to
      4. The syntax elements for the dynamic reference motion vector
      modes are using binary codes. The scheme supports single reference
      frame.
      
      It improves the compression performance
      derf   0.135%
      hevcmr 0.098%
      
      Change-Id: Id053d6ce76e8365e52727bd0d12d28ce3de2e0e8
      4fb8b217
    • Jingning Han's avatar
      Account for zero-forcing operation in selective ref mv mode · 590265ea
      Jingning Han authored
      It makes the encoder accounts for the block zero-forcing operation
      when optimizing the mode decisions.
      
      Change-Id: I2c8e243756080b446b8a53a9679f75c4c47148cf
      590265ea
    • Geza Lore's avatar
      Fix for supertx: ignore skip_txfm optimization · 17a3d31d
      Geza Lore authored
      Change-Id: I80eedb548c449ec43c6b5b88c5493b665606906e
      17a3d31d
    • Julia Robson's avatar
      Supertx fix for 422 colour subsampling · 4fbd678f
      Julia Robson authored
      Fixes assertion for football_422_4sif.y4m when supertx, var_tx and
      ext_tx are all enabled. Problem was after subsampling, the u and v
      blocks being encoded were no longer square.
      
      Change-Id: Ie626f30a2e64538d33343a26d5124a79a6f2b985
      4fbd678f
  4. 02 Feb, 2016 3 commits
    • Jingning Han's avatar
      Enable adaptive motion vector referencing mode · 67cf8908
      Jingning Han authored
      This commit allows an adaptive motion vector referencing mode
      approach. It checks the available reference motion vector candidate
      list and decides the amount of motion vector referencing modes. The
      current implementation assumes simple binary coding for the syntax.
      
      The compression performance is improved by
      derf   0.11%
      hevcmr 0.38%
      stdhd  0.09%
      hevchr 0.23%
      
      The coding gains due to the new reference motion vector system are
      derf   1.0%
      hevcmr 1.7%
      stdhd  1.4%
      hevchr 1.3%
      
      Change-Id: Idf932fc373546fe59c8741f1b933ff656e8dbc3f
      67cf8908
    • James Zern's avatar
      vp10: remove unused (read|write)_uniform · ebf25868
      James Zern authored
      dead code since:
      5d3327e8 Remove palette from VP10
      
      Change-Id: I4a36575706ea6fffefe5bc778595112ef6ff37d8
      ebf25868
    • Angie Chiang's avatar
      Pass filter type instead of filter array · 10ad97bc
      Angie Chiang authored
      Change-Id: I25f2149ddaa332722f7ab82e8f832a253c4b6ab3
      10ad97bc
  5. 29 Jan, 2016 4 commits
  6. 28 Jan, 2016 2 commits
  7. 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
  8. 26 Jan, 2016 6 commits
    • Geza Lore's avatar
      Reintroduce VAR_TX fix · 5aa655f7
      Geza Lore authored
      Reintroduce part of
      Iaf2b717e6b8626b2b6a03226127221b776b49884
      Which was later reverted in
      I4c5b40ec63a6f19521191d3c730af87db3c4bc00
      
      Change-Id: If3e5610ba3985ae7b4d952d8e616982465ac667a
      5aa655f7
    • 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
    • Debargha Mukherjee's avatar
      A minor assert fix for supertx · a8122bb9
      Debargha Mukherjee authored
      Change-Id: I532fff64ccaa1f38240ba7ca5ce2f7e1eb531771
      a8122bb9
  9. 25 Jan, 2016 2 commits
  10. 22 Jan, 2016 4 commits
    • 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
    • Debargha Mukherjee's avatar
      A fix for a missing tx_type · 4e406f70
      Debargha Mukherjee authored
      Change-Id: I165cd06256175edb7739020379ba3098251f4a7c
      4e406f70
    • Julia Robson's avatar
      Fixes for var_tx when ext_tx is not enabled · 9fe188e4
      Julia Robson authored
      This patch fixes a couple of issues caused by change-id:
      I15d20ce5292b70f0c2b4ba55c1f1318181481596
      Changes to the code for when the ext_tx experiment is not enabled
      were merged from master but as var_tx does not exist on master
      the changes had not been applied to the case when var_tx experiment
      is enabled
      
      Change-Id: Iaf2b717e6b8626b2b6a03226127221b776b49884
      9fe188e4
    • Debargha Mukherjee's avatar
      Some fixes on tx size/type selection · 8d69a6e8
      Debargha Mukherjee authored
      For ext_tx experiment.
      
      Change-Id: Ie37b9b456b09bde8b606fb978fee4cca8d0326b7
      8d69a6e8
  11. 21 Jan, 2016 1 commit
    • Debargha Mukherjee's avatar
      Loop restoration filter · 84ca7a9f
      Debargha Mukherjee authored
      Current implementation is a bilateral filter whose
      parameters are transmitted in the bitstream.
      
      derflr: -0.647% BDRATE
      hevcmr: -0.794% BDRATE
      
      This is a prelimary patch. Various other variations are to
      be investigated next, that will hopefully be less expensive
      on the decoder side.
      
      Change-Id: I50634ae8f5014ad0bf7432306348908a349d81e1
      84ca7a9f
  12. 20 Jan, 2016 1 commit
    • Julia Robson's avatar
      Making the forward transform consistent with high bit depth · c178b2d1
      Julia Robson authored
      This patch changes the code for 16bit buffers to use the same
      optimisation as is used for 8bit buffers. (See change-Id:
      I0452da1786d59bc8bcbe0a35fdae9f623d1d44e1 for more information
      about the optimisation)
      
      Change-Id: I5f327a13a7b01fc356114a2aa9d1261bf76d8d69
      c178b2d1
  13. 19 Jan, 2016 1 commit
  14. 15 Jan, 2016 2 commits
    • 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
    • Alex Converse's avatar
      Deduplicate sign cost for ONE/TWO/THREE/FOUR tokens · dea6f521
      Alex Converse authored
      Change-Id: I9c383d604dfd240e38b198ac5bf86ddd3456f442
      dea6f521
  15. 14 Jan, 2016 1 commit
    • Jingning Han's avatar
      Handle single ref mv pair in the candidate list for compound mode · 3944cfb1
      Jingning Han authored
      This commit considers the case where a single reference motion
      vector pair is found in the candidate list. It treats this pair
      as the effective motion vector for nearestmv mode. This improves
      the coding performance by 0.06% for stdhd sets.
      
      Change-Id: I9ce12f456b52912933e05c18c3841a78c26155d2
      3944cfb1
  16. 13 Jan, 2016 1 commit
    • Yaowu Xu's avatar
      Fix encoder crashes and enc/dec mismatches · d803e8a2
      Yaowu Xu authored
      This commit adds the logic for segmentation map initialization and
      disable temporal update of segmentation map when error-resilient
      mode is on. It fixes the enc/dec mistmates (release build) and
      assertions(debug) when both aq-mode and error-resilient are on.
      
      Change-Id: Id2155e8b28962cf1f64494f4df0c8d79499b6890
      d803e8a2
  17. 12 Jan, 2016 2 commits