1. 19 Nov, 2013 6 commits
  2. 18 Nov, 2013 1 commit
  3. 17 Nov, 2013 1 commit
  4. 16 Nov, 2013 1 commit
    • Yunqing Wang's avatar
      Do horizontal loopfiltering in parallel · 64f728ca
      Yunqing Wang authored
      This patch followed "Rewrite filter_selectively_horiz for parallel
      loopfiltering" commit, and added x86 SSE2 optimization to do
      16-pixel filtering in parallel. Also, corrected the declaration
      of aligned arrays. For 8-pixel-in-parallel case, improved the
      calculation of the masks and filters. Updated the threshold loading
      since the thresholds were already duplicated. Updated neon C functions
      to call neon loopfilters twice.
      
      Using tulip clip, tests showed it gave a ~1.5% decoder speed gain.
      
      Change-Id: Id02638626ac27a4b0e0b09d71792a24c0499bd35
      64f728ca
  5. 15 Nov, 2013 3 commits
  6. 14 Nov, 2013 6 commits
  7. 13 Nov, 2013 3 commits
  8. 12 Nov, 2013 6 commits
  9. 11 Nov, 2013 3 commits
    • Dmitry Kovalev's avatar
      Moving {sb, mb, b, ab}_index from MACROBLOCKD to MACROBLOCK. · 3551e250
      Dmitry Kovalev authored
      We use {sb, mb, b, ab}_index only inside encoder, so moving them into
      appropriate data structure.
      
      Change-Id: Ib5c1036716354d9d321e11a60c1634c1cb8f9716
      3551e250
    • Jingning Han's avatar
      Decouple macroblockd_plane buffer usage · d8b4c792
      Jingning Han authored
      Make the macroblockd_plane contain dynamic buffer pointers instead
      static pointers to the memory space allocated therein. The decoder
      uses the buffer allocated in pbi, while encoder will use a dual
      buffer approach for rate-distortion optimization search.
      
      Change-Id: Ie6f24be2dcda35df7c15b4014e5ccf236fb3f76c
      d8b4c792
    • hkuang's avatar
      Fix a bug in the assembly code. · c689a126
      hkuang authored
      Change-Id: Ic416e3f8a11e82ee298e6f709b2119a9ddf1e2f8
      c689a126
  10. 08 Nov, 2013 2 commits
    • Dmitry Kovalev's avatar
      Optimizing set_contexts() function. · 22a00198
      Dmitry Kovalev authored
      Inlining set_contexts_on_border() into set_contexts(). The only difference
      is the additional check that "has_eob != 0" in addition to
      "xd->mb_to_right_edge < 0" and "xd->mb_to_right_edge < 0". If has_eob == 0
      then memset does the right thing and works faster.
      
      Change-Id: I5206f767d729f758b14c667592b7034df4837d0e
      22a00198
    • Yunqing Wang's avatar
      Improve loopfilter function · 49cf335e
      Yunqing Wang authored
      This patch continued the work done in "Rewrite loop_filter_info_n
      struct"(commit:00dbd369) to further
      improve loopfilter function.
      
      1. Instead of storing pointers to thresholds, store loopfilter
      levels within 64x64 SB;
      2. Since loopfilter levels are already calculated in setup_mask,
      we don't need call build_lfi to look up them again. Just save
      loopfilter levels in setup_mask.
      3. Reorganized and simplified filter_block_plane().
      
      Tests showed a ~0.8% decoder speedup.
      
      Change-Id: I723c7779738bbc2afcb9afa2c6f78580ee6c3af7
      49cf335e
  11. 06 Nov, 2013 4 commits
  12. 05 Nov, 2013 3 commits
  13. 04 Nov, 2013 1 commit
    • Dmitry Kovalev's avatar
      Splitting partition_probs array into two arrays. · dde8069e
      Dmitry Kovalev authored
      We only update partition_probs for inter frames but they are constant
      for key frames. It is not necessary to have constants inside frame
      context and copy them every time. This change reduces FRAME_CONTEXT size
      by at least 48 bytes.
      
      
      Change-Id: If70a53be51043f37fe7d113853217937710932a7
      dde8069e