1. 24 Mar, 2014 - 1 commit
    • Jingning Han's avatar
      Enable recursive partition selection for non-RD coding mode · 6b6d3886
      Jingning Han authored
      This commit enables a recursive partition type search for non-RD
      mode decisions. It allows the encoder to choose variable block
      sizes in a 64x64 block based on rate-distortion modeling.
      
      It improves speed -6 coding efficiency for rtc set by 2.4%. Most
      of the gains come from 32-40dB range, where many sequences gain
      about 5% to 20%. Local tests suggest there is no speed change.
      
      Change-Id: I06300016e500a21652812b7b3b081db39a783d66
      6b6d3886
  2. 21 Mar, 2014 - 5 commits
    • Jingning Han's avatar
      Reformat non-RD coding flow · 89cc421e
      Jingning Han authored
      This commit reformats non-RD coding flow layout to allow mode
      decision with fixed and variable block sizes.
      
      Change-Id: I2cdd3bb9f26c499ee4a9849004fd925cdd195d09
      89cc421e
    • Marco Paniconi's avatar
      Rename the aq_mode files. · 03a9e5ed
      Marco Paniconi authored
      Change-Id: Id76a628495c822e23825b66a7589b4a3279680e2
      03a9e5ed
    • Yaowu Xu's avatar
      Fix a valgrind error · e993fb5e
      Yaowu Xu authored
      Valgrind was complaining uninitialzed values are being used.
      
      Change-Id: Ia9eb619f4e67d1fb7af1057d50304f15adc02aab
      e993fb5e
    • Paul Wilkins's avatar
      Fix bad speed settings interaction. · 2e05341a
      Paul Wilkins authored
      The flag x->skip_recode interacts badly with
      the cpi->sf.use_nonrd_pick_mode and
      cpi->sf.skip_encode_sb speed settings.
      
      Restricting the use of the skip_decode flag when
      these other speed choices are in use helps quality
      for speeds 3 and 4 by a large amount with only a
      small impact on speed.
      
      Average improvmentes for 2 pass speed 4:
      Derf +8.8%
      Yt + 10.53%
      Std-Hd +6.95%
      yt-hd + 22.95%
      
      Change-Id: I8010876d8012042a11077c92e69d813c3dfa58eb
      2e05341a
    • Yaowu Xu's avatar
      Use local vairable in rd_auto_partition_range() · 0de216a9
      Yaowu Xu authored
      In addition to a few cleanups.
      
      Change-Id: Ice5938ef494513921a47e7c64ba9928f2202e24e
      0de216a9
  3. 20 Mar, 2014 - 1 commit
  4. 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
  5. 18 Mar, 2014 - 2 commits
  6. 17 Mar, 2014 - 1 commit
  7. 15 Mar, 2014 - 1 commit
  8. 14 Mar, 2014 - 4 commits
  9. 13 Mar, 2014 - 4 commits
  10. 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
  11. 11 Mar, 2014 - 3 commits
  12. 10 Mar, 2014 - 4 commits
  13. 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
  14. 05 Mar, 2014 - 3 commits
  15. 03 Mar, 2014 - 1 commit
  16. 01 Mar, 2014 - 2 commits
  17. 28 Feb, 2014 - 2 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