1. 17 Jun, 2015 1 commit
  2. 11 Jun, 2015 2 commits
  3. 05 Jun, 2015 1 commit
  4. 04 Jun, 2015 1 commit
    • Scott LaVarnway's avatar
      Reducing size of MODE_INFO struct · baaaa575
      Scott LaVarnway authored
      Reduced size from 124 bytes to 104 bytes.  For decode only builds,
      it is reduced to 68 bytes.
      
      Change-Id: If9e6b92285459425fa086ab5a743d0a598a69de3
      baaaa575
  5. 29 May, 2015 1 commit
    • Marco's avatar
      For non-rd pickmode: remove VAR_PARTITION condition. · 26ab3141
      Marco authored
      Keep the logic, transform size based on cyclic refresh and bsize,
      (that was conditioned on VAR_PARTITION conditions) the same
      for all speeds in non-rd mode (speeds >= 5).
      
      No change to speeds >=6.
      Small improvement for speed 5, ~0.5/1.5% gain for avg psnr/ssim.
      
      Change-Id: If9c5657f3d30efd3c7f147166bba7cb69ea55114
      26ab3141
  6. 26 May, 2015 1 commit
  7. 22 May, 2015 2 commits
    • Jingning Han's avatar
      Fix integral projection motion search for frame resize · 96dba490
      Jingning Han authored
      This commit fixes the integral projection motion search crash when
      frame resize is used. It fixes issue 994.
      
      Change-Id: Ieeb52619121d7444f7d6b3d0cf09415f990d1506
      96dba490
    • Scott LaVarnway's avatar
      Re-worked header files · b962646f
      Scott LaVarnway authored
      Various header/test files had to be re-worked in order to
      build "Remove cm parameter from vp9_decode_block_tokens()".
      
      This patch reverts the "Remove cm" part and only contains
      the re-worked header files.
      
      Change-Id: I520958a88d1991fee988a3c784d0eac40e117a32
      b962646f
  8. 13 May, 2015 1 commit
    • Johann's avatar
      Relocate memory operations for common code · 1d7ccd53
      Johann authored
      With the sad functions, and hopefully the variance functions soon,
      moving to the vpx_dsp location, place the defines used in the
      reference C code in a common location.
      
      Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
      1d7ccd53
  9. 12 May, 2015 1 commit
    • Yunqing Wang's avatar
      Remove unneeded variable declaration · 8ba2d2d5
      Yunqing Wang authored
      This patch fixed the following warning:
      src\third_party\libvpx\source\libvpx\vp9\encoder\vp9_pickmode.c(1607) :
      warning C6246: Local declaration of 'this_mode' hides declaration of the
      same name in outer scope.
      
      Change-Id: I1d93c4a47a13cb13089fec5bd61e8b58e6cd8d58
      8ba2d2d5
  10. 07 May, 2015 2 commits
    • James Zern's avatar
      replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNED · fd3658b0
      James Zern authored
      this macro was used inconsistently and only differs in behavior from
      DECLARE_ALIGNED when an alignment attribute is unavailable. this macro
      is used with calls to assembly, while generic c-code doesn't rely on it,
      so in a c-only build without an alignment attribute the code will
      function as expected.
      
      Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
      fd3658b0
    • Marco's avatar
      Remvoe EIGHTTAP_SHARP filter check for non-rd mode. · 76fe5dfc
      Marco authored
      Using EIGHTTAP and EIGHTTAP_SMOOTH seem sufficient.
      Hard to see any visual gain from allowing EIGHTTAP_SHARP, and it is
      rarely selected.
      
      PSNR/SSIM metrics go up by ~0.18/0.14%.
      
      Change-Id: I96fa0d98f9321b913e3ebcd464d4ff3c63018791
      76fe5dfc
  11. 05 May, 2015 1 commit
    • Yunqing Wang's avatar
      Add intra mode early termination in non-rd mode · 36eabb1c
      Yunqing Wang authored
      Added the intra mode early termination in order to
      speed up the mode search in non-rd case since we
      started to include more intra modes in the search
      list. Borg tests(rtc set) showed a 0.048% PSNR gain
      and 0.061 SSIM gain. No speed change.
      
      Change-Id: I6f255fe534dc50b736e6a66a726ad458eb9b4443
      36eabb1c
  12. 04 May, 2015 1 commit
    • Marco's avatar
      Allow for H and V intra modes for non-rd mode. · b9a72d3c
      Marco authored
      For non-rd mode (speed >=5): use mask based on prediction block size, and
      (for non-screen content mode) allow for checking horiz and vert intra modes
      for blocks sizes < 16x16.
      
      Avg psnr/ssim metrics go up by about ~0.2%.
      
      Only allowing H/V intra on block sizes below 16x16 for now, to keep
      encoding time increase very small, and also when allowing H/V on 16x16 blocks,
      metrics went down on a few clips which need to be further examined.
      
      Change-Id: I8ae0bc8cb2a964f9709612c76c5661acaab1381e
      b9a72d3c
  13. 30 Apr, 2015 1 commit
    • Yunqing Wang's avatar
      Reduce intra_cost_penalty for BLOCK_8X8 · 4907c299
      Yunqing Wang authored
      This patch reduced the BLOCK_8X8's intra_cost_penalty, which
      allows 8x8 blocks to conduct intra mode search. Borg test
      result(rtc set): 0.077% PSNR gain, 0.228% SSIM gain. No speed
      changes.
      
      Change-Id: Icfe90c4f6969de24bda8ecacbd3da50330bf22b2
      4907c299
  14. 29 Apr, 2015 2 commits
    • James Zern's avatar
      vpx_mem: remove vpx_memset · f58011ad
      James Zern authored
      vestigial. replace instances with memset() which they already were being
      defined to.
      
      Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
      f58011ad
    • James Zern's avatar
      vpx_mem: remove vpx_memcpy · f274c219
      James Zern authored
      vestigial. replace instances with memcpy() which they already were being
      defined to.
      
      Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
      f274c219
  15. 21 Apr, 2015 1 commit
    • Scott LaVarnway's avatar
      Revert "Remove mi_grid_* structures." · 8b17f7f4
      Scott LaVarnway authored
      (see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6)
      
      For the test clip used, the decoder performance improved by ~2%.
      This is also an intermediate step towards adding back the
      mode_info streams.
      
      Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d
      8b17f7f4
  16. 15 Apr, 2015 1 commit
    • Yunqing Wang's avatar
      Fix Tsan errors · 63c5bf2b
      Yunqing Wang authored
      This patch fixed 2 reported Tsan errors while running VP9 real-time
      encoder.
      
      Change-Id: Ib0278fe802852862c3ce87c4a500e544d7089f67
      63c5bf2b
  17. 07 Apr, 2015 2 commits
  18. 04 Apr, 2015 1 commit
    • Jingning Han's avatar
      Enable Hadamard transform based cost estimate for all block sizes · 9922e434
      Jingning Han authored
      This commit turns on the Hadamard transform based rate distortion
      estimate for all block sizes in RTC coding mode. It conditionally
      skips the rate distortion estimation if all zero block flag is set
      on. No significant encoding speed change is observed. The
      compression performance of speed -6 is improved by 1.7% over using
      it only for block sizes of 32x32 and below.
      
      Change-Id: I768145e6f05c737b05b5b5f1ee674e929532cafb
      9922e434
  19. 03 Apr, 2015 3 commits
    • Yunqing Wang's avatar
      Fix the scaling factor in UV skipping test · 1a1114d2
      Yunqing Wang authored
      The threshold scaling factor was calculated wrong using partition
      size "bsize". Thank Yaowu for pointing it out. It was fixed and no
      speed change was seen.
      
      Change-Id: If7a5564456f0f68d6957df3bd2d1876bbb8dfd27
      1a1114d2
    • Jingning Han's avatar
      Account for eob cost in the RTC mode decision process · 60e01c65
      Jingning Han authored
      This commit accounts for the transform block end of coefficient flag
      cost in the RTC mode decision process. This allows a more precise
      rate estimate. It also turns on the model to block sizes up to 32x32.
      The test sequences shows about 3% - 5% speed penalty for speed -6.
      The average compression performance improvement for speed -6 is
      1.58% in PSNR. The compression gains for hard clips like jimredvga,
      mmmoving, and tacomascmv at low bit-rate range are 1.8%, 2.1%, and
      3.2%, respectively.
      
      Change-Id: Ic2ae211888e25a93979eac56b274c6e5ebcc21fb
      60e01c65
    • Yaowu Xu's avatar
      move ref_frame_cost computations into a function · 718feb0f
      Yaowu Xu authored
      Change-Id: Iebf2ad2b1db7e2874788fda8d55e67f4cb1149f1
      718feb0f
  20. 02 Apr, 2015 1 commit
  21. 01 Apr, 2015 3 commits
    • Jingning Han's avatar
      Simplify effective src_diff address computation · 19da9167
      Jingning Han authored
      Remove redundant offset calculation for effective src_diff address.
      
      Change-Id: I4aab241a36abcef7fd8adf74aed5e12b8b88e0ef
      19da9167
    • Jingning Han's avatar
      Refactor block_yrd function for RTC coding mode · 1470529f
      Jingning Han authored
      This commit separates Hadamard transform/quantization operations
      from rate and distortion computation in block_yrd. This allows one
      to skip SATD computation when all transform blocks are quantized
      to zero. It also uses a new block error function that skips
      repeated computation of sum of squared residuals. It reduces the
      CPU cycles spent on block error calculation in block_yrd by 40%.
      
      Change-Id: I726acb2454b44af1c3bd95385abecac209959b10
      1470529f
    • Yunqing Wang's avatar
      Enhance the transform skipping decision-making in non-rd mode · a0043c6d
      Yunqing Wang authored
      For large partition blocks(block_size > 32x32), the variance
      calculation is modified so that every 8x8 block's variance
      is stored during the calculation, which is used in the
      following transform skipping test. Also, the variance for
      every tx block is calculated. The skipping test checks all tx
      blocks in the partition, and sets the skip flag only if all tx
      blocks are skippable. If the skip flag of Y plane is 1, a
      quick evaluation is done on UV planes. If the current partition
      block is skippable in YUV planes, the mode search checks fewer
      inter modes and doesn't check intra modes.
      
      The rtc set borg test(at speed 6) showed that:
      Overall psnr: -0.527%; Avg psnr: -0.510%; ssim: -0.573%.
      Average single-thread speedup on rtc set was 3.5%.
      For 720p clips, more speedups were seen.
      gipsrecmotion: 13%
      gipsrestat: 12%
      vidyo: 5 - 9%
      dark: 15%
      niklas: 6%
      
      Change-Id: I8d8ebec0cb305f1de016516400bf007c3042666e
      a0043c6d
  22. 31 Mar, 2015 2 commits
    • Jingning Han's avatar
      Tuning SATD rate calculation for speed · 531468a0
      Jingning Han authored
      This commit allows the encoder to check the eob per transform
      block to decide how to compute the SATD rate cost. If the entire
      block is quantized to zero, there is no need to add anything; if
      only the DC coefficient is non-zero, add its absolute value;
      otherwise, sum over the block. This reduces the CPU cycles spent
      on vp9_satd_sse2 to one third.
      
      Change-Id: I0d56044b793b286efc0875fafc0b8bf2d2047e32
      531468a0
    • Jingning Han's avatar
      Allow block skip coding option in RTC mode · ebe1be91
      Jingning Han authored
      When the estimated rate-distortion cost of skip coding mode is
      lower than that of sending quantized coefficients, allow the
      encoder to drop these coefficients. This improves the compression
      performance of speed -6 by 0.268% and makes the encoding speed
      slightly faster.
      
      Change-Id: Idff2d7ba59f27ead33dd5a0e9f68746ed3c2ab68
      ebe1be91
  23. 30 Mar, 2015 4 commits
    • Jingning Han's avatar
      Enable 16x16 Hadamard transform in SATD based mode decision · 26d3d3af
      Jingning Han authored
      This commit replaces the 16x16 2D-DCT transform with Hadamard
      transform for RTC coding mode. It reduces the CPU cycles cost
      on 16x16 transform by 5X. Overall it makes the speed -6 encoding
      speed 1.5% faster without compromise on compression performance.
      
      Change-Id: If6c993831dc4c678d841edc804ff395ed37f2a1b
      26d3d3af
    • Jingning Han's avatar
      Use SATD based mode decision for block sizes below 16x16 · b4b5af6a
      Jingning Han authored
      This commit makes the encoder to select between SATD/variance as
      metric for mode decision. It also allows to account chroma
      component costs for mode decision as well. The overall encoding
      time increase as compared to variance based mode selection is about
      15% for speed -6. The compression performance is on average 2.2%
      better than variance based approach, with about 5% compression
      performance gains for hard clips (e.g., jimredvga, nikas720p, and
      mmmoving) at lower bit-rate range.
      
      Change-Id: I4d04a31d36f4fcb3f5f491dacd6e7fe44cb9d815
      b4b5af6a
    • Jingning Han's avatar
      Reuse inter prediction pixel block for Hadamard transform · 8a927a1b
      Jingning Han authored
      It saves one unnecessary motion compensated prediction constructed
      by using 8-tap filter.
      
      Change-Id: I101215131e6f38621d5935885f94cc74de6a5377
      8a927a1b
    • Jingning Han's avatar
      Hadamard transform based coding mode decision process · 8c411f74
      Jingning Han authored
      This commit uses Hadamard transform based rate-distortion cost
      estimate for rtc coding mode decision. It improves the compression
      performance of speed -6 for many hard clips at lower bit-rates.
      For example, 5.5% for jimredvga, 6.7% for mmmoving, 6.1% for
      niklas720p. This will introduce extra encoding cycle costs at
      this point.
      
      Change-Id: Iaf70634fa2417a705ee29f2456175b981db3d375
      8c411f74
  24. 21 Mar, 2015 1 commit
    • Yaowu Xu's avatar
      vp9_pred_mv(): misc fixes and optimizations · 9fd8abc5
      Yaowu Xu authored
      1. skip near if it is same as nearest
      2. correct rounding for converting mv to fullpel position
      3. update pred_mv_sad after new mv search.
      
      Overall .1%~.25% compression gains on rtc set for speed 5, 6, 7, 8.
      
      Change-Id: Ic300ca53f7da18073771f1bb993c58cde9deee89
      9fd8abc5
  25. 18 Mar, 2015 1 commit
    • Jingning Han's avatar
      Speed up non-rd mode decision search · 83cbe226
      Jingning Han authored
      This commit makes the encoder to explicitly calculate the SAD
      associated with the LAST_FRAME motion vector and compare it to
      that of the GOLDEN_FRAME given by integral projection motion
      estimation. It skips the expensive sub-pixel motion search over
      GOLDEN_FRAME when the LAST_FRAME can provide fairly good motion
      compensated prediction quality.
      
      For dark720p speed -6 single thread goes from
      33304 b/f, 40.070 dB, 18156 ms ->
      33319 b/f, 40.061 dB, 17611 ms
      
      Change-Id: I01bc94b9b598075567a392111046b97a9bc30efe
      83cbe226
  26. 17 Mar, 2015 1 commit
    • Jingning Han's avatar
      Fix an ioc warning in vp9_pick_inter_mode · ee411414
      Jingning Han authored
      Shut off all the metric checks for golden reference frame, if we
      decide that it is unlikely to be selected for reference.
      
      Change-Id: Ie457cc1fd43935584403b4982659aed80fb9909c
      ee411414
  27. 16 Mar, 2015 1 commit
    • Yaowu Xu's avatar
      Remove duplicate clamping · 4611f247
      Yaowu Xu authored
      The mvs are clamped in the vp9_find_best_ref_mvs() already.
      
      Change-Id: I9bea5e35aef6007466fe7fca4bc2dc5c17e74222
      4611f247