1. 26 Sep, 2016 1 commit
  2. 02 Sep, 2016 1 commit
  3. 01 Sep, 2016 2 commits
  4. 12 Aug, 2016 1 commit
  5. 04 Aug, 2016 1 commit
    • Zoe Liu's avatar
      Code refactoring on Macros related to ref frame numbers · 1af28f02
      Zoe Liu authored
      We have renamed following Macros to avoid name confusion:
      
      REFS_PER_FRAME --> INTER_REFS_PER_FRAME
      (= ALTREF_FRAME - LAST_FRAME + 1)
      MAX_REF_FRAMES --> TOTAL_REFS_PER_FRAME
      (= ALTREF_FRAME - INTRA_FRAME + 1)
      
      INTER_REFS_PER_FRAME specifies the maximum number of reference frames
      that each Inter frame may use.
      TOTAL_REFS_PER_FRAME is equal to INTER_REFS_PER_FRAME + 1, which
      counts the INTRA_FRAME.
      
      Further, at the encoder side, since REF_FRAMES specifies the maximum
      number of the reference frames that the encoder may store, REF_FRAMES
      is usually larger than INTER_REFS_PER_FRAME. For example, in the
      ext-refs experiment, REF_FRAMES == 8, which allows the encoder to
      store maximum 8 reference frames in the buffer, but
      INTER_REFS_PER_FRAME equals to 6, which allows each Inter frame may
      use up to 6 frames out of the 8 buffered frames as its references.
      Hence, in order to explore the possibility to store more reference
      frames in future patches, we modified a couple of array sizes to
      accomodate the case that the number of buffered reference frames is
      not always equal to the number of the references that are being used
      by each Inter frame.
      
      Change-Id: I19e42ef608946cc76ebfd3e965a05f4b9b93a0b3
      1af28f02
  6. 22 Jun, 2016 2 commits
    • Jingning Han's avatar
      Refactor reference frame type defs · b605de07
      Jingning Han authored
      Move the reference frame type definitions to common/enums.h file.
      Replace hard coded numbers.
      Combine repeated definitions.
      
      Change-Id: I288e079a03e448014cc181bcdb3f88ee8ec8d139
      b605de07
    • Jingning Han's avatar
      Make drl support bi-directional reference frames · c2195c5b
      Jingning Han authored
      This commit refactors the reference frame structure used in the
      dynamic motion vector referencing system, and makes it support
      the bi-directional reference frames. This resolves unit test
      failure (enc/dec mismatch) when both are turned on.
      
      The compression performance (ref-mv + ext-refs) is improved by
      0.2% for lowres.
      
      Change-Id: I233624d8fccc1f69e82295f94de984ff056365dc
      c2195c5b
  7. 10 May, 2016 1 commit
    • Geza Lore's avatar
      Break tile row dependencies. · 9ab9438f
      Geza Lore authored
      When not using ext-tile, there were still dependencies between tile
      rows due to various tools (eg intra predictors) relying on the above
      row or above mode info, which can be in the above tile. This is now
      broken (the same way as it was when ext-tile is enabled) by fixing
      the appropriate predicates.
      
      Change-Id: I107dd0d8481775a792f14e05cfbbd761f16cdc1e
      9ab9438f
  8. 28 Apr, 2016 1 commit
  9. 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
  10. 24 Mar, 2016 1 commit
    • Geza Lore's avatar
      Port large scale tile coding features from nextgen. · 490ba1ad
      Geza Lore authored
      If configured with --enable-ext-tile, the codec uses an alternative
      tile coding syntax in the bitstream. Changes include::
       - The maximum number of tile rows and columns is extended to 1024
         each.
       - The minimum tile width/height is 64 pixels (1 superblock).
       - A tile copy mode is added where a tile directly reuse the coded
         data of a previous tile
       - The meaning of the tile-columns and tile-rows codec parameters are
         overloaded to mean tile-width and tile-height in units of 64
         pixels.
       - All tiles should now be independent, including rows within the
         same columns, so large scale parallel, or independent decoding is
         possible.
       - vpxdec also gained the options to decode only a particular tile,
         tile row, or tile column.
      
      Changes without --enable-ext-tile:
       - All tiles should now be independent, including rows within the
         same columns, so large scale parallel, or independent decoding is
         possible.
       - vpxenc default tile configuration changed to use 1 tile column.
      
      Change-Id: I0cd08ad550967ac18622dae5e98ad23d581cb33e
      490ba1ad
  11. 23 Mar, 2016 1 commit
    • Jingning Han's avatar
      Refactor motion vector residual coding process · 1fcb5fc7
      Jingning Han authored
      This commit separates the predicted motion vector from the nearestmv
      motion vector in the coding process for both regular and sub8x8
      block sizes.
      
      Change-Id: I703490513b0194e6669ebf719352db015facb3e1
      1fcb5fc7
  12. 21 Mar, 2016 2 commits
  13. 24 Feb, 2016 1 commit
    • Jingning Han's avatar
      Enable context based motion vector entropy coding · 47bc2a57
      Jingning Han authored
      This commit enables a context based motion vector entropy coding
      conditioned on dynamic reference motion vector list. This (along with
      the previous CL) imporves the coding gains due to dynamic motion
      vector referencing based entropy coding:
      derf   0.1%
      hevcmr 0.2%
      stdhd  0.7%
      hevchr 0.4%
      
      No encoding time change was observed.
      
      Change-Id: I179c723844079195f6952a12582996a3ca9e9914
      47bc2a57
  14. 20 Feb, 2016 1 commit
  15. 19 Feb, 2016 1 commit
  16. 12 Feb, 2016 1 commit
  17. 09 Feb, 2016 1 commit
    • 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
  18. 05 Feb, 2016 1 commit
  19. 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
  20. 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
  21. 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
  22. 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
  23. 08 Jan, 2016 1 commit
  24. 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
  25. 25 Nov, 2015 2 commits
  26. 24 Nov, 2015 1 commit
    • Jingning Han's avatar
      Analyze motion field to produce reference motion vectors · 254d3e17
      Jingning Han authored
      This commit allows the codec to analyze the motion field in the
      avaiable above and left neighboring area to produce a set of
      reference motion vectors for each reference frame. These reference
      motion vectors are ranked according to the likelihood that it will
      be picked.
      
      Change-Id: I82e6cd990a7716848bb7b6f5f2b1829966ff2483
      254d3e17
  27. 17 Nov, 2015 1 commit
    • hui su's avatar
      Merge MISC_FIXES · 66f2f65e
      hui su authored
      Remove MISC_FIXES flags except for the changes on MV precision, which
      has a 0.1% performance drop.
      
      On derflr, the impact is -0.012%.
      
      Change-Id: I0a74e5a212dd0cb827192a318c92a714c9681e45
      66f2f65e
  28. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  29. 20 Oct, 2015 1 commit
    • Ronald S. Bultje's avatar
      vp10: clip MVs before adding to find_ref_mvs() list. · 293e20df
      Ronald S. Bultje authored
      This causes the output of find_ref_mvs() to always be unique or zero.
      A nice side-effect of this is that it also causes the output of
      find_ref_mvs_sub8x8() to be unique-or-zero, and it will not ignore
      available candidate MVs under certain conditions.
      
      See issue 1012.
      
      Change-Id: If4792789cb7885dbc9db420001d95f9b91b63bfa
      293e20df
  30. 16 Oct, 2015 1 commit
    • Ronald S. Bultje's avatar
      vp10: allow MV refs to point outside visible image. · dea99899
      Ronald S. Bultje authored
      In VP9, the ref MV had to point to a block that itself fully resided
      within the visible image, i.e. all borders of the image had to be
      within the visible borders of the coded frame. This is somewhat
      illogical, and had obscure side effects, e.g. clamping of fairly
      reasonable motion vectors such as 0,0 were clipped to negative values
      if the block was overhanging on frame edges (such as the last rows
      on 1080p content), which makes no sense whatsoever.
      
      Instead, relax clamping constraints such that the ref MVs are allowed
      to point to blocks exactly outside the visible edges in both Y as well
      as UV planes, including the 8tap filter edges (that's why the offset is
      8 pixels + block size).
      
      See issue 1037.
      
      Change-Id: I2683eb2a18b24955e4dcce36c2940aa2ba3a1061
      dea99899
  31. 12 Oct, 2015 1 commit
  32. 16 Sep, 2015 1 commit
    • Ronald S. Bultje's avatar
      vp10: remove double MV value check. · 43be86db
      Ronald S. Bultje authored
      This has virtually no effect on coding efficiency, but it is more
      logical from a theoretical perspective (since it makes no sense to
      me that you would exclude a MV from a list just because it's sign-
      inversed value is identical to a value already in a list), and it
      also makes the code simpler (it removes a duplicate value check in
      cases where signbias is equal between the two MVs being compared).
      
      See issue 662.
      
      Change-Id: I23e607c6de150b9f11d1372fb2868b813c322d37
      43be86db
  33. 13 Aug, 2015 2 commits
  34. 12 Aug, 2015 2 commits