1. 24 Jun, 2014 1 commit
    • 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
  2. 19 Jun, 2014 1 commit
  3. 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
      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
    • 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
      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
  4. 15 Jun, 2014 1 commit
  5. 12 Jun, 2014 4 commits
    • Tim Kopp's avatar
      Added skeleton for VP9 denoiser · ab8bfb07
      Tim Kopp authored
      Change-Id: Iccf6ede4c4f85646b0f8daec47050ce93e267c90
    • Dmitry Kovalev's avatar
      Adding MV_SPEED_FEATURES struct. · 4ff1a614
      Dmitry Kovalev authored
      Moving all motion vector related speed parameters from SPEED_FEATURES to
      Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e
    • Dmitry Kovalev's avatar
      Moving full_pixel_search() to vp9_mcomp.c. · 442cbf56
      Dmitry Kovalev authored
      Change-Id: I12389f801ebd3bd2ae3bf31e125433bfb429ee65
    • 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
  6. 06 Jun, 2014 1 commit
  7. 29 May, 2014 1 commit
  8. 21 May, 2014 1 commit
  9. 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
    • Dmitry Kovalev's avatar
      Replacing int_mv with MV. · 81e03394
      Dmitry Kovalev authored
      Change-Id: Icd7eea20e944e3e28e5eb20cdc088866a54d53b4
  10. 15 May, 2014 2 commits
  11. 12 May, 2014 1 commit
  12. 08 May, 2014 1 commit
  13. 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
    • Yunqing Wang's avatar
      Clean up full-pixel search calling code · a3c5a794
      Yunqing Wang authored
      Removed repetitive code.
      Change-Id: Ib6adb6eaf7d4e3feeabb71651f4cc447974a925d
  14. 01 May, 2014 1 commit
  15. 24 Apr, 2014 1 commit
  16. 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
      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
    • 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
  17. 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
  18. 11 Apr, 2014 1 commit
  19. 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
  20. 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
  21. 03 Apr, 2014 2 commits
  22. 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
      Change-Id: I430249a51260a841a0402666e5ec1566e4f7d5a6
    • Dmitry Kovalev's avatar
      Renaming two members in MACROBLOCKD struct. · 86f44a91
      Dmitry Kovalev authored
        mi_8x8 -> mi
        mode_info_stride -> mi_stride
      Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
  23. 27 Mar, 2014 1 commit
  24. 24 Mar, 2014 1 commit
    • Jingning Han's avatar
      Enable recursive partition selection for non-RD coding mode · 6b6d3886
      Jingning Han authored
      This commit enables a recursive partition type search for non-RD
      mode decisions. It allows the encoder to choose variable block
      sizes in a 64x64 block based on rate-distortion modeling.
      It improves speed -6 coding efficiency for rtc set by 2.4%. Most
      of the gains come from 32-40dB range, where many sequences gain
      about 5% to 20%. Local tests suggest there is no speed change.
      Change-Id: I06300016e500a21652812b7b3b081db39a783d66
  25. 21 Mar, 2014 2 commits
    • Yaowu Xu's avatar
      changed to use correct pred_mv · 0e53d520
      Yaowu Xu authored
      The third pred_mv is stored in x->pred_mv[ref_frame]. This commit make
      sure the correct mv is read.
      Change-Id: Ibed24daf36703a63f0394c87b2381ee1d2eb7910
    • Yunqing Wang's avatar
      Add prediction mode skipping in non-rd situation · 49b2330d
      Yunqing Wang authored
      In non-rd pick_mode code, added mode skipping according to
      thresholds. Used rd thresholds now, but we can modified them
      later for real-time case.
      RTC set borg test showed a 0.095% PSNR gain. For different rtc
      clips, the real-time(speed 7) encoder speedup is 2% - 10%.
      Change-Id: Ic72535c96b891092c662453be32d3168f7e34dcc
  26. 20 Mar, 2014 1 commit
  27. 19 Mar, 2014 1 commit
    • Jingning Han's avatar
      Enable variable block size test in non-RD mode decision · 60f9ebc3
      Jingning Han authored
      This is an initial attempt to allow variable block size partition
      in non-RD coding flow. It tests 8x8, 16x16 and 32x32 block size per
      64x64 block, all using non-RD mode decision and the associated rate
      distortion costs from modeling, then selects the best block size to
      encode the entire 64x64 block. Such operations are triggered every
      other 3 frames. The blocks of intermediate frames will reuse the
      collocated block's partition type.
      It improves the compression performance by 13.2%. Note that the gains
      are not evenly distributed. For many hard clips, the compression
      performance is improved by 20% to 28%. Local speed test shows that
      it will also increase runtime by 50%, as compared to speed -7. It is
      now enabled in speed -6 setting.
      Change-Id: Ib4fb8659d21621c9075b3c369ddaa9ecb0a4b204
  28. 14 Mar, 2014 1 commit
  29. 13 Mar, 2014 1 commit