1. 27 Feb, 2014 2 commits
  2. 26 Feb, 2014 2 commits
  3. 24 Feb, 2014 1 commit
    • Yaowu Xu's avatar
      added clamp of segment loop filter level · 05e850cb
      Yaowu Xu authored
      for ABSDATA mode, so segment loop filter level always fall in valid
      range for both Absolute and delta modes.
      
      Change-Id: If90df3411479533dbdab63f8ae088d2f5dd174a9
      05e850cb
  4. 22 Feb, 2014 1 commit
    • Yaowu Xu's avatar
      Added clamp of qindex to valid range · e22b12e3
      Yaowu Xu authored
      The qindex for a segment was not clamped in ABSDATA mode, which may
      cause invalid memory access if an ill-formed stream has a negative
      value in ABSDATA mode. This commit added clamp to make sure qindex
      for a segment always fall into valid range.
      
      Change-Id: I0a74d00f4ef40aec7edaeca1d03c8645e23ab08c
      e22b12e3
  5. 21 Feb, 2014 1 commit
  6. 20 Feb, 2014 1 commit
  7. 19 Feb, 2014 4 commits
  8. 17 Feb, 2014 1 commit
  9. 15 Feb, 2014 2 commits
  10. 14 Feb, 2014 4 commits
    • levytamar82's avatar
      AVX2 SubPixel Variance Optimization · 52dac5d1
      levytamar82 authored
      Optimizing 2 functions to process 32 elements in parallel instead of 16:
      1. vp9_sub_pixel_variance64x64
      2. vp9_sub_pixel_variance32x32
      both of those function were calling vp9_sub_pixel_variance16xh_ssse3
      instead of calling that function, it calls vp9_sub_pixel_variance32xh_avx2
      that is written in avx2 and process 32 elements in parallel.
      This Optimization gave 70% function level gain and 2% user level gain
      
      Change-Id: I4f5cb386b346ff6c878a094e1c3b37e418e50bde
      52dac5d1
    • Adrian Grange's avatar
      Cleanup some comments. · b7be30eb
      Adrian Grange authored
      Change-Id: I568861ba1d43620865ad9a98a97eef37a51fd856
      b7be30eb
    • levytamar82's avatar
      SSSE3 convolution optimization · 3068d7d9
      levytamar82 authored
      Optimizing all SSSE3 assembly for convolution:
      1. vp9_filter_block1d4_h8_sse2
      2. vp9_filter_block1d8_h8_sse2
      3. vp9_filter_block1d16_h8_sse2
      4. vp9_filter_block1d4_v8_sse2
      5. vp9_filter_block1d8_v8_sse2
      6. vp9_filter_block1d16_v8_sse2
      my optimization include:
      -processing 2x8 elements in one 128 bit register instead of processing
      8 elements in one 128 bit register.
      -removing unecessary loads.
      This optimization gives between 2.4% user level gain for 480p input
      and 1.6% user level gain for 720p.
      This Optimization is done only for 64 bit
      
      Change-Id: Ic07fce2f9360329b4f2d956efda1480ae958766b
      3068d7d9
    • Dmitry Kovalev's avatar
      Cleaning up pack_inter_mode_mvs() function. · 19a8eee1
      Dmitry Kovalev authored
      Change-Id: I48ad06e3e1ae9720a0683022621f4504e3bebce6
      19a8eee1
  11. 13 Feb, 2014 6 commits
    • Frank Galligan's avatar
      Add VP9 decoder support for external frame buffers · a4f30a50
      Frank Galligan authored
      Added support for external frame buffers to libvpx's VP9 decoder.
      If the external frame buffer functions are set then libvpx will
      call the get function whenever it needs a new frame buffer to
      decode a frame into. And it will call the release function
      whenever there are no more references to that buffer.
      
      Change-Id: Id2934d005f606af6e052fb6db0d5b7c02f567522
      a4f30a50
    • Yaowu Xu's avatar
      Removed the reset of mode_info from previous frame · 896d79a5
      Yaowu Xu authored
      Prior to this commit, both encoder and decoder reset mode/mv info from
      previous frame in error resilient mode to ensure bitstreams are able to
      decode when there is loss of frame in decoder side. However, this is
      not necessary. This commit changed to remove the reset, so encoder can
      continue to use mode/mv/partition information from previously encoded
      frame without affecting decodeablilty under loss of frame.
      
      Change-Id: I0279f862900dc647fb471ae3389770bb1b9f454f
      896d79a5
    • levytamar82's avatar
      AVX2 Convolve Optimization · 876c72a0
      levytamar82 authored
      Two convolve functions were optimized for AVX2:
      1. vp9_filter_block1d16_h8
      2. vp9_filter_block1d16_v8
      vp9_filter_block1d16_v8 was optimized for AVX2 by reducing the number of
      loop strides by half, two strides were processed in parallel.
      vp9_filter_block1d16_v8 was also optimized in the same way also some of the
      loads were being done outside of the loop and by that preventing redundant
      loads.
      This Optimization gives 43% function level gain and 1.3% user level gain.
      Now can be compiled in Windows
      
      Change-Id: I2714124cfb0c14a77d7a0ce126a20db92ffbf92c
      876c72a0
    • Frank Galligan's avatar
      Fix neon wide loopfilter for filter8 only branch · b41acbf9
      Frank Galligan authored
      The current code removed the check to only perform the filter8.
      
      Change-Id: Ie54e19a77745042a5660eab986d9ef1c42e82410
      b41acbf9
    • Dmitry Kovalev's avatar
      Renaming skip_coeff to skip for consistency. · 004c8c63
      Dmitry Kovalev authored
      Change-Id: I036e815ca63d00cba71202ae09ba0f6ef745dcb8
      004c8c63
    • Andrew Russell's avatar
      minor spelling cleanup in comments · 549c31f8
      Andrew Russell authored
      Change-Id: Ia91c6c406273345b08505097ffe1af3896980f06
      549c31f8
  12. 12 Feb, 2014 4 commits
  13. 10 Feb, 2014 11 commits