1. 28 Aug, 2014 1 commit
    • Deb Mukherjee's avatar
      Updates vp9_pattern search to return integer sads · 04b100b2
      Deb Mukherjee authored
      Updates the vp9_pattern_search function to return integer one-away
      neighbors' sad values, for subsequent use in speeding up the
      sub-pel search. Also, removes code for the do_refine option
      which is not being used currently.
      Updates the integer and subpel functions to pass in a 5-element
      sad list for output or input.
      
      A new pruned sub-pel search algorithm is implemented that uses
      the sad returned from the integer pel search. But it is not
      deployed yet.
      
      Change-Id: Ifa9f5ad024b5b660570366d2bd900343e1891520
      04b100b2
  2. 26 Aug, 2014 2 commits
    • 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
    • Dmitry Kovalev's avatar
      Removing unused arnr_type from VP9EncoderConfig and vp9_extracfg. · 33f4e570
      Dmitry Kovalev authored
      Change-Id: Icab9a4399c5687453f4bec14b8cb5000464335e5
      33f4e570
  3. 25 Aug, 2014 1 commit
  4. 22 Aug, 2014 4 commits
  5. 21 Aug, 2014 1 commit
  6. 19 Aug, 2014 3 commits
  7. 18 Aug, 2014 1 commit
  8. 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
  9. 15 Aug, 2014 2 commits
  10. 08 Aug, 2014 3 commits
    • 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
  11. 06 Aug, 2014 1 commit
  12. 05 Aug, 2014 1 commit
  13. 29 Jul, 2014 1 commit
    • Jingning Han's avatar
      Use frame index directly in get_chessboard_index · c36f78b0
      Jingning Han authored
      The get_chessboard_index() used to call the entire VP9_COMMON
      struct pointer to retrieve the chessboard pattern index. This cl
      makes it call the frame index directly.
      
      Change-Id: I3cad9d209ea2e77a358085a04fe1ff0ddec5ba03
      c36f78b0
  14. 24 Jul, 2014 1 commit
  15. 21 Jul, 2014 1 commit
  16. 15 Jul, 2014 1 commit
  17. 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
  18. 09 Jul, 2014 1 commit
    • Yunqing Wang's avatar
      Remove repetitive code in mcomp.c · a581da21
      Yunqing Wang authored
      Deleted vp9_find_best_sub_pixel_comp_tree(), and combined it in
      vp9_find_best_sub_pixel_tree().
      
      Change-Id: Ifb25763c8b19822df5537cc1daa76ce88dc3b056
      a581da21
  19. 02 Jul, 2014 2 commits
    • 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
    • Paul Wilkins's avatar
      Multi-arf: Add code to turn it on and off. · 88307723
      Paul Wilkins authored
      Add test code to turn multi-arf on and off depending
      on group length and zero motion.
      
      Changes to active max group length for mult-arf.
      
      Fund second arf only from normal frame bits.
      
      Change-Id: I920287fac1c886428c15a39f731a25d07c2b796c
      88307723
  20. 01 Jul, 2014 1 commit
  21. 30 Jun, 2014 1 commit
    • Yunqing Wang's avatar
      Decide the partitioning threshold from the variance histogram · 9d41313e
      Yunqing Wang authored
      Before encoding a frame, calculate and store each 16x16 block's
      variance of source difference between last and current frame.
      Find partitioning threshold T for the frame from its variance
      histogram, and then use T to make partition decisions.
      
      Comparing with fixed 16x16 partitioning, rtc set test showed an
      overall psnr gain of 3.242%, and ssim gain of 3.751%. The best
      psnr gain is 8.653%.
      
      The overall encoding speed didn't change much. It got faster for
      some clips(for example, 12% speedup for vidyo1), and a little
      slower for others.
      
      Also, a minor modification was made in datarate unit test.
      
      Change-Id: Ie290743aa3814e83607b93831b667a2a49d0932c
      9d41313e
  22. 26 Jun, 2014 1 commit
    • Pengchong Jin's avatar
      Skip the partition search for the frame with no motion · 12861260
      Pengchong Jin authored
      This patch allows the encoder to skip the partition search for the
      frame if it is an inter frame and only zero motion vectors have
      been detected in the first pass. The partition size is directly
      assigned according to the difference variance.
      
      Borg tests show overall little performance changes in term of PSNR
      (derf -0.027%, yt 0.152%, hd 0.078%, stdhd 0%). The worst case of
      PSNR loss is -0.514% from yt. The best PSNR gain is 4.293% from yt.
      The second pass encoding speedup for slideshow clips is 15%-40%.
      
      Change-Id: I881f347d286553ee5594a9ea09ba1a61ac684045
      12861260
  23. 24 Jun, 2014 4 commits
    • Minghai Shang's avatar
      [spatial svc]Implement lag in frames for spatial svc · 277338f7
      Minghai Shang authored
      Change-Id: I930dced169c9d53f8044d2754a04332138347409
      277338f7
    • 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
  24. 20 Jun, 2014 1 commit
  25. 13 Jun, 2014 2 commits
  26. 12 Jun, 2014 1 commit