1. 02 Apr, 2014 1 commit
    • Jingning Han's avatar
      Adjust rate allocation in non-RD coding mode · 751d002f
      Jingning Han authored
      This commit reduces the frequency of frames using finer quantizer
      in non-RD coding flow, and slightly tune up the quantizer resolution
      when used. It provides 1.7% compression gains in speed -5 at no speed
      difference.
      
      Change-Id: I430249a51260a841a0402666e5ec1566e4f7d5a6
      751d002f
  2. 01 Apr, 2014 1 commit
    • Paul Wilkins's avatar
      Speed setting correction to max q estimate. · 992c41d2
      Paul Wilkins authored
      Use a crude correction factor to correct for
      lower compression efficiency at higher encode
      speeds when estimating the max Q for the
      clip.
      
      Change-Id: I5ae377647f4adf5e91d700a8791fb3b8f70efc73
      992c41d2
  3. 31 Mar, 2014 1 commit
    • Jingning Han's avatar
      Apply finer quantizer to partition search frames in non-RD flow · 99893f24
      Jingning Han authored
      This commit optimizes the bit allocation for the non-RD coding flow.
      It applies slightly better quantizer to the frames, where all blocks
      run a non-RD partition search. Such frames typically have better
      rate-distortion trade off, thus improving the reconstruction quality
      for next few frames reference at reasonably low increment in rate
      cost.
      
      The coding performance for rtc set at speed -5 with error-resilient
      tuned on and rate control set as cbr is improved by 19.58%. It improved
      the coding speed by about 10% for a portion of local test clips.
      
      Change-Id: I9d56696cd4359dc8136ca10aff10fff05aaa2686
      99893f24
  4. 28 Mar, 2014 1 commit
  5. 24 Mar, 2014 2 commits
  6. 18 Mar, 2014 1 commit
  7. 17 Mar, 2014 2 commits
  8. 04 Mar, 2014 1 commit
  9. 27 Feb, 2014 1 commit
  10. 26 Feb, 2014 1 commit
  11. 25 Feb, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds variance based fixed size partitioning · 10bae825
      Deb Mukherjee authored
      Adds a method for determining a fixed size partition based on
      variance of a 64x64 SB. This method is added to rtc speed 6.
      Also fixes a bug in rtc_use_partition() and includes some
      refactoring related to partitioning search, and some cosmetics.
      
      Currently compared to speed 5, the coding efficiency of speed 6
      is -19% and that of speed 7 is -55%, in cbr mode.
      
      Change-Id: I057e04125a8b765906bb7d4bf7a36d1e575de7c6
      10bae825
  12. 18 Feb, 2014 1 commit
  13. 14 Feb, 2014 2 commits
  14. 13 Feb, 2014 1 commit
    • Marco Paniconi's avatar
      Fix target frame size setting, for 1pass cbr. · e590e087
      Marco Paniconi authored
      Only use layered average size if number_temporal_layers > 1.
      
      Also removed unneeded commented-out line, and change some parameter
      setting in vpx_temporal_scalable_patterns.c
      
      Change-Id: Ic86e43e7daf0313e8c5a4aba1497299158111955
      e590e087
  15. 12 Feb, 2014 2 commits
    • Jim Bankoski's avatar
      static analysis warning in vp9_ratectrl.c · eb5889f8
      Jim Bankoski authored
      Change-Id: I8aa3dd068d9a7225b3e8b24392a7b4a54b9435dd
      eb5889f8
    • 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
  16. 10 Feb, 2014 3 commits
  17. 07 Feb, 2014 1 commit
  18. 06 Feb, 2014 2 commits
    • Deb Mukherjee's avatar
      Parameter fixes for one-pass non-cbr mode · b2209c33
      Deb Mukherjee authored
      Fixes some of the parameters for 1-pass non-cbr mode.
      Also includes some cleanups, inlcuding refactoring of the
      recode_loop options.
      
      Results on derfraw300 improve by about 5-6%, so that the one-pass
      mode is now 13% below the 2-pass mode in speed 0.
      
      Change-Id: I844cc2638694c7574f3be00d41d60b23dc1016f0
      b2209c33
    • Marco Paniconi's avatar
      Layer based rate control for CBR mode. · 4864ab21
      Marco Paniconi authored
      This patch adds a buffer-based rate control for temporal layers,
      under CBR mode.
      
      Added vpx_temporal_scalable_patters.c encoder for testing temporal
      layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns).
      
      Updated datarate unittest with tests for temporal layer rate-targeting.
      
      Change-Id: I8900a854288b9354d9c697cfeb0243a9fd6790b1
      4864ab21
  19. 05 Feb, 2014 1 commit
    • 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
  20. 04 Feb, 2014 1 commit
    • 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
  21. 03 Feb, 2014 1 commit
  22. 02 Feb, 2014 1 commit
    • Marco Paniconi's avatar
      Layer based rate control for CBR mode. · 6be2b750
      Marco Paniconi authored
      This patch adds a buffer-based rate control for temporal layers,
      under CBR mode.
      
      Added vpx_temporal_scalable_patters.c encoder for testing temporal
      layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns).
      
      Updated datarate unittest with tests for temporal layer rate-targeting.
      
      Change-Id: I9cb6cce2494390ae6096ee17774af7fb9308bde7
      6be2b750
  23. 01 Feb, 2014 1 commit
  24. 29 Jan, 2014 1 commit
    • 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
  25. 27 Jan, 2014 1 commit
  26. 24 Jan, 2014 1 commit
  27. 22 Jan, 2014 1 commit
  28. 18 Jan, 2014 1 commit
  29. 16 Jan, 2014 1 commit
    • Alex Converse's avatar
      Fix key frames for one pass. · 2b3891d9
      Alex Converse authored
      Set this_key_frame_forced flag and don't use kf_boost when not set.
      
      Change-Id: Ibe66a82fa9219e60db358ddeb43d6471816c8b50
      2b3891d9
  30. 14 Jan, 2014 2 commits
    • Deb Mukherjee's avatar
      Minor fix on an assert · 1699d6bd
      Deb Mukherjee authored
      Fixes assert that fails occasionally on small values of
      max-key frame intervals. Also, adds a small change on
      updating frames_to_key for frame drops.
      
      Change-Id: Icc2b33b25e3e4ced7e49f8db73e0a887ef9c99e0
      1699d6bd
    • 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
  31. 11 Jan, 2014 1 commit
  32. 10 Jan, 2014 1 commit