1. 21 Sep, 2015 1 commit
    • jackychen's avatar
      Change size on first frame and change config cause crash. · 55f092db
      jackychen authored
      Reallocation of mi buffer fails if change size on the first frame and
      change config in subsequent frames. Add a condition for resolution
      check to avoid assertion failure.
      
      BUG=1074
      
      Change-Id: Ie26ed816a57fa871ba27a72db9805baaaeaba9f3
      55f092db
  2. 16 Sep, 2015 1 commit
    • Ronald S. Bultje's avatar
      Add support for color-range. · eeb5ef0a
      Ronald S. Bultje authored
      In decoder, export (eventually) into vpx_image_t.range field. In
      encoder, use oxcf->color_range to set it (same way as for
      color_space).
      
      See issue 1059.
      
      Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
      eeb5ef0a
  3. 15 Sep, 2015 1 commit
    • Marco's avatar
      Add cyclic refresh parameters to svc-layer context. · eb53c69e
      Marco authored
      For 1 pass CBR spatial-SVC:
      Add cyclic refresh parameters to the svc-layer context.
      
      This allows cyclic refresh (aq-mode=3) to be applied to
      the whole super-frame (all spatial layers).
      This gives a performance improvement for spatial layer encoding.
      
      Addd the aq_mode mode on/off setting as command line option.
      
      Change-Id: Ib9c3b5ba3cb7851bfb8c37d4f911664bef38e165
      eb53c69e
  4. 14 Sep, 2015 1 commit
  5. 11 Sep, 2015 1 commit
    • Marco's avatar
      Avoid scaling last_source, unless needed. · e8a4a3e2
      Marco authored
      Save some encoding time, for the case of spatial layers
      or under dynamic resizing mode.
      
      Change-Id: If4a8eb6f0376c3d2dde8465fde6bfd86ab704920
      e8a4a3e2
  6. 10 Sep, 2015 1 commit
  7. 03 Sep, 2015 1 commit
    • Marco's avatar
      Fix to dynamic resize mode under change_config(). · be3489ea
      Marco authored
      If the encoder dynamic resize is triggered and change config()
      is then called, it will reset the current (resized) codec width/height
      back to the the config (unresized) width/height (which will then
      prevent the resizing action from occurring in encoder_loop).
      
      Avoid this by checking for a change in the config width/height
      before resetting the cm->width/height.
      
      Change-Id: Id9d50c0ee8a943abe4b6c72bbaa02d9696f93177
      be3489ea
  8. 02 Sep, 2015 1 commit
  9. 31 Aug, 2015 1 commit
  10. 29 Aug, 2015 1 commit
  11. 28 Aug, 2015 1 commit
    • Marco's avatar
      Fix to golden update in cyclic_refresh. · bc0a9743
      Marco authored
      For one pass CBR: only check for updating refresh_golden
      if ext_refresh_frame_flags_pending is not set (i.e., == 0).
      And move the resetting of ext_refresh_frame_flags_pending = 0
      down to after the encode_loop (and account for dropped frames).
      
      This is to prevent changing refresh_golden flga when the user
      supplies the reference/update flags.
      
      Change-Id: I4d87b3e705ba43f243667e367503b585c61e2a54
      bc0a9743
  12. 27 Aug, 2015 1 commit
  13. 20 Aug, 2015 1 commit
    • Marco's avatar
      Update to dynamic resize for 1 pass CBR: source scaling. · 93ffe9d6
      Marco authored
      Switch to use the normative (convolve8) filter for source scaling,
      only for 1/2x1/2 scaling for now. This is faster and has better
      quality than either the vpx_scale_frame or the nonnormative scaler.
      
      Remove the vp9_scale_if_required_fast, which is now not used.
      
      Change-Id: I2f7d73950589d19baafb1fa650eac987d531bcc8
      93ffe9d6
  14. 18 Aug, 2015 1 commit
    • Marco's avatar
      Allow for re-encoding frame if high overshoot. · 42b67917
      Marco authored
      For 1 pass CBR mode under screen content mode:
      if pre-analysis (source temporal-sad) indicates significant
      change in content, then check the projected frame size after
      encode_frame(), and if size is above threshold, force re-encode
      of that frame at max QP.
      
      Change-Id: I91e66d9f3167aff2ffcc6f16f47f19f1c21dc688
      42b67917
  15. 14 Aug, 2015 1 commit
  16. 13 Aug, 2015 1 commit
  17. 12 Aug, 2015 1 commit
  18. 11 Aug, 2015 1 commit
  19. 10 Aug, 2015 1 commit
  20. 07 Aug, 2015 1 commit
  21. 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
  22. 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
  23. 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
  24. 28 Jul, 2015 1 commit
  25. 23 Jul, 2015 1 commit
  26. 20 Jul, 2015 1 commit
  27. 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
  28. 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
  29. 10 Jul, 2015 1 commit
  30. 08 Jul, 2015 2 commits
  31. 07 Jul, 2015 2 commits
  32. 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
  33. 02 Jul, 2015 1 commit
  34. 29 Jun, 2015 1 commit
  35. 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
  36. 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
  37. 13 Jun, 2015 1 commit