1. 31 May, 2013 1 commit
    • Ronald S. Bultje's avatar
      Remove splitmv. · e6485581
      Ronald S. Bultje authored
      We leave it in rdopt.c as a local define for now - this can be removed
      later. In all other places, we remove it, thereby slightly decreasing
      the size of some arrays in the bitstream.
      
      Change-Id: Ic2a9beb97a4eda0b086f62c039d994b192f99ca5
      e6485581
  2. 30 May, 2013 1 commit
  3. 26 May, 2013 1 commit
    • Ronald S. Bultje's avatar
      Remove splitmv. · 5cac6607
      Ronald S. Bultje authored
      Also do per-partition motion vector referencing in <sb8x8 partitions,
      and adjust mvref finding for sub8x8 partitions.
      
      Change-Id: Id3ed1ed4d2a8910d11d327db6cc63b8eb79f941f
      5cac6607
  4. 23 Apr, 2013 1 commit
    • Johann's avatar
      Resolve declaration and implementation. · 7af58d43
      Johann authored
      Clean Windows build warnings:
      warning C4028: formal parameter <N> different from declaration
      
      This was fixed independently in master and experimental but the fixes
      were in opposite directions. One added const to the declaration and the
      other removed it from the implementation.
      
      Also update the variable names. This doesn't modify the data so call it
      ref, matching the functions in the vicinity, rather than dst.
      
      Change-Id: I2ffc6b4a874cb98c26487b909d20a5e099b5582c
      7af58d43
  5. 19 Apr, 2013 1 commit
    • Paul Wilkins's avatar
      Mv ref candidates cut to 2. · de80da39
      Paul Wilkins authored
      Further simplification of mvref search to return
      only the top two candidates. Distance weights removed
      as the test order reflects distance anyway.
      
      Change-Id: I0518cab7280258fec2058670add4f853fab7b855
      de80da39
  6. 18 Apr, 2013 1 commit
  7. 17 Apr, 2013 1 commit
    • Yaowu Xu's avatar
      clean out experiments · 421ad3f1
      Yaowu Xu authored
      that are related to using reconstructed pixel for selecting reference
      motion vectors.
      
      Change-Id: I048dfae39ca7385e344b57d46347ecc6e753e1bb
      421ad3f1
  8. 15 Apr, 2013 1 commit
  9. 11 Apr, 2013 1 commit
  10. 13 Mar, 2013 1 commit
  11. 05 Mar, 2013 1 commit
    • Dmitry Kovalev's avatar
      Code cleanup. · 7f99c3c5
      Dmitry Kovalev authored
      Removing redundant 'extern' keywords, fixing formatting and #include order,
      code simplification.
      
      Change-Id: I0e5fdc8009010f3f885f13b5d76859b9da511758
      7f99c3c5
  12. 28 Feb, 2013 1 commit
  13. 05 Feb, 2013 2 commits
    • John Koleszar's avatar
      Convert subpixel filters to use convolve framework · 7a07eea1
      John Koleszar authored
      Update the code to call the new convolution functions to do subpixel
      prediction rather than the existing functions. Remove the old C and
      assembly code, since it is unused. This causes a 50% performance
      reduction on the decoder, but that will be resolved when the asm for
      the new functions is available.
      
      There is no consensus for whether 6-tap or 2-tap predictors will be
      supported in the final codec, so these filters are implemented in
      terms of the 8-tap code, so that quality testing of these modes
      can continue. Implementing the lower complexity algorithms is a
      simple exercise, should it be necessary.
      
      This code produces slightly better results in the EIGHTTAP_SMOOTH
      case, since the filter is now applied in only one direction when
      the subpel motion is only in one direction. Like the previous code,
      the filtering is skipped entirely on full-pel MVs. This combination
      seems to give the best quality gains, but this may be indicative of a
      bug in the encoder's filter selection, since the encoder could
      achieve the result of skipping the filtering on full-pel by selecting
      one of the other filters. This should be revisited.
      
      Quality gains on derf positive on almost all clips. The only clip
      that seemed to be hurt at all datarates was football
      (-0.115% PSNR average, -0.587% min). Overall averages 0.375% PSNR,
      0.347% SSIM.
      
      Change-Id: I7d469716091b1d89b4b08adde5863999319d69ff
      7a07eea1
    • Paul Wilkins's avatar
      Change definition of NearestMV. · 81043e8d
      Paul Wilkins authored
      This commit makes the NearestMV match the chosen
      best reference MV. It can be a 0,0 or non zero vector
      which means the the compound nearest mv mode can
      combine a 0,0 and a non zero vector.
      
      Change-Id: I2213d09996ae2916e53e6458d7d110350dcffd7a
      81043e8d
  14. 29 Jan, 2013 1 commit
  15. 24 Jan, 2013 1 commit
    • Deb Mukherjee's avatar
      Adds an error-resilient mode with test · 01cafaab
      Deb Mukherjee authored
      Adds an error-resilient mode where frames can be continued
      to be decoded even when there are errors (due to network losses)
      on a prior frame. Specifically, backward updates are turned off
      and probabilities of various symbols are reset to defaults at
      the beginning of each frame. Further, the last frame's mvs are
      not used for the mv reference list, and the sorting of the
      initial list based on search on previous frames is turned off
      as well.
      
      Also adds a test where an arbitrary set of frames are skipped
      from decoding to simulate errors. The test verifies (1) that if
      the error frames are droppable - i.e. frame buffer updates have
      been turned off - there are no mismatch errors for the remaining
      frames after the error frames; and (2) if the error-frames are non
      droppable, there are not only no decoding errors but the mismatch
      PSNR between the decoder's version of the post-error frames and the
      encoder's version is at least 20 dB.
      
      Change-Id: Ie6e2bcd436b1e8643270356d3a930e8989ff52a5
      01cafaab
  16. 14 Jan, 2013 2 commits
  17. 10 Jan, 2013 1 commit
  18. 08 Jan, 2013 2 commits
  19. 06 Jan, 2013 1 commit
  20. 18 Dec, 2012 1 commit
  21. 10 Dec, 2012 1 commit
    • Paul Wilkins's avatar
      Further changes to mv reference code. · d1244659
      Paul Wilkins authored
      Some further changes and refactoring of mv
      reference code and selection of center point for
      searches. Mainly relates to not passing so many
      different local copies of things around.
      
      Some place holder comments.
      
      Change-Id: I309f10ffe9a9cde7663e7eae19eb594371c8d055
      d1244659
  22. 05 Dec, 2012 1 commit
    • Paul Wilkins's avatar
      Change to MV reference search. · 4cc657ec
      Paul Wilkins authored
      This patch reduces the cpu cost of the MV ref
      search by only allowing insert for candidates
      that would be in the current top 4.
      
      This could alter the outcome and slightly favors
      near candidates which are tested first but also
      limits the worst case loop count to 4 and means in
      many cases it will drop out and not happen.
      
      Change-Id: Idd795a825f9fd681f30f4fcd550c34c38939e113
      4cc657ec
  23. 29 Nov, 2012 1 commit
  24. 28 Nov, 2012 1 commit
  25. 27 Nov, 2012 1 commit
    • John Koleszar's avatar
      Add vp9_ prefix to all vp9 files · fcccbcbb
      John Koleszar authored
      Support for gyp which doesn't support multiple objects in the same
      static library having the same basename.
      
      Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
      fcccbcbb
  26. 26 Nov, 2012 1 commit
    • Yunqing Wang's avatar
      Improve sad3x16 SSE2 function · e7cd8071
      Yunqing Wang authored
      Vp9_sad3x16_sse2() is heavily called in decoder, in which the
      unaligned reads consume lots of cpu cycles. When CONFIG_SUBPELREFMV
      is off, the unaligned offset is 1. In this situation,
      we can adjust the src_ptr to be 4-byte aligned, and then do the
      aligned reads. This reduced the reading time significantly. Tests
      on 1080p clip showed over 2% decoder performance gain with
      CONFIG_SUBPELREFM off.
      
      Change-Id: I953afe3ac5406107933ef49d0b695eafba9a6507
      e7cd8071
  27. 15 Nov, 2012 1 commit
    • Yaowu Xu's avatar
      subpelrefmv for superblocks · 61416aed
      Yaowu Xu authored
      duplicate code clean-up and variable name corrections
      
      Change-Id: Ibc4703228e652ec425125de5e7bc038fa46595c5
      61416aed
  28. 13 Nov, 2012 2 commits
  29. 12 Nov, 2012 1 commit
    • Paul Wilkins's avatar
      New inter mode context · 2669f42b
      Paul Wilkins authored
      This change is a fix / extension of the newbestrefmv
      experiment. As such it is presented without IFDEF.
      
      The change creates a new context for coding inter modes
      in vp9_find_mv_refs(). This replaces the context that
      was previously calculated in vp9_find_near_mvs().
      The new context is unoptimized and not necessarily
      any better at this stage (results pending), but eliminates
      the need for a legacy call to vp9_find_near_mvs().
      Based on numbers from Scott, this could help decode
      speed by several %.
      
      In a later patch I will add support for forward update of
      context (assuming this helps) and refine the context as
      necessary.
      
      Change-Id: I1cd991b82c8df86cc02237a34185e6d67510698a
      2669f42b
  30. 10 Nov, 2012 1 commit
    • Deb Mukherjee's avatar
      New b-intra mode where direction is contextual · d01357bb
      Deb Mukherjee authored
      Preliminary patch on a new 4x4 intra mode B_CONTEXT_PRED where the
      dominant direction from the context is used to encode. Various decoder
      changes are needed to support decoding of B_CONTEXT_PRED in conjunction
      with hybrid transforms since the scan order and tokenization depends on
      the actual direction of prediction obtained from the context. Currently
      the traditional directional modes are used in conjunction with the
      B_CONTEXT_PRED, which also seems to provide the best results.
      
      The gains are small - in the 0.1% range.
      
      Change-Id: I5a7ea80b5218f42a9c0dfb42d3f79a68c7f0cdc2
      d01357bb
  31. 07 Nov, 2012 2 commits
    • Yaowu Xu's avatar
      merge full pixel refmv experiment · 0cedaa36
      Yaowu Xu authored
      Change-Id: Ib39ad47a7d188f3b45416937b7eeb28c3e79b74c
      0cedaa36
    • James Zern's avatar
      Fix variance (signed integer) overflow · 98473443
      James Zern authored
      In the variance calculations the difference is summed and later squared.
      When the sum exceeds sqrt(2^31) the value is treated as a negative when
      it is shifted which gives incorrect results.
      
      To fix this we force the multiplication to be unsigned.
      
      The alternative fix is to shift sum down by 4 before multiplying.
      However that will reduce precision.
      
      For 16x16 blocks the maximum sum is 65280 and sqrt(2^31) is 46340 (and
      change).
      
      This change is based on:
      16982342 Missed some variance casts
      fea3556e Fix variance overflow
      
      Change-Id: I2c61856cca9db54b9b81de83b4505ea81a050a0f
      98473443
  32. 06 Nov, 2012 1 commit
  33. 01 Nov, 2012 2 commits
  34. 31 Oct, 2012 1 commit