1. 21 Oct, 2013 - 1 commit
  2. 19 Oct, 2013 - 2 commits
    • Paul Wilkins's avatar
      Modified no memory rate control. · eec3def7
      Paul Wilkins authored
      This 2-pass rate control setting allocates bits based
      on first pass stats to each kf group, gf group and individual
      frame but does not correct the bits left and allocation after
      each frame.
      
      In other words it recommends a bit allocation for each frame
      but does not try and correct any over or under spend on a
      frame over the remainder of the clip. This reduces the accuracy
      of rate control in terms of hitting an average bitrate but prevents
      problems that may arise because early frames either use to many
      or too few bits. This mode is currently more inclined to undershoot
      than overshoot (particularly at higher data rates).
      
      Also minor changes to rate of adaption when recode loop is not
      enabled.
      
      This mode is currently enabled by default for VBR.
      It gives the following % performance gains.
      
      derf +0.467, +1.072
      yt 2.962, 2.645
      stdhd 1.682, 1.595,
      yt-hd 2.3, 2.174
      
      Change-Id: I3c84a9bf8884e5b345698ff0e19187f792c2f3a0
      eec3def7
    • Paul Wilkins's avatar
      Reduced delta for kf/gf/arf when at maxq. · a2769bb7
      Paul Wilkins authored
      Delta reduced because of concern about popping on some
      very hard clips.
      
      Also allow some frame recode at speed 2 for kf/gf/arf.
      
      Change-Id: Ib47dff42da41aa6eec83b7285fcaaca24abb851e
      a2769bb7
  3. 18 Oct, 2013 - 2 commits
  4. 17 Oct, 2013 - 5 commits
  5. 16 Oct, 2013 - 8 commits
  6. 15 Oct, 2013 - 9 commits
  7. 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
  8. 11 Oct, 2013 - 9 commits
    • 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
    • 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
    • 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
  9. 10 Oct, 2013 - 3 commits