1. 26 Jun, 2014 4 commits
    • 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
  2. 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
  3. 20 Jun, 2014 1 commit
  4. 19 Jun, 2014 1 commit
  5. 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
  6. 15 Jun, 2014 1 commit
  7. 12 Jun, 2014 4 commits
    • Tim Kopp's avatar
      Added skeleton for VP9 denoiser · ab8bfb07
      Tim Kopp authored
      Change-Id: Iccf6ede4c4f85646b0f8daec47050ce93e267c90
      ab8bfb07
    • Dmitry Kovalev's avatar
      Adding MV_SPEED_FEATURES struct. · 4ff1a614
      Dmitry Kovalev authored
      Moving all motion vector related speed parameters from SPEED_FEATURES to
      MV_SPEED_FEATURES.
      
      Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e
      4ff1a614
    • Dmitry Kovalev's avatar
      Moving full_pixel_search() to vp9_mcomp.c. · 442cbf56
      Dmitry Kovalev authored
      Change-Id: I12389f801ebd3bd2ae3bf31e125433bfb429ee65
      442cbf56
    • Jingning Han's avatar
      Fast computation path for forward transform and quantization · ccba289f
      Jingning Han authored
      This commit enables a fast path computational flow for forward
      transformation. It checks the sse and variance of prediction
      residuals and decides if the quantized coefficients are all
      zero, dc only, or more. It then selects the corresponding coding
      path in the forward transformation and quantization stage.
      
      It is currently enabled in rtc coding mode. Will do it for rd
      coding mode next.
      
      In speed -6, the runtime for pedestrian_area 1080p at 1000 kbps
      goes down from 14234 ms to 13704 ms, i.e., about 4% speed-up.
      Overall coding performance for rtc set is changed by -0.18%.
      
      Change-Id: I0452da1786d59bc8bcbe0a35fdae9f623d1d44e1
      ccba289f
  8. 06 Jun, 2014 1 commit
  9. 29 May, 2014 1 commit
  10. 21 May, 2014 1 commit
  11. 19 May, 2014 2 commits
    • Yunqing Wang's avatar
      Add static-threshold skipping in non-rd mode · b91b146d
      Yunqing Wang authored
      Added a skipping test in non-rd inter-mode. After interpolation
      prediction step, the residuals are tested to see if they will be
      quantized to 0 based on modeling between spatial domain and
      frequency domain.
      
      Set static-thresh to 800 for >=720p and 300 for <720p, rtc set
      tests showed
      1. Speed 5, psnr: -0.514%; ssim: -1.748%;
         speedup on related clips: 5% -11%
      2. Speed 6, psbr: -0.628%; ssim: -1.637%;
         speedup on related clips: 4% - 9%
      
      Change-Id: I62fbf26bc043ecd2b584f255f1a4ee5ab52bfcf3
      b91b146d
    • Dmitry Kovalev's avatar
      Replacing int_mv with MV. · 81e03394
      Dmitry Kovalev authored
      Change-Id: Icd7eea20e944e3e28e5eb20cdc088866a54d53b4
      81e03394
  12. 15 May, 2014 2 commits
  13. 12 May, 2014 1 commit
  14. 08 May, 2014 1 commit
  15. 06 May, 2014 2 commits
    • Jingning Han's avatar
      Tune rate-distortion modeling to account for frame light change · 74f98e6f
      Jingning Han authored
      When the variance is far less than sse, the block is considered to
      be under light change. All the energy is compacted into DC coeff
      and can be coded at low cost. In such situation, switch the rate-
      distortion modeling from sse+var based back to variance based.
      
      Note that this is a temporary solution to handle the rare situations
      where the scene light changes.
      
      Change-Id: I1ee0fe2b9eda6b5fac40152e1841bf23f4d229fd
      74f98e6f
    • Yunqing Wang's avatar
      Clean up full-pixel search calling code · a3c5a794
      Yunqing Wang authored
      Removed repetitive code.
      
      Change-Id: Ib6adb6eaf7d4e3feeabb71651f4cc447974a925d
      a3c5a794
  16. 01 May, 2014 1 commit
  17. 24 Apr, 2014 1 commit
  18. 23 Apr, 2014 2 commits
    • Jingning Han's avatar
      Chessboard pattern prediction filter type search in non-RD coding · 8969f7c8
      Jingning Han authored
      This commit introduces a chessboard pattern search for the prediction
      filter type search. It runs extensive search in alternate blocks and
      allows the rest blocks to refer coding decisions of their nearby
      neighbors.
      
      For pedestrian 1080p at 4000 kbps, the runtime of speed -5 goes down
      from 43990 ms to 42200 ms. The overall compression performance for
      RTC set is changed by -1.37%.
      
      Change-Id: Icfe220c49451cda796f0ca91d935c9ed01e56c9d
      8969f7c8
    • Dmitry Kovalev's avatar
      Renaming MB_PREDICTION_MODE to PREDICTION_MODE. · e6084188
      Dmitry Kovalev authored
      Actually, it would be great to have two separate enums INTRA_MODES and
      INTER_MODES in future.
      
      Change-Id: I6c4147cf0002853da9c1e03fe9514eab876f01c8
      e6084188
  19. 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
  20. 11 Apr, 2014 1 commit
  21. 08 Apr, 2014 1 commit
    • Jingning Han's avatar
      Select prediction filter type in non-RD mode decision · 06ec873f
      Jingning Han authored
      This commit allows the non-RD mode decision flow to  select
      prediction filter type in NEWMV mode. It provides 8.14% compression
      performance gains in both settings of AQ=0 and 3. The current speed
      impact is about 5% to 10% slower.
      
      Change-Id: Id66ecebf77abd8f90fb3f6a066c0e8dfb4bf1c42
      06ec873f
  22. 04 Apr, 2014 1 commit
    • Jingning Han's avatar
      Set up early RD cost check for NEWMV in non-RD mode decision flow · 516d0b11
      Jingning Han authored
      This commit estimates the motion vector rate cost right after full
      pixel motion search. It combines this and the mode cost and compares
      the corresponding rate-distortion cost. If it is already above the
      current best one, skip the rest sub-pixel motion search and modeling
      process. For pedestrian_area 1080p at 4000 kpbs, the speed -5 runtime
      goes down from 39425 ms -> 38399 ms.
      
      Change-Id: If4cd7119fd6c266798d5cf1d19d19ab425e52a26
      516d0b11
  23. 03 Apr, 2014 2 commits
  24. 02 Apr, 2014 2 commits
    • Jingning Han's avatar
      Adjust rate allocation in non-RD coding mode · 751d002f
      Jingning Han authored
      This commit reduces the frequency of frames using finer quantizer
      in non-RD coding flow, and slightly tune up the quantizer resolution
      when used. It provides 1.7% compression gains in speed -5 at no speed
      difference.
      
      Change-Id: I430249a51260a841a0402666e5ec1566e4f7d5a6
      751d002f
    • Dmitry Kovalev's avatar
      Renaming two members in MACROBLOCKD struct. · 86f44a91
      Dmitry Kovalev authored
      Renames:
        mi_8x8 -> mi
        mode_info_stride -> mi_stride
      
      Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
      86f44a91
  25. 27 Mar, 2014 1 commit