1. 17 Aug, 2017 1 commit
  2. 16 Aug, 2017 7 commits
    • Paul Wilkins's avatar
    • Paul Wilkins's avatar
      372336d1
    • 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.
      f9568689
    • 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
      b814e2d8
    • 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
      48110d0f
    • Paul Wilkins's avatar
      0472382d
    • 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.
      
      BUG=webm:1454
      
      Change-Id: I4fb3c6062ca9508325a6f31582f8e80f1a9b126f
      e15be302
  3. 15 Aug, 2017 11 commits
  4. 14 Aug, 2017 9 commits
  5. 11 Aug, 2017 3 commits
  6. 10 Aug, 2017 4 commits
  7. 09 Aug, 2017 2 commits
    • paulwilkins's avatar
      Patch relating to Issue 1456. · db8fa86a
      paulwilkins authored
      Testing of 4k videos encoded with a fixed arbitrary chunking interval
      uncovered a bug where by if a chunk ends 1 frame before a real scene cut,
      the next chunk may be encoded with two consecutive key frames at the start
      with the first being assigned 0 bits.
      
      This fix insures that where there is a key frame group of length 1 it is
      at least assigned 1 frames worth of bits not 0.
      
      See also patch Change-Id: I692311a709ccdb6003e705103de9d05b59bf840a
      which by virtue of allowing fast adaptation  of Q made this bug more visible.
      
      BUG=webm:1456
      
      Change-Id: Ic9e016cb66d489b829412052273238975dc6f6ab
      db8fa86a
    • Linfeng Zhang's avatar
      Clean highbd idct x86 code with inline functions · 39da7fb7
      Linfeng Zhang authored
      Created inline functions highbd_butterfly_cospi16_sse2()
      and highbd_butterfly_cospi16_sse4_1()
      
      BUG=webm:1412
      
      Change-Id: Icbc53a73712b6207379872a5e88d0a4d09e2322a
      39da7fb7
  8. 08 Aug, 2017 3 commits