1. 16 Oct, 2013 4 commits
  2. 15 Oct, 2013 16 commits
  3. 14 Oct, 2013 1 commit
    • Jingning Han's avatar
      Move token_cache from cost_coeffs to MACROBLOCK · f60a3910
      Jingning Han authored
      This commit moves token_cache buffer into macroblock struct, instead
      of defining as a local variable in cost_coeffs. This avoids repeatedly
      re-allocating memory space in the rate-distortion optimization loop.
      
      The runtime at speed 0 reduces:
      bus 2000kbps, 161692ms to 159951ms
      football 600kbps, 229505ms to 225821ms
      
      Change-Id: If7da6b0b6d8c5138a16271a33c4548fba33d8840
      f60a3910
  4. 12 Oct, 2013 1 commit
  5. 11 Oct, 2013 12 commits
    • Dmitry Kovalev's avatar
      Adding TREE_SIZE macro + cleanup. · 860e4676
      Dmitry Kovalev authored
      Using TREE_SIZE for the following trees:
        vp9_intra_mode_tree
        vp9_inter_mode_tree
        vp9_partition_tree
        vp9_switchable_interp_tree
        vp9_mv_joint_tree
        vp9_mv_class_tree
        vp9_mv_class0_tree
        vp9_mv_fp_tree
      
      Change-Id: I0212bb4c1ee6648249f68517e28a67a56591ee1b
      860e4676
    • Dmitry Kovalev's avatar
      Consistent names for inverse hybrid transforms (2 of 2). · ac468dde
      Dmitry Kovalev authored
      Renames:
        vp9_iht_add       -> vp9_iht4x4_add
        vp9_iht_add_8x8   -> vp9_iht8x8_add
        vp9_iht_add_16x16 -> vp9_iht16x16_add
      
      Change-Id: I8f1a2913e02d90d41f174f27e4ee2fad0dbd4a21
      ac468dde
    • Scott Graham's avatar
      Get libvpx to compile on VS2013. · 3806bab2
      Scott Graham authored
      `round` is defined in the runtime library now.
      https://codereview.chromium.org/23922008/
      
      Change-Id: I3852740058d32f63ce283579acbe284865e32dba
      3806bab2
    • Dmitry Kovalev's avatar
      Consistent names for inverse hybrid transforms (1 of 2). · 7ef57391
      Dmitry Kovalev authored
      Renames:
        vp9_short_iht4x4_add     -> vp9_iht4x4_16_add
        vp9_short_iht8x8_add     -> vp9_iht8x8_64_add
        vp9_short_iht16x16_add_c -> vp9_iht16x16_256_add
      
      Change-Id: Ibca7a188fd062b196787ac5efc1ea545e7f166c0
      7ef57391
    • Dmitry Kovalev's avatar
      Adding const to the input argument of all 1D transforms. · 44195fda
      Dmitry Kovalev authored
      Also adding static to iadst16_1d and fadst16 functions.
      
      Change-Id: I13c7df3b776f0f8efc6e80099bdb0a2f6d29edaf
      44195fda
    • Dmitry Kovalev's avatar
      Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB. · 4a0f9478
      Dmitry Kovalev authored
      Values of MODE_UPDATE_PROB and VP9_COEF_UPDATE_PROB are equal, so replacing
      them with one constant. Inlining appropriate arguments for functions:
        vp9_cond_prob_diff_update (encoder)
        vp9_diff_update_prob (decoder)
      
      Change-Id: I1255a1cb477743b799b3bfbbcd8de6b32b067338
      4a0f9478
    • Deb Mukherjee's avatar
      Change in rddiv parameter to make it a power of 2 · d9655e42
      Deb Mukherjee authored
      Converts the constant rddiv parameter to 128 (from 100) and
      implements RDCOST with bit-shift rather than multiplication.
      Other parameters are also adjusted to roughly keep the same
      balance between Rate and Distortion.
      
      There is a slight speed-up of about 0.5-1% (at speed 0) as
      testted on football_cif.
      
      There is a slight change in performance due to small change
      in the parameters.
      derfraw300: +0.033%
      stdhdraw250; +0.102%
      
      Change-Id: I70ac69f58fa71c83108f68fe41796cd19d1fc760
      d9655e42
    • Yaowu Xu's avatar
      Masking intra mode choice adaptively · 8b175679
      Yaowu Xu authored
      The commit changes to mask available intra prediction modes for test
      based on prediction block size.
      
      With this patch, encoding time of CpuUsed 2 reduces from 10% to 20% for
      HD clips with a compression drop of 0.2%
      
      Change-Id: I65f320f1237c0f5ae3a355bf7caf447f55625455
      8b175679
    • Yunqing Wang's avatar
      Code cleanup · 57b97b56
      Yunqing Wang authored
      Minor code cleanup.
      
      Change-Id: I47c1f794842d4570bb39cfd23b80f54f5606bba6
      57b97b56
    • Paul Wilkins's avatar
      Experimental rate control change. · 704028d4
      Paul Wilkins authored
      When the codec in VBR (or cq) mode hits its max q limits and is
      struggling to hit a target bandwidth, the bit target per frame collapses.
      
      In the first instance normal frames cap out at the maximum allowed
      Q and then the ARF and GFs do the same. This latter behavior is not
      generally desirable as GFs and ARFs are only effective from a quality
      and data rate perspective if they have at lease some level of -Q delta
      compared to the surrounding frames.
      
      In this patch I define a separate max Q for GFs and ARFs that is
      derived from but somewhat lower than that defined for normal frames.
      In effect there is a minimum Q delta that will always be available for
      GFs and ARFs regardless of the target rate and MAXQ setting.
      
      This may of course mean that the absolute lowest rate obtainable for
      a given clip is somewhat higher.
      
      Change-Id: I268868b28401900d0cd87e51e609cd3b784ab54a
      704028d4
    • Paul Wilkins's avatar
      Disable recode loop. · 8b989f5b
      Paul Wilkins authored
      For VBR coding disable the recode loop for speeds > 0.
      
      Results pending.
      
      Change-Id: I2cd9a87c3fcbe39c05b954798d0671a4ca62c37f
      8b989f5b
    • Dmitry Kovalev's avatar
      Removing vp9_tree_p typedef. · 98400c1b
      Dmitry Kovalev authored
      It is used only two times and it is more clear to use real type instead
      of typedef.
      
      Change-Id: Idc25c16504c3da4d040e0cdb33a2987631bb6a5b
      98400c1b
  6. 10 Oct, 2013 6 commits
    • Dmitry Kovalev's avatar
      Removing vp9_idct4_1d_sse2 function. · ddf1b762
      Dmitry Kovalev authored
      We have two SSE2-optimized functions for idct4_1d:
        vp9_idct4_1d_sse2 <-- removing this one
        idct4_1d_sse2
      
      vp9_idct4_1d_sse2 was used only by the following functions which already
      have SSE2 optimized variants:
        vp9_idct4x4_16_add_c   -> vp9_idct4x4_16_add_see2
        idct8_1d               -> vp9_idct8x8_{16, 10, 1}_see2
        vp9_short_iht4x4_add_c -> vp9_short_iht4x4_add_see2
      
      Change-Id: Ib0a7f6d1373dbaf7a4a41208cd9d0671fdf15edb
      ddf1b762
    • Scott LaVarnway's avatar
      d207 intra prediction ssse3 using bytes · 83936e8c
      Scott LaVarnway authored
      byte version of ronalds d207 ssse3 optimizations
      (commit: f891f84d3ba9345b0074e682f0fea09b8ddf4f1e)
      
      Change-Id: If15f71a589ea16f78ac86a501b0c5c6231dc9af1
      83936e8c
    • Yunqing Wang's avatar
      SSE2 8-tap sub-pixel filter optimization · 3fb728c7
      Yunqing Wang authored
      To ensure fast encoding/decoding on devices without ssse3 support,
      SSE2 optimization of sub-pixel filters was done. Test using 1080p
      clip showed the decoder speeds were ~70fps with ssse3 filters, ~60fps
      with sse2 filters, and ~15fps with c filters.
      
      Change-Id: Ie2088f87d83a889fba80a613e4d0e287aadd785c
      3fb728c7
    • Guillaume Martres's avatar
      Prevent accidental changes to the previous frame mode_infos · b364176c
      Guillaume Martres authored
      This is needed to fix mbgraph but shouldn't affect anything else
      
      Change-Id: I2f515052f62e348cd3794b7ff0c139802225ea95
      b364176c
    • Jingning Han's avatar
      Fix typo in comment message · f0772dc5
      Jingning Han authored
      Change-Id: Ifef756a3a91423bb9f5411f06fa092027be21ecf
      f0772dc5
    • Dmitry Kovalev's avatar
      Consistent names for FDCT functions. · fc82dbb4
      Dmitry Kovalev authored
      Renames:
        fdct4_1d   -> fdct4
        fadst4_1d  -> fadst4
        fdct8_1d   -> fdct8
        fadst8_1d  -> fadst8
        fdct16_1d  -> fdct16
        fadst16_1d -> fadst16
      
      "_1d" suffix is redundant, so removing it. The same will happen with idct
      in the next change sets.
      
      Change-Id: Ibf421cd2f569146c6079269df7a31819c098265e
      fc82dbb4