1. 07 Jul, 2015 1 commit
  2. 06 Jul, 2015 2 commits
    • James Zern's avatar
      remove vp9_get_interp_kernel() · 017253b7
      James Zern authored
      expose filter_kernels[] and do the table lookup directly
      
      Change-Id: I0b10bff0327c3e01a723736141a9ffd377cd3d20
      017253b7
    • Debargha Mukherjee's avatar
      Expose params min-gf-interval/max-gf-interval · 98526433
      Debargha Mukherjee authored
      Adds two new vp9 parameters --min-gf-interval and --max-gf-interval
      to enable testing based on frequency of alt-ref frames.
      
      Also adds a unit-test to test enforcement of min-gf-interval.
      
      For both these parameters the default value is 0, which indicates
      they are picked by the encoder, based on resolution and framerate
      considerations. If they are greater than zero, the specified
      parameter is honored.
      
      (Additional note by paulwilkins)
      Note that there is a slight oddity in that key frames are also GFs and
      considered part of  GF only group. However they are treated as not
      being part of an arf group because for arf groups the previous GF is
      assumed to be the terminal or overlay frame for the previous group.
      
      (end note)
      
      Change-Id: Ibf0c30b72074b3f71918ab278ccccc02a95a70a0
      98526433
  3. 02 Jul, 2015 1 commit
  4. 29 Jun, 2015 1 commit
  5. 19 Jun, 2015 1 commit
    • Marco's avatar
      Add dynamic resize logic for 1 pass CBR. · d77f51ba
      Marco authored
      Decision to scale down/up is based on buffer state and average QP
      over previous time window. Limit the total amount of down-scaling
      to be at most one scale down for now.
      
      Reset certain quantities after resize (buffer level, cyclic refresh,
      rate correction factor).
      
      Feature is enable via the setting rc_resize_allowed = 1.
      
      Change-Id: I9b1a53024e1e1e953fb8a1e1f75d21d160280dc7
      d77f51ba
  6. 16 Jun, 2015 1 commit
    • Marco's avatar
      Remove duplicate calls for set_frame_size in 1 pass mode. · 8914ab69
      Marco authored
      set_frame_size() is being called twice, once before entering
      encode_encode_frame_to_data_rate(), and once again in that function.
      No need to call it twice for one-pass mode.
      
      Change-Id: I5fabaf0a90482d4f42cd89ef7ae1402c31aec600
      8914ab69
  7. 13 Jun, 2015 1 commit
  8. 09 Jun, 2015 1 commit
    • Paul Wilkins's avatar
      Enable more split modes for animated content. · 4a28da58
      Paul Wilkins authored
      For content that is identified as likely to contain some
      animation or graphics content, increase the availability
      of split modes for good quality speeds 1-3.
      
      On a problem test animation clip this improves metrics
      results by about 0.25 db and makes a noticeable difference
      visually. It also causes a small drop in file size (~0.5%) but
      a rise in encode time of about 5-6% at speed  2.
      
      For more normal content it should have no effect.
      
      Change-Id: Ic4cd9a8de065af9f9402f4477a17442aebf0e439
      4a28da58
  9. 03 Jun, 2015 1 commit
    • Johann's avatar
      Duplicate reference variance code · ce2ca9f7
      Johann authored
      Some places are using the unoptimized variance function. This was never
      intended and does not fit into the optimization framework.
      
      Change-Id: Id96238407aad03b0ffd4a46cd183555a026daedc
      ce2ca9f7
  10. 02 Jun, 2015 1 commit
    • Marco's avatar
      Vidyo patch: Rate control for SVC, 1 pass CBR mode. · c139b81a
      Marco authored
      -Make Rate control work for SVC 1 pass CBR mode.
      -Added temporal layering mode.
      -Fixed bug in non-rd variance partition.
      -Modified/updated the sample encoders (vp9_spatial_svc_encoder, vpx_temporal_svc_encoder).
      -Added datarate unittest(s) for 1 pass CBR SVC.
      
      Change-Id: Ie94b1b68a56ea1267b5087c625e5df04def2ee48
      c139b81a
  11. 27 May, 2015 2 commits
  12. 26 May, 2015 2 commits
  13. 20 May, 2015 4 commits
    • Minghai Shang's avatar
      [svc] Disable tiles for spatial svc case · 9843e7c6
      Minghai Shang authored
      Change-Id: I8655a6760ab61947c09f337ddd9f4c1baf803a56
      9843e7c6
    • Minghai Shang's avatar
      [svc] Turn on frame_parallel_decoding_mode · e2c6a633
      Minghai Shang authored
      Change-Id: I33b0384ee87f83950e03be6c999bc5f193055fd3
      e2c6a633
    • paulwilkins's avatar
      Fast feedback of bits on undershoot. · 883fdd45
      paulwilkins authored
      This patch provides a partial rapid feedback of bits
      resulting from extreme undershoot.
      
      Some  improvement on some problem animated material
      but in its current form only a small impact on the metrics results
      of our standard test sets.
      
      Change-Id: Ie03036ea8123bc2553437cb8c8c9e7a9fc5dac5d
      883fdd45
    • paulwilkins's avatar
      Fix issues with mixed ARF and GF groups. · ade9693a
      paulwilkins authored
      This patch addresses two issues that can occur when the
      encoder chooses to use a mixture of ARF and GF groups.
      
      The first issue relates to a failure to reset the "ARF active" flag
      correctly when transitioning from coding ARF groups to coding
      GF groups. This caused some golden frames to be  encoded
      with an incorrect bit rate target as if they were ARF overlay frames.
      
      The second issue relates to the encoding of a single short GF group
      just before a key frame.  Where the last group before a key frame
      is an ARF group we expect the final frame before the key frame  to
      be an low data rate overlay frame. However, when the last  group
      is a GF group, the final frame before the key frame should be a normal
      frame with a normal bit allocation. This issue had the potential to cause
      a single poorly coded frame just before a key frame. If that key frame
      were a forced key frame rather than a real scene cut, this might cause
      pulsing.
      
      Change-Id: Idf1eb5eaf63a231495a74de7899236e1ead9fb00
      ade9693a
  14. 15 May, 2015 1 commit
  15. 14 May, 2015 1 commit
    • paulwilkins's avatar
      Revert "Skip the last frame update for some frame repeats." · eb8faf1c
      paulwilkins authored
      Testing on another rate control patch reveals that in some
      situations, where the encoder is flipping in and out of arf
      mode, we get an encoder decoder mismatch.
      
      Whilst it is still not clear why, skipping  the last buffer
      update seems to trigger the problem. Until I can establish
      why, or if there is another underlying cause, I am reverting
      this change.
      
      This reverts commit e5112b3a.
      
      Change-Id: I315c5200414de89458015823344b7367e9dd75ba
      eb8faf1c
  16. 13 May, 2015 1 commit
    • Johann's avatar
      Relocate memory operations for common code · 1d7ccd53
      Johann authored
      With the sad functions, and hopefully the variance functions soon,
      moving to the vpx_dsp location, place the defines used in the
      reference C code in a common location.
      
      Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
      1d7ccd53
  17. 12 May, 2015 1 commit
    • Yaowu Xu's avatar
      Protect new metric computation with use_highbitdepth flag · 3f42d108
      Yaowu Xu authored
      The computation of new metrics is not supported yet in highbitdepth
      mode. This commit adds protection to make sure the computation is
      done only when highbitdepth is not on. This protection shall be
      revised when support of highbitdpeth computation is added.
      
      This resolves the encoder crash when configured with both
      --enable-internal-stats
      --enable-vp9-highbitdepth
      
      Change-Id: Id9f4bcc4fa26d9ca0e9eabade83f3f88a5b212e6
      3f42d108
  18. 11 May, 2015 1 commit
  19. 08 May, 2015 1 commit
    • paulwilkins's avatar
      Skip the last frame update for some frame repeats. · e5112b3a
      paulwilkins authored
      Where a frame appears to be a repeat of an earlier
      frame or frame buffer,  but the first pass code
      does not anticipate this (usually because it is matching
      the GF or ARF buffer not the last frame buffer), do not
      update the last frame buffer.
      
      This helps ensure that the content of the last frame buffer
      is kept "different" where possible, and not updated to
      match the GF or ARF. This is particularly helpful in some
      animated sequences where there are groups of repeating
      frames. Here it has quite a big impact. However, in most
      of our standard test clips it has little or no impact.
      
      Change-Id: I77332ee1a69f9ffc0c6080bfeb811c43fd8828e6
      e5112b3a
  20. 06 May, 2015 1 commit
    • Johann's avatar
      Move shared SAD code to vpx_dsp · d5d92898
      Johann authored
      Create a new component, vpx_dsp, for code that can be shared
      between codecs. Move the SAD code into the component.
      
      This reduces the size of vpxenc/dec by 36k on x86_64 builds.
      
      Change-Id: I73f837ddaecac6b350bf757af0cfe19c4ab9327a
      d5d92898
  21. 29 Apr, 2015 2 commits
    • James Zern's avatar
      vpx_mem: remove vpx_memset · f58011ad
      James Zern authored
      vestigial. replace instances with memset() which they already were being
      defined to.
      
      Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
      f58011ad
    • James Zern's avatar
      vpx_mem: remove vpx_memcpy · f274c219
      James Zern authored
      vestigial. replace instances with memcpy() which they already were being
      defined to.
      
      Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
      f274c219
  22. 22 Apr, 2015 1 commit
  23. 21 Apr, 2015 2 commits
  24. 17 Apr, 2015 3 commits
  25. 16 Apr, 2015 1 commit
  26. 15 Apr, 2015 2 commits
  27. 02 Apr, 2015 1 commit
    • Yunqing Wang's avatar
      Set vbp thresholds for aq3 boosted blocks · cae03a7e
      Yunqing Wang authored
      The vbp thresholds are set seperately for boosted/non-boosted
      superblocks according to their segment_id. This way we don't
      have to force the boosted blocks to split to 32x32.
      
      Speed 6 RTC set borg test result showed some quality gains.
      Overall PSNR: +0.199%; Avg PSNR: +0.245%; SSIM: +0.802%.
      No speed change was observed.
      
      Change-Id: I37c6643a3e2da59c4b7dc10ebe05abc8abf4026a
      cae03a7e
  28. 24 Mar, 2015 1 commit
  29. 20 Mar, 2015 1 commit