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. 22 Aug, 2014 1 commit
  3. 19 Aug, 2014 2 commits
  4. 12 Aug, 2014 1 commit
  5. 08 Aug, 2014 1 commit
  6. 05 Aug, 2014 1 commit
  7. 30 Jul, 2014 1 commit
  8. 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
  9. 24 Jul, 2014 1 commit
  10. 15 Jul, 2014 2 commits
  11. 11 Jul, 2014 3 commits
    • Jingning Han's avatar
      Fix a potential invalid memory access in non-RD coding flow · b957439c
      Jingning Han authored
      This commit fixes a potential out-of-boundary memory access due to
      the use of reuse_inter_pred_sby in the non-RD coding flow. It
      resolves the corresponding asan error.
      
      Change-Id: Iff605f5921230966990013541cd855d698810922
      b957439c
    • Jingning Han's avatar
      Fix chrome valgrind warning due to the use of mismatched bsize · 3cddd81c
      Jingning Han authored
      This commit fixes a mismatched use case of block size in non-RD
      intra prediction check. The residual SSE and variance should be
      calculated per transform block size, instead of operating block
      size, which caused chrome valgrind warning on conditional jump
      based on uninitialized value (webm issue 823). This commit
      resolves this issue.
      
      Change-Id: I595c06599c7e0fd0e4a08736519ba68fc14bc79a
      3cddd81c
    • Yunqing Wang's avatar
      Code refactoring: use defined inline functions · 1b5e9871
      Yunqing Wang authored
      Changed to use defined inline functions consistently through
      the code.
      
      Change-Id: I7644d24fa7a837378564a6e0790416d3725dd200
      1b5e9871
  12. 09 Jul, 2014 3 commits
    • Yaowu Xu's avatar
      Minor cleanup · 87cf002e
      Yaowu Xu authored
      Change-Id: I3a3ceeeed489f8b1ccd7199ff97f3fb991bbf5a4
      87cf002e
    • 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
    • Yaowu Xu's avatar
      Combined non-rd motion searchs into a single function · c788bceb
      Yaowu Xu authored
      This commit combined the full pel and sub pel motion search into a
      single function to avoid code duplication. The commit does not change
      encoder outputs.
      
      Change-Id: Ibe18342c4f64073bef20f9cf6c6ca0a20d01bf0d
      c788bceb
  13. 02 Jul, 2014 3 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
    • Tim Kopp's avatar
      VP9 denoising enabled by noise_sensitivity param · 9c9922df
      Tim Kopp authored
      As in VP8.
      
      Currently, this parameter is set with the VP8E_SET_NOISE_SENSITIVITY flag.
      The flag was not renamed so that we don't break the interface for webrtc. This
      should probably be changed at some point in the future.
      
      Change-Id: Ic73fcb0dde9d1d019e9d042050b617333ac65472
      9c9922df
    • Yaowu Xu's avatar
      Added a speed feature controlling a motion search parameter · 92a6db79
      Yaowu Xu authored
      This commit added a speed feature to control the step_param used in
      full pixel motion search. The intention is to reduced the search
      steps for high speed real time coding.
      
      Change-Id: I21d2f0105c2b647783a6688615da7fcf2b6d670b
      92a6db79
  14. 30 Jun, 2014 2 commits
  15. 27 Jun, 2014 1 commit
  16. 26 Jun, 2014 5 commits
    • Jingning Han's avatar
      Adaptive txfm size selection depending on residual sse/variance · 5a3e3c6d
      Jingning Han authored
      This commit enables an adaptive transform size selection method
      for speed -6. It uses largest transform size when the sse is more
      than 4 times of variance, i.e., most energy is compacted in the
      DC coefficient. Otherwise, use the default TX_8X8. It improves
      the compression efficiency for rtc set of speed -6 by 0.8%, no
      speed change observed.
      
      Change-Id: Ie6ed1e728ff7bf88ebe940a60811361cdd19969c
      5a3e3c6d
    • Alex Converse's avatar
      Use UV prediction when deciding to skip in for lossless. · aed52718
      Alex Converse authored
      Change-Id: Ic149749157d762039446d14472d40d9211c6451a
      aed52718
    • Jingning Han's avatar
      Enable real-time version reference motion vector search · 46ea9ec7
      Jingning Han authored
      This commit enables a fast reference motion vector search scheme.
      It checks the nearest top and left neighboring blocks to decide the
      most probable predicted motion vector. If it finds the two have
      the same motion vectors, it then skip finding exterior range for
      the second most probable motion vector, and correspondingly skips
      the check for NEARMV.
      
      The runtime of speed -5 goes down
      pedestrian at 1080p 29377 ms -> 27783 ms
      vidyo at 720p       11830 ms -> 10990 ms
      i.e., 6%-8% speed-up.
      
      For rtc set, the compression performance
      goes down by about -1.3% for both speed -5 and -6.
      
      Change-Id: I2a7794fa99734f739f8b30519ad4dfd511ab91a5
      46ea9ec7
    • Jingning Han's avatar
      Add const mark to const values in non-RD coding mode · 99e25ec4
      Jingning Han authored
      Change-Id: I65209fd1e06fc06833f6647cb028b414391a7017
      99e25ec4
    • Jingning Han's avatar
      Make non-RD intra mode search txfm size dependent · 2aa50eaf
      Jingning Han authored
      This commit fixes the potential issue in the non-RD mode decision
      flow that only checks part of the block to estimate the cost. It
      was due to the use of fixed transform size, in replacing the
      largest transform block size. This commit enables per transform
      block cost estimation of the intra prediction mode in the non-RD
      mode decision.
      
      Change-Id: I14ff92065e193e3e731c2bbf7ec89db676f1e132
      2aa50eaf
  17. 24 Jun, 2014 3 commits
    • Alex Converse's avatar
      Allow lossless breakout in non-rd mode decision. · 1409d1e1
      Alex Converse authored
      This is very helpful for large moving windows in screencasts.
      
      Change-Id: I91b5f9acb133281ee85ccd8f843e6bae5cadefca
      1409d1e1
    • Jingning Han's avatar
      Replace cpi->common with preset variable cm · 9e558344
      Jingning Han authored
      This commit replaces a few use cases of cpi->common with preset
      variable cm, to avoid unnecessary pointer fetch in the non-RD
      coding mode.
      
      Change-Id: I4038f1c1a47373b8fd7bc5d69af61346103702f6
      9e558344
    • Yunqing Wang's avatar
      Reuse inter prediction result in real-time speed 6 · 0aae1000
      Yunqing Wang authored
      In real-time speed 6, no partition search is done. The inter
      prediction results got from picking mode can be reused in the
      following encoding process. A speed feature reuse_inter_pred_sby
      is added to only enable the resue in speed 6.
      
      This patch doesn't change encoding result. RTC set tests showed
      that the encoding speed gain is 2% - 5%.
      
      Change-Id: I3884780f64ef95dd8be10562926542528713b92c
      0aae1000
  18. 20 Jun, 2014 1 commit
  19. 19 Jun, 2014 1 commit
  20. 18 Jun, 2014 2 commits
    • Yunqing Wang's avatar
      Modify non-rd intra mode checking · 55834d42
      Yunqing Wang authored
      Speed 6 uses small tx size, namely 8x8. max_intra_bsize needs to
      be modified accordingly to ensure valid intra mode checking.
      Borg test on RTC set showed an overall PSNR gain of 0.335% in speed
      -6.
      
      This also changes speed -5 encoding by allowing DC_PRED checking
      for block32x32. Borg test on RTC set showed a slight PSNR gain of
      0.145%, and no noticeable speed change.
      
      Change-Id: I1502978d8fbe265b3bb235db0f9c35ba0703cd45
      55834d42
    • Jingning Han's avatar
      Separate rate-distortion modeling for DC and AC coefficients · 7c45dc98
      Jingning Han authored
      This is the first step to rework the rate-distortion modeling used
      in rtc coding mode. The overall goal is to make the modeling
      customized for the statistics encountered in the rtc coding.
      
      This commit makes encoder to perform rate-distortion modeling for
      DC and AC coefficients separately. No speed changes observed.
      The coding performance for pedestrian_area_1080p is largely
      improved:
      
      speed -5, from 79558 b/f, 37.871 dB -> 79598 b/f, 38.600 dB
      speed -6, from 79515 b/f, 37.822 dB -> 79544 b/f, 38.130 dB
      
      Overall performance for rtc set at speed -6 is improved by 0.67%.
      
      Change-Id: I9153444567e5f75ccdcaac043c2365992c005c0c
      7c45dc98
  21. 15 Jun, 2014 1 commit
  22. 12 Jun, 2014 3 commits