1. 21 May, 2014 1 commit
  2. 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
  3. 15 May, 2014 2 commits
  4. 12 May, 2014 1 commit
  5. 08 May, 2014 1 commit
  6. 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
  7. 01 May, 2014 1 commit
  8. 24 Apr, 2014 1 commit
  9. 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
  10. 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
  11. 11 Apr, 2014 1 commit
  12. 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
  13. 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
  14. 03 Apr, 2014 2 commits
  15. 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
  16. 27 Mar, 2014 1 commit
  17. 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
      6b6d3886
  18. 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
      0e53d520
    • 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
      49b2330d
  19. 20 Mar, 2014 1 commit
  20. 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
      60f9ebc3
  21. 14 Mar, 2014 1 commit
  22. 13 Mar, 2014 1 commit
  23. 12 Mar, 2014 3 commits
    • Deb Mukherjee's avatar
      Preliminary code for variance based paritioning · e39ecfaa
      Deb Mukherjee authored
      Brings back most of Jim's previous patch for choosing
      partitioning based on variance while making it compatible
      with the current state of the code. Also adds a
      nonrd_use_partition() function to recursively encode  for any
      arbitrary sb_type decisions within a 64x64 block; and
      includes some refactoring.
      
      Currently, when the VAR_BASED_PARTITIONING mode is turned on
      for speed 7, there is a 10+% speed-up observed.
      
      Experiments/improvements with this new partitioning method
      will be conducted subsequently.
      
      Change-Id: Ie6f43bfbde30583e941f450bf07c3b48828c9571
      e39ecfaa
    • Jingning Han's avatar
      Tune rate-distortion modeling for non-RD mode decision · 7686c950
      Jingning Han authored
      This commit adjusts the rate-distortion modeling for non-RD mode
      decision. It puts more weights on energy from AC coefficients when
      estimating the cost. The coding performance for rtc testset is
      improved by 0.72%.
      
      Change-Id: Ifa6ff11311a513ec2b10586589e82a9a21f6c61c
      7686c950
    • Jingning Han's avatar
      Explicitly assign interp_kernel value in non-RD coding mode · 4e9b0d6c
      Jingning Han authored
      Assign interp_kernel value in MACROBLOCKD. This will be used to
      select prediction filter coefficient sets and generate motion
      compensated prediction.
      
      Change-Id: I28c8dfb2dae6566f6939bb328aca5875c94bee65
      4e9b0d6c
  24. 10 Mar, 2014 1 commit
  25. 08 Mar, 2014 1 commit
    • Deb Mukherjee's avatar
      Support for a fast diamond search · bead2e8f
      Deb Mukherjee authored
      Adds a fast diamond search which is about 5% faster than FAST_HEX
      with only a 0.1% drop in psnr when turned on for both speeds 5 and 7.
      This search is turned on for speed 7.
      
      Change-Id: I497630aa88a5148926086bb3038e7975e5f4eb98
      bead2e8f
  26. 07 Mar, 2014 3 commits
    • Jingning Han's avatar
      Skip mode check when mv has been tested · d2059b0d
      Jingning Han authored
      This commit allows the non-RD mode decision to skip mode RD modelling
      check, if the motion vector associated with the current mode is
      same as that of NEARESTMV mode. This makes speed -7 about 2% faster.
      Previous change that converts cost metric from SAD to model based RD
      value makes the codec 6% slower at speed -7.
      
      Change-Id: I30cfec5452f606a671b8432a2f7f0c94fbb49fc8
      d2059b0d
    • Jingning Han's avatar
      Clearn up model_rd in non-RD coding mode · 02509024
      Jingning Han authored
      The rate-distortion model in non-RD coding mode is only applied to
      luma component. This commit removed a few redundant addition steps.
      
      Change-Id: Id8edc0a47c2dbef8deba43debe2c95db39454de3
      02509024
    • Jingning Han's avatar
      Use modeled rate distortion costs for non-RD mode · 539c961e
      Jingning Han authored
      This commit replaces SAD cost with modeled rate-distortion cost
      for non-RD mode decision. It translates the prediction residual
      SSE into estimate rate and reconstruction distorion costs, hence
      capturing the quantization setting effect. The compression
      performance of speed -7 for rtc set is improved by 14.79%.
      
      Change-Id: Ifda014eb0501d13109fe7f92680bf1410b463632
      539c961e
  27. 06 Mar, 2014 1 commit
  28. 03 Mar, 2014 2 commits
    • Deb Mukherjee's avatar
      Refactoring motion search libs · b80020d4
      Deb Mukherjee authored
      The core motion estimation fucntions all return sad now consistently.
      The only exception is vp9_full_pixel_diamond(), however the core diamond
      and refining search routines called from vp9_full_pixel_diamond() also
      return SAD. If variance of pred error + mv cost is desired it must be
      calculated explicitly outside these functions. For very fast encoding,
      hopefully this will eliminate some redundant computations.
      
      Also suggests reimplementing FAST_HEX with the vp9_pattern_search
      framework. It is not exactly the same as the existing FAST_HEX, but
      performance is slightly better and speed is very similar. Enables
      removing a lot of duplicate code.
      
      Change-Id: I152736393438c25bdf7e96b37cbb8ce330f4f94a
      b80020d4
    • Jim Bankoski's avatar
      vp9_reconinter.h static functions in header converted to global · e5e9b05d
      Jim Bankoski authored
      Change-Id: I916944950deb22f4c2301d83a803b732bf3ecd77
      e5e9b05d