1. 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
  2. 22 Aug, 2014 3 commits
  3. 21 Aug, 2014 1 commit
  4. 19 Aug, 2014 3 commits
  5. 18 Aug, 2014 2 commits
  6. 16 Aug, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing vp9_rescale(). · 1acc96fb
      Dmitry Kovalev authored
      Now everything is int64_t, so we don't need that function.
      
      Change-Id: I7dd2023677b4943ecd968d68cc06f9d4862c3c3f
      1acc96fb
  7. 15 Aug, 2014 2 commits
  8. 12 Aug, 2014 1 commit
  9. 09 Aug, 2014 1 commit
  10. 08 Aug, 2014 5 commits
    • Dmitry Kovalev's avatar
      Simplifying vp9_set_speed_features() function. · cd1fbc67
      Dmitry Kovalev authored
      Change-Id: I3e67230690b81ef54ef48ae26107fe7bc880ab8e
      cd1fbc67
    • Dmitry Kovalev's avatar
      Moving framerate from VP9EncoderConfig to VP9_COMP. · 5a78c406
      Dmitry Kovalev authored
      Framerate changes over time, VP9EncoderConfig supposed to have static
      read-only data.
      
      Change-Id: I36580a7ee71243c1eabb57691089691731d03e67
      5a78c406
    • 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
    • Adrian Grange's avatar
      Common encode/decode function to get reference frame · 1ebf52df
      Adrian Grange authored
      Replaced encoder and decoder functions to get a pointer
      to a reference frame with a common function, vp9_get_ref_frame,
      and simplified it.
      
      Change-Id: Icb206fcce8caace3bfd1db3dbfa318dde79043ee
      1ebf52df
    • Adrian Grange's avatar
      Remove coding_use_prev_mi member from VP9_COMMON · 75b42a49
      Adrian Grange authored
      This was shadowing the use of error_resilient_mode, but with
      the opposite sense.
      
      Change-Id: Ie4d30263a304fe4b3e94f0c7741db6888cc6afd8
      75b42a49
  11. 07 Aug, 2014 1 commit
    • Deb Mukherjee's avatar
      Changes hdr for profiles > 1 for intraonly frames · 09bf1d61
      Deb Mukherjee authored
      Specifies the bit-depth, color sampling and colorspace
      for intra only frames for profiles > 0
      
      Also adds checks to ensure that profile 1 and 3 are
      exclusively used for non 420 streams.
      
      Change-Id: Icfb15fa1acccbce8f757c78fa8a2f60591360745
      09bf1d61
  12. 06 Aug, 2014 1 commit
  13. 05 Aug, 2014 1 commit
    • Adrian Grange's avatar
      Create function vp9_preserve_existing_gf · 0984121f
      Adrian Grange authored
      This code was being called from two places and
      difficult to parse. I rationalized it in to a
      function to improve readability.
      
      Change-Id: I154b8fe0b84e6c01e69601e78e67bd47c954d8b6
      0984121f
  14. 04 Aug, 2014 1 commit
  15. 24 Jul, 2014 1 commit
  16. 23 Jul, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Fix reference issues · 929001bf
      Minghai Shang authored
      1. Remove last reference flag for first frame upper layers in one pass mode.
      2. Disable refresh golden frame flag for key frames.
      
      Change-Id: I44ac1bd2c795169e4fbfdd078ea79a1d33a204d6
      929001bf
  17. 22 Jul, 2014 2 commits
  18. 21 Jul, 2014 2 commits
    • Alex Converse's avatar
      Remove unfinished VP9 alpha channel. · 5926e7c0
      Alex Converse authored
      Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
      5926e7c0
    • Yaowu Xu's avatar
      Moved call to vp9_clear_system_state() to a proper location · bcaf1d69
      Yaowu Xu authored
      The commit moved a call to vp9_clear_system_state() to a correct
      location, i.e. prior function calls using floating point numbers.
      This was to fix a mismatch mmx code and sse2 version, where a
      floating point number used in adjust_frame_rate(cpi) gets NAN due
      to mmx registers being in wrong state.
      
      Change-Id: I40e0a6de98812000ccee6a729badb630604fd7e6
      bcaf1d69
  19. 17 Jul, 2014 2 commits
    • Pengchong Jin's avatar
      Fixed a bug of setting wrong first pass mb stats pointer · e358ab5f
      Pengchong Jin authored
      The bug sets the wrong pointer to the first pass mb stats
      if the encoder does the re-coding in the second pass.
      
      Change-Id: I8a11f45dd7dceb38de814adec24cecccae370d00
      e358ab5f
    • Adrian Grange's avatar
      Modified frame buffer handling · f68aaa38
      Adrian Grange authored
      This patch is the first step toward simplifying the
      frame buffer handling.
      
      The final goal is to have a common frame buffer handling
      framework for both encoder and decoder that incorporates
      the existing ability to use externally allocated memory.
      
      Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1
      f68aaa38
  20. 16 Jul, 2014 2 commits
    • Yaowu Xu's avatar
      make default_interp_filter choice a speed feature · 51c60a89
      Yaowu Xu authored
      This commit changed the hard-coded DEFAULT_INTERP_FILTER to a speed
      feature with the same default value: SWITCHABLE.
      
      Change-Id: I7f54f40f1bd3f5277841d04b85db7a84e47313f1
      51c60a89
    • Paul Wilkins's avatar
      Changes to rd balance and multi-arf bug fix. · b691230d
      Paul Wilkins authored
      2 pass only change to calculation of rd mult based on Q.
      Make a small adjustment based on frame type and also
      replace adjustment based on iifactor with an one based
      on the ambient GF/ARF boost level.
      
      Also fix multi arf bug / issue.
      
      Overall these change give an slight improvement in ssim
      but hurt psnr a little.
      
      Change-Id: I5e1751e3ff5390a26f543d7855059e6fbcce105e
      b691230d
  21. 15 Jul, 2014 1 commit
  22. 14 Jul, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Implement alt reference frames · e899859c
      Minghai Shang authored
      All changes are for spatial svc only.
      1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer
      2. Use golden reference idx for spatial reference
      3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers
      4. Add "auto-alt-refs" in svc options
      Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
      e899859c
  23. 11 Jul, 2014 2 commits
  24. 08 Jul, 2014 1 commit
    • Tim Kopp's avatar
      Vp9 denoiser MC bugfix · 3c86228c
      Tim Kopp authored
      In the previous version, only certain buffers in the macroblockd were saved and
      the restored. In this version, all of the buffers are saved and restored. The
      code was then rolled into a loop for readability.
      
      Also contains a tiny fix for when the -DOUTPUT_YUV_DENOISED flag is used.
      
      Change-Id: Id925ef8b3fa122ae88acfa1d9a1e4df45df83518
      3c86228c
  25. 02 Jul, 2014 1 commit
    • Alex Converse's avatar
      Split vp9_rdopt into vp9_rdopt and vp9_rd. · 03c276ea
      Alex Converse authored
      vp9_rdopt is for making rd optimal mode decisions. vp9_rd is for all
      other rd related routines. Anything used outside of making an rd optimal
      decision belongs in rd.
      
      Change-Id: I772a3073f7588bdf139f551fb9810b6864d8e64b
      03c276ea