1. 27 Feb, 2014 2 commits
  2. 26 Feb, 2014 1 commit
    • Yaowu Xu's avatar
      Reduce the frequency of partition size adjsutment · fe0c09c2
      Yaowu Xu authored
      The commit change to use partitions sizes directly from last frame
      for frames directly where last frame selects partitions sizes based
      on coding efficiency.
      
      On --rt --cpu-used=-5, the change hurts compression by 4% but reduces
      encoding time by ~20%
      
      Change-Id: Ia68665e5c8489b7bfcf5fac7768332fba88928e6
      fe0c09c2
  3. 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
  4. 24 Feb, 2014 2 commits
    • Yunqing Wang's avatar
      Disable adaptive pred filter for non-split mode · fee045d1
      Yunqing Wang authored
      If sf->disable_split_mask is DISABLE_ALL_SPLIT, disable
      sf->adaptive_pred_interp_filter to avoid unnecessary operations.
      
      Change-Id: Icb59174b2f4e9a3c3c16a696deb8018e5bd999eb
      fee045d1
    • Deb Mukherjee's avatar
      Adds an intermediate speed level for rtc · 5f542408
      Deb Mukherjee authored
      Moves the existing speed 6 to speed 7 and adds an
      intermediate level 6 which is roughly in between
      speeds 6 and 7 in both speed and coding efficiency.
      Also includes some minor fixes/adjustments.
      
      Change-Id: I98befc4d82d750e79fe426c457c4a2571f6b6cc7
      5f542408
  5. 20 Feb, 2014 4 commits
  6. 19 Feb, 2014 2 commits
  7. 18 Feb, 2014 2 commits
    • Adrian Grange's avatar
      Remove comment from calls to vp9_clear_system_state. · 9b9c33a2
      Adrian Grange authored
      Removed the comment "// __asm emms;" from all calls
      to vp9_clear_system_state.
      
      Change-Id: Ib4dae69c1cdf3f185b04184a870cd70c4d703f10
      9b9c33a2
    • Yunqing Wang's avatar
      Use fast HEX search in real time mode · 360c80cf
      Yunqing Wang authored
      In good quality mode motion search, the best matches are normally
      found after searching in a large area. In real time mode, to make
      encoding fast, a center-biased fast HEX search is used, which
      converges quickly most of the time. A 4-point diamond search is
      also carried out as the following refining search, which gives more
      precise results, and maintains good motion search quality.
      
      At speed 5, the borg test on rtc set showed an overall PSNR loss of
      0.936%. The encoding speed gain is 4% - 5%.
      
      Change-Id: I42cd68bb56a09ca1b86293c99d5f7312225ca7ae
      360c80cf
  8. 16 Feb, 2014 1 commit
  9. 15 Feb, 2014 1 commit
  10. 14 Feb, 2014 1 commit
    • Deb Mukherjee's avatar
      Make cpi->speed always positive · 56835f1b
      Deb Mukherjee authored
      Minor fix to ensure that positive and negative cpu_used
      values produce the same output.
      
      Change-Id: I9157d05cb9a7c0bd57a4d8a9f268205a825b9b0b
      56835f1b
  11. 13 Feb, 2014 3 commits
    • Alex Converse's avatar
      Disable using golden frame modes if golden frames are not being used · edec8087
      Alex Converse authored
      Change-Id: I662c480ad49a242e10f1edb0c339ddbe2c6bccf4
      edec8087
    • Yaowu Xu's avatar
      Removed the reset of mode_info from previous frame · 896d79a5
      Yaowu Xu authored
      Prior to this commit, both encoder and decoder reset mode/mv info from
      previous frame in error resilient mode to ensure bitstreams are able to
      decode when there is loss of frame in decoder side. However, this is
      not necessary. This commit changed to remove the reset, so encoder can
      continue to use mode/mv/partition information from previously encoded
      frame without affecting decodeablilty under loss of frame.
      
      Change-Id: I0279f862900dc647fb471ae3389770bb1b9f454f
      896d79a5
    • Jingning Han's avatar
      Initialize internal buffer pointers in rtc mode · cc10ee0a
      Jingning Han authored
      In rtc coding mode, the encoder is running non-RD mode decision. It
      does not need dual buffer swap as was the case in the RD mode. This
      commit initializes the internal buffer pointers outside the block
      coding loop for rtc mode.
      
      Change-Id: Ie076705c60d6b7919217e3f1dfd49e7db5064ac2
      cc10ee0a
  12. 12 Feb, 2014 3 commits
    • Jingning Han's avatar
      Remove unused using_small_partition_info functions · 25479e94
      Jingning Han authored
      This function is deprecated after the re-design of partition search
      that runs big block size, then four-way split, followed by
      rectangular block sizes. This commit removes the related functions.
      
      Change-Id: I417549c8e0fa3cf35bd29816b805dd4e7c3660c6
      25479e94
    • Adrian Grange's avatar
      Minor cleanup. · 896a9ab9
      Adrian Grange authored
      Change-Id: I6ef0ce5371ed9e2a415dd8c08c93ad603f0ad7b2
      896a9ab9
    • 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
  13. 11 Feb, 2014 2 commits
    • 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
    • Paul Wilkins's avatar
      Modified Aq1 and Aq2 · f30b3231
      Paul Wilkins authored
      Aq 1 only updates segment map on kf and arf and
      only uses 3 segments. With these settings AQ1 is
      + for most clips in SSIM but negative in psnr.
      However, the penalty in PSNR is much less than
      previously.
      
      Old version aq1 average results for std hd
      -20.899% psnr, -5.809% SSIM
      New version aq1 for std hd
      -3.57% psnr, +1.23% SSIM
      
      Aq2 Now uses only 2 segments and rd.
      This mode is still slightly negative for most clips on
      psnr and SSIM but seems to have a much bigger visual
      impact on several problem clips than aq mode 1.
      
      Old results for std hd:
      -2.578% psnr, -1.151% SSIM
      New results for std hd:
      -1.561% psnr, -0.85% SSIM
      
      Change-Id: I94f57f8a73121629ce598fb921aad761c1450e1c
      f30b3231
  14. 10 Feb, 2014 5 commits
    • Jingning Han's avatar
      Use more meaningful names for speed features · 734938dc
      Jingning Han authored
      Use frame_parameter_update to precisely describe the functionality.
      
      Change-Id: Ia9a55ba8efef7b987e30d949dd00ac716189bdb9
      734938dc
    • 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
    • Frank Galligan's avatar
      Add get release decoder frame buffer functions. · e8e15279
      Frank Galligan authored
      This CL changes libvpx to call a function when a frame buffer
      is needed for decode. Libvpx will call a release callback when
      no other frames reference the frame buffer. This CL adds a
      default implementation of the frame buffer callbacks. Currently
      only VP9 is supported. A future CL will add support for
      applications to supply their own frame buffer callbacks.
      
      Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d
      e8e15279
    • Yaowu Xu's avatar
      Merged two similar functions to reduce duplication · 855070e2
      Yaowu Xu authored
      Function encode_rtc_frame_internal() and encode_frame_internal() only
      differed by a couple of speed features, this commit relocation those
      difference into the setup of speed features and merged two functions
      into one to remove duplication.
      
      It also fixed a subtle bug super_fast_rtc was used before it was
      initialized.
      
      Change-Id: I234a5a1d11a4450930e5b4943dbab434208d5030
      855070e2
    • Marco Paniconi's avatar
      Some updates and fixes for layered CBR mode. · 812bacc9
      Marco Paniconi authored
      -Properly set the average frame size for each layer.
      
      -Allow each layer to update its average/last Q stats after encoding.
      
      -Initialize for some layer context variables.
      
      Change-Id: Iaa37d144fcf4f30ff4283a4e8db8b9ca8bf4c815
      812bacc9
  15. 08 Feb, 2014 1 commit
  16. 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
  17. 05 Feb, 2014 4 commits
  18. 04 Feb, 2014 1 commit
    • Yaowu Xu's avatar
      Adjust speed feature for --rt · 084c49ac
      Yaowu Xu authored
      Moved a few features with low impact on compression form -5 to -4 and
      increased adaptive_rd_thresh for -5.
      
      Change-Id: Ib1b748168cc6ed7684ae4818499f3a536ae76253
      084c49ac
  19. 03 Feb, 2014 1 commit
  20. 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