1. 31 Jul, 2015 1 commit
    • Zoe Liu's avatar
      Code refactor on InterpKernel · 7186a2dd
      Zoe Liu authored
      It in essence refactors the code for both the interpolation
      filtering and the convolution. This change includes the moving
      of all the files as well as the changing of the code from vp9_
      prefix to vpx_ prefix accordingly, for underneath architectures:
      (1) x86;
      (2) arm/neon; and
      (3) mips/msa.
      The work on mips/drsp2 will be done in a separate change list.
      Change-Id: Ic3ce7fb7f81210db7628b373c73553db68793c46
  2. 28 Jul, 2015 1 commit
  3. 21 Jul, 2015 1 commit
    • Yaowu Xu's avatar
      vpx_dsp/bitreader.h: vp9_->vpx_ · bf82514b
      Yaowu Xu authored
      Replace vp9_ in names to vpx_ as they are not codec specific.
      Change-Id: I2e583aa63dee769353ada4b42417aa15c4074ebb
  4. 13 Jul, 2015 1 commit
    • Jingning Han's avatar
      Refactor intra block prediction function · 81452cf0
      Jingning Han authored
      This commit simplifies the intra block boundary condition logic.
      It removes the block index from the argument set.
      Change-Id: If00142512eb88992613d6609356dfd73ba390138
  5. 06 Jul, 2015 1 commit
  6. 29 Jun, 2015 1 commit
  7. 22 Jun, 2015 1 commit
  8. 17 Jun, 2015 2 commits
  9. 11 Jun, 2015 2 commits
  10. 05 Jun, 2015 1 commit
  11. 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
  12. 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
  13. 26 May, 2015 1 commit
  14. 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
    • 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
  15. 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
  16. 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
  17. 07 May, 2015 2 commits
    • James Zern's avatar
      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
    • 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
  18. 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
  19. 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
  20. 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
      Change-Id: Icfe90c4f6969de24bda8ecacbd3da50330bf22b2
  21. 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
    • 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
  22. 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
  23. 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
      Change-Id: Ib0278fe802852862c3ce87c4a500e544d7089f67
  24. 07 Apr, 2015 2 commits
  25. 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
  26. 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
    • 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
    • Yaowu Xu's avatar
      move ref_frame_cost computations into a function · 718feb0f
      Yaowu Xu authored
      Change-Id: Iebf2ad2b1db7e2874788fda8d55e67f4cb1149f1
  27. 02 Apr, 2015 1 commit
  28. 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
    • 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
    • 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
  29. 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
    • 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