1. 22 Jan, 2016 5 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
    • Yue Chen's avatar
      Relocate supertx prob update · fb29aec4
      Yue Chen authored
      Move it from vp10_adapt_intra_frame_probs() to
      vp10_adapt_inter_frame_probs() because intra frames do not use
      supertx.
      
      Change-Id: I28c7391944848666054d4b990ac17a8ae08aaaee
      fb29aec4
  2. 21 Jan, 2016 2 commits
    • Yaowu Xu's avatar
      Fix a typo in ctrl_set_render_size() · b6cefbf0
      Yaowu Xu authored
      Change-Id: I6a7fa6d0ae8ce8de7b426189d5eb00413f21bc17
      b6cefbf0
    • 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
  3. 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
  4. 19 Jan, 2016 1 commit
  5. 15 Jan, 2016 3 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
    • Debargha Mukherjee's avatar
      Fixing some compile issues · eee6afe0
      Debargha Mukherjee authored
      Fixes a breakage introduced with the latest merge from master and
      cleans up a couple of compiler warnings.
      
      Change-Id: Ia55b39ba78e43f6fe52c54d7f34faa4dd6bbbf26
      eee6afe0
  6. 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
  7. 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
  8. 12 Jan, 2016 5 commits
    • 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
    • Alex Converse's avatar
      Compress the final ANS state. · 0f840cc3
      Alex Converse authored
      The '110' prefix on a final byte indicates a superframe marker. Coded
      data is not allowed to use this pattern on a final byte.
      
      Code |state - l_base| little endian with the following prefix scheme:
      Prefix '00': Single byte coded state.
      Prefix '01': Two bytes le coded state.
      Prefix '10': Three bytes le coded state.
      
      Change-Id: Ibc953b67675b567394b93de39b7cb22cadc47435
      0f840cc3
    • Geza Lore's avatar
      Use specific PICK_MODE_CONTEXT for supertx. · e4663e6d
      Geza Lore authored
      Change-Id: I402d10dd666ebc4a06ce4472810a7e22f2e056ff
      e4663e6d
    • Alex Converse's avatar
      Code DCT tokens with ANS · d1893f64
      Alex Converse authored
      Change-Id: I452f9675325a5f45bfbbe3e7e135009a125539f1
      d1893f64
    • Alex Converse's avatar
      Add an implementation of Asymetric Numeral Systems (ANS). · 9ffcb469
      Alex Converse authored
      Change-Id: Ie41bc72127e700887566dcc951da9d83a0b94891
      9ffcb469
  9. 11 Jan, 2016 1 commit
    • Jingning Han's avatar
      Refactor ref mv stack system · 253a200d
      Jingning Han authored
      This commit re-works the reference motion vector stack process
      and make it support extended context set. It unifies reference
      motion vector checking process for row and column scan, as well as
      for single block scan.
      
      Change-Id: I68c05cde93cf8b0ca2ef4d1523399f405bd0a337
      253a200d
  10. 08 Jan, 2016 3 commits
  11. 07 Jan, 2016 2 commits
  12. 05 Jan, 2016 2 commits
    • Peter de Rivaz's avatar
      Change to rd costing for CONFIG_VAR_TX · 2f943131
      Peter de Rivaz authored
      In select_tx_block I believe the rd cost was ignoring the bits
      needed to encode the split bit.
      
      Change-Id: Iacbf705b880db9a68967a994406ba90ecf693ab8
      2f943131
    • 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
  13. 04 Jan, 2016 3 commits
  14. 31 Dec, 2015 1 commit
  15. 28 Dec, 2015 1 commit
  16. 18 Dec, 2015 2 commits
    • Zoe Liu's avatar
      Cleared the EXT_REFS code to make it more legible. · a4d0c714
      Zoe Liu authored
      Change-Id: I309c4e16fd305bcfa590d14f957a9598d23c7ee6
      a4d0c714
    • Zoe Liu's avatar
      Restore the flexibility for the new 3 references · ec36a2b0
      Zoe Liu authored
      For the experiment of EXT_REFS, removed the previous special handling
      on the new last 3 references, i.e. LAST2_FRAME, LAST3_FRAME, and
      LAST4_FRAME, at the decoder, so that these new last references are
      treated the same way as the other 3 references (LAST_FRAME,
      GOLDEN_FRAME, and ALTREF_FRAME). Encoder changes have been made
      accordingly to realize this flexibility.
      
      Change-Id: Ic6546f9443b4377bb7e7b101bfa3e70a8b8d1c65
      ec36a2b0
  17. 16 Dec, 2015 1 commit
  18. 15 Dec, 2015 4 commits
    • Debargha Mukherjee's avatar
      Replace DST1 in ext_tx experiment with DST2 · 49d9730f
      Debargha Mukherjee authored
      The DST2 is implemented by input alternate sign-flip, followed
      by DCT, followed by output reversal.
      Results are roughly the same, but it should be easier to optimize
      the DST2.
      [Interestingly a mtrix multuiply implementation is about 0.1%
      better].
      
      Change-Id: If9ae5fdba87767fb0e6c163a62b77ee66a8d3afc
      49d9730f
    • paulwilkins's avatar
      Fixed interval, fixed Q 1 pass test patch. · 99309004
      paulwilkins authored
      For testing implemented a fixed pattern and delta, 1 pass,
      fixed Q, low delay mode.
      
      This has not in any way been tuned or optimized.
      
      Change-Id: Icf9b57c3bb16cc5c0726d5229009212af36eb6d9
      99309004
    • paulwilkins's avatar
      1 pass VBR mode bug fix. · 9ce611a7
      paulwilkins authored
      (copied from VP9)
      
      The one pass VBR mode selects a Q range based on a
      moving average of recent Q values. This calculation
      should have been excluding arf overlay frames as these
      are usually coded at the highest allowed value. Their
      inclusion skews the average and can cause it to drift
      upwards even when the clip as a whole is undershooting.
      
      As such it can undermine correct adaptation of the allowed
      Q range especially for easy content.
      
      Change-Id: I9e12da84e12917e836b6e53ca4dfe4f150b9efb1
      9ce611a7
    • Yaowu Xu's avatar
      Fix a enc/dec mismatch under CONFIG_MISC_FIXES · c7101830
      Yaowu Xu authored
      The culprit is on the decode side xd->lossless[i] setup was in wrong
      location where segment features are not yet decoded.
      
      Also on the encoder side, transform mode was not set consistently
      between when tx_mode is selected and how tx_mode is enforced in
      tx size selection.
      
      Change-Id: I4c4c32188fda7530cadab9b46d4201f33f7ceca3
      c7101830
  19. 14 Dec, 2015 1 commit