1. 13 Aug, 2015 1 commit
  2. 12 Aug, 2015 5 commits
  3. 11 Aug, 2015 1 commit
  4. 10 Aug, 2015 1 commit
  5. 07 Aug, 2015 1 commit
  6. 05 Aug, 2015 1 commit
    • Scott LaVarnway's avatar
      VPX: remove scaled calls from FUN_CONV_1D · 4e6b5079
      Scott LaVarnway authored
      and FUN_CONV_2D macros.  The predict lut now handles
      this case.  The encoder now calls vpx_scaled_2d() instead
      of vpx_convolve8() for scaling.
      
      Change-Id: Ia1c8af8a31e4cb4887a587143108cb45835f7df7
      4e6b5079
  7. 03 Aug, 2015 1 commit
    • Yaowu Xu's avatar
      Correct the allocation size for ssim_vars · 8f089cbd
      Yaowu Xu authored
      Ssim_vars is used to accumulate stats based 4x4 pixel blocks, this
      commit changes the allocations size to be based on mi_rows and mi_cols
      to avoid out-of-bound memory access for larger size videos. The hard
      coded 720x480 can only work for image size up to 2880x1920.
      
      Change-Id: Id9d07f3f777385b448ac88a6034b7472e4cf3c79
      8f089cbd
  8. 31 Jul, 2015 1 commit
    • Zoe Liu's avatar
      Code refactor on InterpKernel · 7186a2dd
      Zoe Liu authored
      It in essence refactors the code for both the interpolation
      filtering and the convolution. This change includes the moving
      of all the files as well as the changing of the code from vp9_
      prefix to vpx_ prefix accordingly, for underneath architectures:
      (1) x86;
      (2) arm/neon; and
      (3) mips/msa.
      The work on mips/drsp2 will be done in a separate change list.
      
      Change-Id: Ic3ce7fb7f81210db7628b373c73553db68793c46
      7186a2dd
  9. 28 Jul, 2015 1 commit
  10. 23 Jul, 2015 1 commit
  11. 20 Jul, 2015 1 commit
  12. 15 Jul, 2015 1 commit
    • Marco's avatar
      Fix to source scaling for dynamic_resize. · 7b756183
      Marco authored
      The fast scaling for 1 pass mode was being used only on the
      first frame after resizing event (because resize_scale_num/den
      is set to 1 and only changed for first frame following resize event).
      
      Change-Id: I723b63e21823eb858f25f5662d2bbe4f1842e61f
      7b756183
  13. 14 Jul, 2015 1 commit
    • Marco's avatar
      Fix to resize logic for 1 pass mode. · dc7da005
      Marco authored
      Proper use/update of resize_state and resize_pending to constrain
      the total amount of downsizing to be at most one scale down, for now.
      
      Change-Id: Id18fc32499f2fbdbec16728dcdc9e4eac09098f0
      dc7da005
  14. 10 Jul, 2015 1 commit
  15. 08 Jul, 2015 2 commits
  16. 07 Jul, 2015 2 commits
  17. 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
  18. 02 Jul, 2015 1 commit
  19. 29 Jun, 2015 1 commit
  20. 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
  21. 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
  22. 13 Jun, 2015 1 commit
  23. 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
  24. 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
  25. 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
  26. 27 May, 2015 2 commits
  27. 26 May, 2015 2 commits
  28. 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