1. 25 Sep, 2014 1 commit
  2. 20 Sep, 2014 1 commit
    • hkuang's avatar
      Remove mi_grid_* structures. · c70cea97
      hkuang authored
      mi_grid_* are arrays of pointer to pointer. They save the pointers that point
      to the MIs in cm->mi. But they are unnecessary and complicated. The original
      goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
      inside MODE_INFO_t, same goal could be achieved.
      
      This commit totally removes the mi_grid_* structures. But there are still
      many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
      will do on-demand MODE_INFO_t allocation in order to save these memories.
      
      Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
      c70cea97
  3. 02 Sep, 2014 2 commits
    • Deb Mukherjee's avatar
      Adds config opt for highbitdepth + misc. vpx · 5acfafb1
      Deb Mukherjee authored
      Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
      Also includes most vpx level high bit-depth functions. However
      encode/decode in the highbitdepth profiles will not work until
      the rest of the code is in place.
      
      Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
      5acfafb1
    • Minghai Shang's avatar
      [svc] Temporal svc with two pass rate control · be3b08da
      Minghai Shang authored
      It's built based on current spatial svc code.
      We only support one spatial two temporal layers at this time.
      Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
      be3b08da
  4. 26 Aug, 2014 1 commit
    • Yaowu Xu's avatar
      add a new interp filter search strategy. · 1144fee3
      Yaowu Xu authored
      This commit addes a new strategy to reduce the search for optimal
      interpolation filter type. The encoder counts and store how many each
      filter type is selected and used for each of the reference frames.
      A filter type that is rarely used for all three reference frames is
      masked out to avoid computation.
      
      The impact on compression is neglectible:
      -0.02% on derf
      +0.02% on stdhd
      
      Encoding time is seen to reduce by 2~3%.
      
      Change-Id: Ibafa92291b51185de40da513716222db4b230383
      1144fee3
  5. 25 Aug, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Multiple frame context feature · d4a407c0
      Minghai Shang authored
      We can use one frame context for each layer so that we don't have
      to reset the probs every frame. But we can't use prev_mi since we
      may drop enhancement layers. So we have to generate a non vp9
      compatible bitstream and modify it in the player.
      1. We need to code all frames as invisible frame to let prev_mi
         not to be used. But in the bitstream we need to code the
         show_frame flag to 1 so that the publisher will know it's
         supposed to be a visible frame.
      2. In the player we need to change the show_frame flag to 0 for
         all frames. Then add an one byte frame into the super frame
         to tell the decoder which layer we want to show.
      Change-Id: I75b7304cf31f0ab952f043e33c034495e88f01f3
      d4a407c0
  6. 22 Aug, 2014 1 commit
  7. 14 Aug, 2014 1 commit
    • Adrian Grange's avatar
      Fix bug 837: realloc mode info buffers on resize · 4e30565a
      Adrian Grange authored
      The test to determine if the mode info buffers need
      to be resized when the frame size changes was
      incorrect, as per bug 837.
      
      By storing the size of the allocated data structure,
      a simple test determines whether to allocate more
      memory when the frame size changes.
      
      Change-Id: I1544698f2882cf958fc672485614f2f46e9719bd
      4e30565a
  8. 08 Aug, 2014 1 commit
    • Dmitry Kovalev's avatar
      Moving pass from VP9_COMP to VP9EncoderConfig. · 91c2f1e4
      Dmitry Kovalev authored
      We had a very complicated way to initialize cpi->pass from
      cfg->g_pass:
      switch (cfg->g_pass) {
        case VPX_RC_ONE_PASS:
          oxcf->mode = ONE_PASS_GOOD;
          break;
        case VPX_RC_FIRST_PASS:
          oxcf->mode = TWO_PASS_FIRST;
          break;
        case VPX_RC_LAST_PASS:
          oxcf->mode = TWO_PASS_SECOND_BEST;
          break;
      }
      
      cpi->pass = get_pass(oxcf->mode).
      
      Now pass is moved to VP9EncoderConfig and initialization is simple:
      switch (cfg->g_pass) {
        case VPX_RC_ONE_PASS:
          oxcf->pass = 0;
          break;
        case VPX_RC_FIRST_PASS:
          oxcf->pass = 1;
          break;
        case VPX_RC_LAST_PASS:
          oxcf->pass = 2;
          break;
      }
      
      Change-Id: I8f582203a4575f5e39b071598484a8ad2b72e0d9
      91c2f1e4
  9. 07 Aug, 2014 2 commits
  10. 06 Aug, 2014 2 commits
  11. 05 Aug, 2014 2 commits
  12. 04 Aug, 2014 1 commit
  13. 22 Jul, 2014 1 commit
    • James Zern's avatar
      vp9_bitstream.c: cosmetics · de4db2dc
      James Zern authored
      fix indent, spelling and drop some vertical whitespace
      
      Change-Id: I722671381a374a24763b07a02805ab1d149ab3f4
      de4db2dc
  14. 21 Jul, 2014 1 commit
  15. 18 Jul, 2014 1 commit
  16. 26 Jun, 2014 1 commit
    • Paul Wilkins's avatar
      Fix quality regression for multi arf off case. · 1c27e1f1
      Paul Wilkins authored
      Bug introduced during multiple iterations on: I3831*
      
      gf_group->arf_update_idx[] cannot currently be used
      to select the arf buffer index if buffer flipping on overlays
      is enabled (still currently the case when multi arf OFF).
      
      Change-Id: I4ce9ea08f1dd03ac3ad8b3e27375a91ee1d964dc
      1c27e1f1
  17. 24 Jun, 2014 4 commits
    • Paul Wilkins's avatar
      Dual ARF changes: Buffer index selection. · 60244ec1
      Paul Wilkins authored
      Add indirection to the section of buffer indices.
      This is to help simplify things in the future if we
      have other codec features that switch indices.
      
      Limit the max GF interval for static sections to fit
      the gf_group structures.
      
      Change-Id: I38310daaf23fd906004c0e8ee3e99e15570f84cb
      60244ec1
    • Paul Wilkins's avatar
      Further dual arf changes: multi_arf_allowed. · 9aca602e
      Paul Wilkins authored
      Add multi_arf_allowed flag.
      Re-initialize buffer indices every kf.
      Add some const indicators.
      
      Change-Id: If86c39153517c427182691d2d4d4b7e90594be71
      9aca602e
    • Paul Wilkins's avatar
      Clean out old CONFIG_MULTIPLE_ARF code. · 26110225
      Paul Wilkins authored
      Remove the old experimental multi arf code that was under
      the flag CONFIG_MULTIPLE_ARF.
      
      Change-Id: Ib24865abc11691d6ac8cb0434ada1da674368a61
      26110225
    • Paul Wilkins's avatar
      Experiment for mid group second arf. · 2e430cba
      Paul Wilkins authored
      This patch implements a mechanism for inserting a second
      arf at the mid position of arf groups.
      
      It is currently disabled by default using the flag multi_arf_enabled.
      
      Results are currently down somewhat in initial testing if
      multi-arf is enabled. Most of the loss is attributable to the
      fact that code to preserve the previous golden frame
      (in the arf buffer) in cases where we are coding an overlay
      frame, is currently disabled in the multi-arf case.
      
      Change-Id: I1d777318ca09f147db2e8c86d7315fe86168c865
      2e430cba
  18. 22 May, 2014 1 commit
  19. 02 May, 2014 1 commit
  20. 30 Apr, 2014 1 commit
  21. 23 Apr, 2014 1 commit
  22. 22 Apr, 2014 1 commit
    • Dmitry Kovalev's avatar
      Renaming "onyx" to "encoder". · ef003078
      Dmitry Kovalev authored
      Actual renames:
        vp9_onyx_if.c -> vp9_encoder.c
        vp9_onyx_int.h -> vp9_encoder.h
      
      Change-Id: I80532a80b118d0060518e6c6a0d640e3f411783c
      ef003078
  23. 08 Apr, 2014 1 commit
    • Deb Mukherjee's avatar
      High-level hooks for Profile 2 (10/12 bit) · d35df2d8
      Deb Mukherjee authored
      Adds some high-level hooks for profile 2 before further
      progress on the implementation.
      
      According to the definitiion in this patch:
      1. Profile 2 only supports 10 or 12 bit color but not 8
      2. Profile 2 supports all color sampling modes: 444, 422 and 420,
      and alpha plane.
      3. Profile 3 is currently undefined.
      
      Please consider the definition carefully and suggest modifications
      to the definition as needed.
      
      Change-Id: I5b284fc679e54ac5aee171af72fa7994cfd28995
      d35df2d8
  24. 04 Apr, 2014 1 commit
  25. 03 Apr, 2014 1 commit
  26. 02 Apr, 2014 2 commits
  27. 21 Mar, 2014 1 commit
  28. 20 Mar, 2014 1 commit
  29. 10 Mar, 2014 1 commit
  30. 08 Mar, 2014 1 commit
  31. 07 Mar, 2014 1 commit
  32. 05 Mar, 2014 1 commit