1. 19 Mar, 2014 - 2 commits
    • Jingning Han's avatar
      Enable variable block size test in non-RD mode decision · 60f9ebc3
      Jingning Han authored
      This is an initial attempt to allow variable block size partition
      in non-RD coding flow. It tests 8x8, 16x16 and 32x32 block size per
      64x64 block, all using non-RD mode decision and the associated rate
      distortion costs from modeling, then selects the best block size to
      encode the entire 64x64 block. Such operations are triggered every
      other 3 frames. The blocks of intermediate frames will reuse the
      collocated block's partition type.
      
      It improves the compression performance by 13.2%. Note that the gains
      are not evenly distributed. For many hard clips, the compression
      performance is improved by 20% to 28%. Local speed test shows that
      it will also increase runtime by 50%, as compared to speed -7. It is
      now enabled in speed -6 setting.
      
      Change-Id: Ib4fb8659d21621c9075b3c369ddaa9ecb0a4b204
      60f9ebc3
    • Dmitry Kovalev's avatar
      Moving common code into vp9_update_mv_count(). · c9ec26f1
      Dmitry Kovalev authored
      Change-Id: I512482853bdf2695fbdf1c705a2ada354ccf76cf
      c9ec26f1
  2. 18 Mar, 2014 - 2 commits
  3. 17 Mar, 2014 - 1 commit
  4. 15 Mar, 2014 - 1 commit
  5. 14 Mar, 2014 - 4 commits
  6. 13 Mar, 2014 - 4 commits
  7. 12 Mar, 2014 - 2 commits
    • Deb Mukherjee's avatar
      Preliminary code for variance based paritioning · e39ecfaa
      Deb Mukherjee authored
      Brings back most of Jim's previous patch for choosing
      partitioning based on variance while making it compatible
      with the current state of the code. Also adds a
      nonrd_use_partition() function to recursively encode  for any
      arbitrary sb_type decisions within a 64x64 block; and
      includes some refactoring.
      
      Currently, when the VAR_BASED_PARTITIONING mode is turned on
      for speed 7, there is a 10+% speed-up observed.
      
      Experiments/improvements with this new partitioning method
      will be conducted subsequently.
      
      Change-Id: Ie6f43bfbde30583e941f450bf07c3b48828c9571
      e39ecfaa
    • Yaowu Xu's avatar
      Increase redo_frequency to 4 and cleanups · 6f5a1e03
      Yaowu Xu authored
      Clean-ups include
      a. redundant code in rt -5 speed feature settings
      b. code that guarantees square block availability in
      rd_auto_partition_range()
      
      Change-Id: Ic7b04d45b6dc15c461e0edbbb4e78aec20348291
      6f5a1e03
  8. 11 Mar, 2014 - 3 commits
  9. 10 Mar, 2014 - 4 commits
  10. 07 Mar, 2014 - 2 commits
    • Dmitry Kovalev's avatar
      General cleanup in vp9_encodeframe.c. · 51a0e982
      Dmitry Kovalev authored
      Change-Id: I446fca8aa11a4d4fc2b23d4b32348b74d74d0202
      51a0e982
    • Jingning Han's avatar
      Use modeled rate distortion costs for non-RD mode · 539c961e
      Jingning Han authored
      This commit replaces SAD cost with modeled rate-distortion cost
      for non-RD mode decision. It translates the prediction residual
      SSE into estimate rate and reconstruction distorion costs, hence
      capturing the quantization setting effect. The compression
      performance of speed -7 for rtc set is improved by 14.79%.
      
      Change-Id: Ifda014eb0501d13109fe7f92680bf1410b463632
      539c961e
  11. 05 Mar, 2014 - 3 commits
  12. 03 Mar, 2014 - 1 commit
  13. 01 Mar, 2014 - 2 commits
  14. 28 Feb, 2014 - 3 commits
    • Deb Mukherjee's avatar
      Adds speed 8 to vp9 as reference · f872a98b
      Deb Mukherjee authored
      Adds a speed 8 to VP9 where only the nearestmv (0 mv) is searched.
      This seems to be about the same speed as vp8 speed 5.
      
      Adds a new speed feature to disable inter modes based on a mask for
      each blocksize.
      
      Adds code for having lower complexity motion search methods
      in nonrd pick mode function, even though speed 7 still uses DIAMOND
      search for now.
      
      Also uses HEX search for speed 6 rather than FAST_HEX which improves
      psnr by 0.56% without any noticeable speed drop (tested on gipsmotion).
      
      Change-Id: Ic13176572dbd3aed5884a26786940a4b1bbd8a75
      f872a98b
    • Jingning Han's avatar
      Fix potential invalid partition size use · bf5e9221
      Jingning Han authored
      For blocks at frame boundary, the selected block size sometimes needs
      to be smaller than that was first given. This commit forces such block
      size change only between square blocks, so as to avoid the potential
      use case containing 32x16 + 16x8 + 16x8, for 1080p sequences.
      
      Local test suggested no visible coding speed difference. Borg test
      reveals no difference in terms of compression performance.
      
      Change-Id: Ie8de87f3c6febc3acf11b4cbfdf2077f9f6def52
      bf5e9221
    • Dmitry Kovalev's avatar
      Cleaning up vp9_quantize.c. · f527c46f
      Dmitry Kovalev authored
      Change-Id: I9a38af32f16f196b83dd69755eafb9543edf5691
      f527c46f
  15. 27 Feb, 2014 - 3 commits
    • Deb Mukherjee's avatar
      Turns variance based partitioning on in Speed 7 · ed575544
      Deb Mukherjee authored
      Improves coding efficiency by about 1%, increases speed by
      about 15-20% over exsiting speed 7.
      
      Change-Id: Ibf5b9b5a5c8548e863ce19047c42b579aac21d19
      ed575544
    • Jingning Han's avatar
      Remove arguments not in use in non-RD decision · 23a82ef5
      Jingning Han authored
      This commit removes a few arguments that are not used in the
      non-RD mode decision.
      
      Change-Id: I0d878bb5a7dba1b34fe0b64afe55bf11b1a9a2d7
      23a82ef5
    • Deb Mukherjee's avatar
      Refines variance based partitioning search · 90d13337
      Deb Mukherjee authored
      Instead of using source variance, this patch uses variance of the
      frame difference between the source and the current frame to make
      fixed size partition decisions. Also disables adjusting partitioning
      if variance based or fixed size partitioning is used.
      
      The latter change improves the speed substantially for speed 6, so
      that speed 7 is now less than 3x the speed of speed 6. But speed
      6 is 48% better in psnr on the rtc set compared to speed 7.
      
      As compared to speed 5,
      speed 6 is -37% in psnr at about 2.5x the speed,
      speed 7 is -55% in psnr at about 7x the speed.
      
      Change-Id: If61d80431d3e04ed304ac05832e773cdb2c0a578
      90d13337
  16. 26 Feb, 2014 - 2 commits
  17. 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