1. 05 Mar, 2014 1 commit
  2. 03 Mar, 2014 1 commit
    • Deb Mukherjee's avatar
      Refactoring motion search libs · b80020d4
      Deb Mukherjee authored
      The core motion estimation fucntions all return sad now consistently.
      The only exception is vp9_full_pixel_diamond(), however the core diamond
      and refining search routines called from vp9_full_pixel_diamond() also
      return SAD. If variance of pred error + mv cost is desired it must be
      calculated explicitly outside these functions. For very fast encoding,
      hopefully this will eliminate some redundant computations.
      
      Also suggests reimplementing FAST_HEX with the vp9_pattern_search
      framework. It is not exactly the same as the existing FAST_HEX, but
      performance is slightly better and speed is very similar. Enables
      removing a lot of duplicate code.
      
      Change-Id: I152736393438c25bdf7e96b37cbb8ce330f4f94a
      b80020d4
  3. 02 Mar, 2014 1 commit
  4. 28 Feb, 2014 2 commits
  5. 26 Feb, 2014 1 commit
    • Dmitry Kovalev's avatar
      Cleaning up vp9_encodemb.c file. · 9774962a
      Dmitry Kovalev authored
      Usage of encode_b_args is unnecessary because encode_block_pass1() doesn't
      use them. That's why optimize_init_b() call is also not required.
      
      Change-Id: Ib6cfe4916c2ca85749c90bb0adcba6fea592f9ac
      9774962a
  6. 18 Feb, 2014 1 commit
  7. 15 Feb, 2014 1 commit
  8. 14 Feb, 2014 3 commits
  9. 13 Feb, 2014 1 commit
    • Paul Wilkins's avatar
      Remove some cases for turning off arf. · c30a9cd9
      Paul Wilkins authored
      Flipping arf on and off too often is hurting some clips.
      This change makes no difference for 50-75% of our test
      clips but helps some by a big margin. (eg. std-hd crew
      by 6% and one of the YT and YT-hd clips by 14%)
      
      Average improvements for 2 pass, speed 2 (psnr,ssim)
      are as follows:-
      
      derf  0.165%, 0.210%
      yt  1.210%, 1.464%
      yt-hd 1.189%, 1.471%
      std-hd 1.031%, 0.886%
      
      Change-Id: I121fe66cfb4a62d384b23b484a7d648789641969
      c30a9cd9
  10. 12 Feb, 2014 2 commits
    • Jim Bankoski's avatar
      clear out static analysis warning · 4c2074f9
      Jim Bankoski authored
      Change-Id: Ic8708bb8a56ab30617c8ef47072b53928a53a1a3
      4c2074f9
    • Deb Mukherjee's avatar
      Removes active_worst_quality feedback · d23e3392
      Deb Mukherjee authored
      Removes certain cases of feedback of active_worst_quality,
      and removes it from the RATE_CONTROL structure. Now active
      worst quality is expected to be computed locally in the
      q picking function during the encode.
      Making temporal filter strength depend on avg_frame_qindex
      rather than on active_worst_quality actually improves
      performance esp. for yt.
      derf: +0.038%
      yt: +0.359%
      
      Change-Id: I1fe5a343034b55af9322289165321f00ac0827b1
      d23e3392
  11. 11 Feb, 2014 1 commit
    • Yunqing Wang's avatar
      Enable encode_breakout in real time encoding · 507fd522
      Yunqing Wang authored
      In real time encoding, we enable encode_breakout to make encoding
      fast. A speed feature "use_encode_breakout" is defined to set
      encode_breakout thresholds for different speeds.
      
      However, currently, static_thresh is an encoder option. The encode_
      breakout can be turned off if user sets static_thresh=0 specifically.
      
      The rtc set borg test result: (need to set --static_thresh=1)
      speed -5, psnr loss -3.543%;
      speed -4, psnr loss -2.358%;
      speed -3, psnr loss -0.771%.
      
      Encoding speed test:
      speed -5, 11% - 60% speedup;
      speed -4, 5.5% - 28% speedup;
      speed -3, 0.8% - 7% speedup.
      
      Change-Id: Icde592ffbe77eac7446f872a2e9eb2051733677b
      507fd522
  12. 10 Feb, 2014 1 commit
    • Deb Mukherjee's avatar
      Further one-pass vbr rate control changes · 15fb5510
      Deb Mukherjee authored
      Some parameter changes and fixes on one-pass rate control.
      derfraw300 is now only 10% below 2-pass speed 0 rate control.
      
      Change-Id: I1940eef8a5a035dc18e71b880d5e00cabd1f01b9
      15fb5510
  13. 05 Feb, 2014 2 commits
    • Dmitry Kovalev's avatar
      Cleaning up vp9_firstpass.c. · dce41c01
      Dmitry Kovalev authored
      Change-Id: I111d6d1ea5ee641780abc096341369a37627aaae
      dce41c01
    • Deb Mukherjee's avatar
      One-pass rate control cleanups/fixes/refactoring · 40e63d4b
      Deb Mukherjee authored
      Inlcudes a number cleanups:
      1. Moves the one-pass pre-encode parameter setting functions
      to vp9_ratectrl.c
      2. Deprecates per_frame_bandwidth in RATE_CONTROL structure
      3. Removes target_bandwidth in cpi structure since it is not used.
      4. Various renaming of functions
      
      There is no bit-stream change in 2-pass, one-pass cbr and one-pass
      vbr modes.
      
      Change-Id: Ifd9916bf4d485b7d04c5f52044ffe6703254ccbd
      40e63d4b
  14. 04 Feb, 2014 2 commits
    • Dmitry Kovalev's avatar
      Removing unused estimate_cq() function. · e8294873
      Dmitry Kovalev authored
      Change-Id: If3a1af1a54f3a3c0d9c966fdc0721981070c7f28
      e8294873
    • Deb Mukherjee's avatar
      One-pass rate control fixes and cleanups · 35ee7f5f
      Deb Mukherjee authored
      Fixes rate control partially in one-pass non-cbr case to achieve a
      bitrate close to the one desired. Previous version was way off at
      the high bitrate end.
      
      Also includes several one-pass rate control cleanups and refactoring.
      
      On derfraw300, one-pass encoding is now 19% off from two-pass speed
      0 encoding, down from 35%.
      
      Change-Id: I6f0dcdb7f8aa85a7e7cd3a3155d4f9d2a4d2f4f4
      35ee7f5f
  15. 01 Feb, 2014 3 commits
  16. 31 Jan, 2014 1 commit
  17. 29 Jan, 2014 2 commits
    • Dmitry Kovalev's avatar
      Cleaning up vp9_firstpass.c. · b496d141
      Dmitry Kovalev authored
      Change-Id: Ic2ff6405f01fd43d07c5ee3b5e374909401115cc
      b496d141
    • Deb Mukherjee's avatar
      Enables alt-ref frames in one pass mode · 50bf8fd4
      Deb Mukherjee authored
      Includes a few fixes and clean-ups that adds the ability
      to use alt-ref frames in one-pass mode.
      Whether alt-refs are actually used or not is controlled by a
      macro USE_ALTREF_FOR_ONE_PASS in vp9_firstpass.c.
      
      This first cut seems to improve derf by 15+% in 1-pass mode.
      But further experiments with parameters are underway.
      
      Change-Id: I78254421435478003367c788c7930d2dc4ee2816
      50bf8fd4
  18. 25 Jan, 2014 1 commit
  19. 24 Jan, 2014 1 commit
    • Yaowu Xu's avatar
      Fixed integer overflow for large input video · e5034f65
      Yaowu Xu authored
      The sum of squared mv components can go beyond int range for large
       input resolution. This commit changed the type to int64 to avoid
      overflow.
      
      Change-Id: Ib21ea2817845cea1435f893064e6417c79c5bc64
      e5034f65
  20. 23 Jan, 2014 3 commits
  21. 22 Jan, 2014 1 commit
  22. 21 Jan, 2014 1 commit
  23. 16 Jan, 2014 2 commits
  24. 15 Jan, 2014 3 commits
  25. 14 Jan, 2014 2 commits
    • Paul Wilkins's avatar
      Add max burst bitrate control. · 5c808ba1
      Paul Wilkins authored
      Applies an upper limit on burst bitrate for any
      frame. This is to insure that typical encodes for YT
      do not produce frames that are so large that they
      risk stalling HW implementations. Such frames
      could also cause playback problems in SW.
      
      For now the limit is set at 250 bits per MB for 1080P
      and larger (with the 1080P limit used for smaller frames).
      
      Setting maxQ, constant quality mode or targeting a
      very high bandwidth will have precedence over this limit.
      
      Change-Id: Ie6f776c38b06ac7cec043d034085f4b79ee46a38
      5c808ba1
    • Dmitry Kovalev's avatar
      Using clamp() function instead of the same raw code. · 46a951c8
      Dmitry Kovalev authored
      Change-Id: Ia2ffca072f5391b277ce1a0c4e5b4ece9ffc6831
      46a951c8