1. 22 Aug, 2017 1 commit
    • Marco's avatar
      vp9: Condition lighting change detection on CBR mode. · a31461c8
      Marco authored
      This feature is used for the CBR RTC encoding mode
      at speed >= 6. This change will exclude it for VBR mode.
      For speed 6 live encoding (VBR):
      avgPSNR/SSIM metrics on ytlive set up by ~1% (few clips up by 2/3%).
      No change in speed.
      Change-Id: I1a0dd94c334f7df309ab5a48d477d7e25355b798
  2. 21 Aug, 2017 1 commit
    • Johann's avatar
      Remove skip_block from quantize · 13eed991
      Johann authored
      This condition is handled before this code is reached. The ssse3 version
      of the function has always crashed when attempting to handle the
      skip_block condition.
      Add assert() and comments regarding the usage of skip_block.
      Removing the parameter is a fairly involved process so leave it be for
      the moment.
      Change-Id: Ib299f6fc6589d7ee102262cc74a7aeb60110bc5a
  3. 18 Aug, 2017 3 commits
  4. 17 Aug, 2017 3 commits
    • James Zern's avatar
      highbd_idct32x32*,idct32_34_4x32_quarter_1_2: fix typo · bb15fd51
      James Zern authored
      135 -> 34
      fixes unused function warnings for highbd_idct32_34_4x32_quarter_[12]
      Change-Id: I4f50ff6ea514200af93dd59ff94c7f9717409682
    • Johann's avatar
      quantize: normalize intermediate types · 7f602d61
      Johann authored
      Despite abs_coeff being a positive value, all the other implementations
      treat it as signed which simplifies restoring the sign.
      HBD builds cast qcoeff to avoid a visual studio warning. Match
      vp9_quantize.c style of casting the entire expression.
      Change-Id: I62b539b8df05364df3d7644311e325288da7c5b5
    • James Zern's avatar
      inv_txfm_sse2.h: correct idct*/iadst* prototypes · e038d161
      James Zern authored
      fixes mismatch between prototypes and definitions
      Change-Id: Ib5e7dfcce244dbb8401815be2cdd183d96792652
  5. 16 Aug, 2017 7 commits
    • Paul Wilkins's avatar
    • Paul Wilkins's avatar
    • Linfeng Zhang's avatar
      Merge changes I08b562b6,Ia275940a,I51106e90 · f9568689
      Linfeng Zhang authored
      * changes:
        Add vpx_highbd_idct32x32_{34, 135, 1024}_add_{sse2, sse4_1}
        Update highbd idct x86 optimizations.
        Update 32x32 idct sse2 and ssse3 optimizations.
    • paulwilkins's avatar
      Prevent parameters that can cause invalid ARF groups. · b814e2d8
      paulwilkins authored
      Having a very low "lag_in_frames" value could cause the encoder to create
      incorrect / corrupt ARF groups including displayed frames that update the
      ARF buffer and false overlay frames that are coded at low rate but are not
      actually overlays of a real ARF frame.
      This is linked to a reported unit test "slow down" where the chosen parameters
      (lag of 3 frames) gave rise to such "broken" ARF group(s).
      See also BUG=webm:1454
      Change-Id: If52d0236243ed5552537d1ea9ed3fed8c867232c
    • paulwilkins's avatar
      Fix corrupt arf groups due to low "lag_in_frames" · 48110d0f
      paulwilkins authored
      Having a very small value for "lag_in_frames" can result in
      corrupt arf groups including displayed frames that update
      the arf buffer and fake overlay frames that are not in fact
      overlays of real arfs but are nevertheless starved of bits.
      Leaving lag_in_frames at the default of 25 for these 5 frame two
      pass VBR tests should now give rise to a valid ARF coding pattern
      as follows:-  K(ey), A(rf), N(ormal), N, N, O(verlay).
      This change is part of a response to BUG=webm:1454 where broken
      arf groups interacted badly with a change that corrects for large rate
      misses. However, it may still in some cases increase encode time by
      virtue of the fact that the unit test now codes a correct coding pattern
      with "hidden" ARF frames.
      Change-Id: Ifd0246a4c1d0be247247c754024d7a4ed5f66a6b
    • Paul Wilkins's avatar
    • paulwilkins's avatar
      Fix for encoder slowdown (for speeds >= 3) · e15be302
      paulwilkins authored
      Some clips in nightly unit test exhibiting significant encoder slowdown which
      appears to bisect to Change-Id: I692311a709ccdb6003e705103de9d05b59bf840a.
      The above change allowed for emergency iterations of the recode loop and
      adjustment of the Q range if there is a large rate miss.
      This patch disables the above adaptation for cases of cpu_speed >= 3 or more
      specifically where cpi->sf.recode_loop >= ALLOW_RECODE_KFARFGF.
      For speeds >= 3 the code does not currently run a dummy bit pack operation
      inside the recode loop. Without this dummy pack operation there is no up to
      date estimate of the current frame's size to use as a basis for assessing the
      requirement for a recode. In practice it was using the previous frames size (or 0
      for the first frame) which could cause odd behavior.
      If we require the emergency rate correction added in  Change-Id: I6923.. for
      the higher speed settings it will be necessary to enable the dummy pack
      which will in turn hurt encode speed.
      Change-Id: I4fb3c6062ca9508325a6f31582f8e80f1a9b126f
  6. 15 Aug, 2017 11 commits
  7. 14 Aug, 2017 9 commits
  8. 11 Aug, 2017 3 commits
  9. 10 Aug, 2017 2 commits