1. 10 Jul, 2013 1 commit
    • John Koleszar's avatar
      Wide loopfilter 16 pix at a time · 64f7a4d8
      John Koleszar authored
      Where possible, do the 16 pixel wide filter while doing the horizontal
      filtering pass. The same approach can be taken for the mbloop_filter
      when that's implemented. Doing so on the vertical pass is a little more
      involved, but possible.
      
      Change-Id: I010cb505e623464247ae8f67fa25a0cdac091320
      64f7a4d8
  2. 12 Jun, 2013 3 commits
  3. 10 May, 2013 1 commit
  4. 02 Apr, 2013 1 commit
    • Johann's avatar
      Demux vp9_loopfilter_x86.c · 3db60c8c
      Johann authored
      Allow more careful targeting of compiler flags.
      
      Change-Id: I963ab4a6479dedb165419310dfca52a58a9877b8
      3db60c8c
  5. 07 Feb, 2013 1 commit
  6. 23 Jan, 2013 1 commit
    • Scott LaVarnway's avatar
      Intrinsic version of loopfilter now matches C code · 6a997400
      Scott LaVarnway authored
      Updated the instrinsic code to match Yaowu's latest loopfilter change.
      (I584393906c4f5f948a581d6590959522572743bb)
      
      The decoder performance improved by ~30% for the test clip used.
      
      Change-Id: I026cfc75d5bcb7d8d58be6f0440ac9e126ef39d2
      6a997400
  7. 14 Jan, 2013 1 commit
  8. 12 Jan, 2013 2 commits
    • Scott LaVarnway's avatar
      WIP: Added sse2 version of vp9_mb_lpf_horizontal_edge_w · b20ce07d
      Scott LaVarnway authored
      and vp9_mb_lpf_vertical_edge_w_sse2.  This was quickly done so we can
      run some tests over the weekend.  Future commits will optimize/refactor these
      functions further.
      
      The decoder performance improved by ~17% for the clip used.
      
      Change-Id: I612687cd5a7670ee840a0cbc3c68dc2b84d4af76
      b20ce07d
    • Yaowu Xu's avatar
      Add loop filtering for UV plane · 9a1d73d0
      Yaowu Xu authored
      On block boundary within a MB when 8x8 block boundary only is filtered
      for Y.
      
      Change-Id: Ie1c804c877d199e78e2fecd8c2d3f1e114ce9ec1
      9a1d73d0
  9. 11 Jan, 2013 1 commit
  10. 20 Dec, 2012 1 commit
  11. 28 Nov, 2012 1 commit
    • Yunqing Wang's avatar
      Further improve macroblock loop filters · d2021386
      Yunqing Wang authored
      This change included:
      1. Aligned reads in vp9_mbloop_filter_vertical_edge function.
      Since we actually read 16 bytes, we can align the reads to read
      starting at (s - 8) instead of (s - 5).
      2. Combined u, v loop filters.
      3. Added 8x16 transpose.
      
      This gave 2% decoder performance gain (tulip clip).
      
      Change-Id: Ib14c2f1645c4a3436df17fe2f24789506bf0bb58
      d2021386
  12. 27 Nov, 2012 1 commit
    • John Koleszar's avatar
      Add vp9_ prefix to all vp9 files · fcccbcbb
      John Koleszar authored
      Support for gyp which doesn't support multiple objects in the same
      static library having the same basename.
      
      Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
      fcccbcbb
  13. 03 Nov, 2012 1 commit
  14. 01 Nov, 2012 3 commits
  15. 31 Oct, 2012 1 commit
  16. 23 Oct, 2012 3 commits
  17. 19 Oct, 2012 1 commit
    • Scott LaVarnway's avatar
      sse2 intrinsic version of vp8_mbloop_filter_vertical_edge() · 085433c2
      Scott LaVarnway authored
      First sse2 version of vp8_mbloop_filter_vertical_edge().  For now,
      intrinsics are being used until the bitstream is finalized.  This function
      will be revisited later for further performance improvements.
      
      For the test clip used, a 34+% decoder performance improvement
      was seen.  This will vary depending on material.
      
      Change-Id: I455b438bc8d8af76cf7533ac42eda5f689b21f7c
      085433c2
  18. 18 Oct, 2012 1 commit
    • Scott LaVarnway's avatar
      sse2 intrinsic version of vp8_mbloop_filter_horizontal_edge() · 992b5e2d
      Scott LaVarnway authored
      First sse2 version of vp8_mbloop_filter_horizontal_edge().  For now,
      intrinsics are being used until the bitstream is finalized.  This function
      will be revisited later for further performance improvements.
      For the test clip used, a 31+% decoder performance improvement
      was seen.  This will vary depending on material.
      
      Change-Id: I03ed3a7182478bdd1f094644ff3e0442625600e7
      992b5e2d
  19. 16 Oct, 2012 1 commit
  20. 17 Jul, 2012 1 commit
  21. 12 Apr, 2012 1 commit
    • Scott LaVarnway's avatar
      loopfilter improvements · e0a80519
      Scott LaVarnway authored
      Local variable offsets are now consistent for the functions,
      removed unused parameters, reworked the assembly to eliminate
      stalls/instructions.
      
      Change-Id: Iaa37668f8a9bb8754df435f6a51c3a08d547f879
      e0a80519
  22. 30 Jan, 2012 1 commit
  23. 30 Sep, 2011 1 commit
    • Johann's avatar
      combine loopfilter data access · 3556deac
      Johann authored
      The data processed by the loopfilter overlaps. At the block level, this
      results in some redundant transforms. Grouping the filtering allows for
      a single 16x16 transpose (and inversion) instead of three 16x8 transposes
      (and three more inversions).
      
      This implementation is x86_64 only. We retain the previous
      implementation for x86.
      
      Improvements are obviously material dependant, but it seems to be ~%1 in
      tests here.
      
      Change-Id: I467b7ec3655be98fb5f1a94b5d145e5e5a660007
      3556deac
  24. 08 Jul, 2011 1 commit
  25. 25 Apr, 2011 1 commit
    • Johann's avatar
      remove simpler_lpf · 01527e74
      Johann authored
      the decision to run the regular or simple loopfilter is made outside the
      function and managed with pointers
      
      stop tracking the option in two places. use filter_type exclusively
      
      Change-Id: I39d7b5d1352885efc632c0a94aaf56b72cc2fe15
      01527e74
  26. 10 Feb, 2011 1 commit
    • John Koleszar's avatar
      Fix relative include paths · 02321de0
      John Koleszar authored
      Allow compiling without adding vp8/{common,encoder,decoder} to the
      include paths.
      
      Change-Id: Ifeb5dac351cdfadcd659736f5158b315a0030b6c
      02321de0
  27. 04 Feb, 2011 1 commit
  28. 28 Oct, 2010 2 commits
    • Timothy B. Terriberry's avatar
      Eliminate more warnings. · 97b766a4
      Timothy B. Terriberry authored
      This eliminates a large set of warnings exposed by the Mozilla build
       system (Use of C++ comments in ISO C90 source, commas at the end of
       enum lists, a couple incomplete initializers, and signed/unsigned
       comparisons).
      It also eliminates many (but not all) of the warnings expose by newer
       GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite
       without checking the return values).
      There are a few spurious warnings left on my system:
      
      ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used
       uninitialized in this function
      gcc seems to be unable to figure out that the value shortcut doesn't
       change between the two if blocks that test it here.
      
      ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned
       expression >= 0 is always true
      ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned
       expression >= 0 is always true
      This is true, so far as it goes, but it's comparing against an enum,
       and the C standard does not mandate that enums be unsigned, so the
       checks can't be removed.
      
      Change-Id: Iead6cd561a2afaa3d801fd63f1d8d58953da7426
      97b766a4
    • Timothy B. Terriberry's avatar
      Eliminate more warnings. · c4d7e5e6
      Timothy B. Terriberry authored
      This eliminates a large set of warnings exposed by the Mozilla build
       system (Use of C++ comments in ISO C90 source, commas at the end of
       enum lists, a couple incomplete initializers, and signed/unsigned
       comparisons).
      It also eliminates many (but not all) of the warnings expose by newer
       GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite
       without checking the return values).
      There are a few spurious warnings left on my system:
      
      ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used
       uninitialized in this function
      gcc seems to be unable to figure out that the value shortcut doesn't
       change between the two if blocks that test it here.
      
      ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned
       expression >= 0 is always true
      ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned
       expression >= 0 is always true
      This is true, so far as it goes, but it's comparing against an enum, and the C
       standard does not mandate that enums be unsigned, so the checks can't be
       removed.
      
      Change-Id: Iaf689ae3e3d0ddc5ade00faa474debe73b8d3395
      c4d7e5e6
  29. 09 Sep, 2010 1 commit
  30. 29 Jun, 2010 1 commit
    • Yunqing Wang's avatar
      Improve SSE2 loopfilter functions · bead039d
      Yunqing Wang authored
      Restructured and rewrote SSE2 loopfilter functions. Combined u and
      v into one function to take advantage of SSE2 128-bit registers.
      Tests on test clips showed a 4% decoder performance improvement on
      Linux desktop.
      
      Change-Id: Iccc6669f09e17f2224da715f7547d6f93b0a4987
      bead039d
  31. 18 Jun, 2010 1 commit
    • John Koleszar's avatar
      cosmetics: trim trailing whitespace · 94c52e4d
      John Koleszar authored
      When the license headers were updated, they accidentally contained
      trailing whitespace, so unfortunately we have to touch all the files
      again.
      
      Change-Id: I236c05fade06589e417179c0444cb39b09e4200d
      94c52e4d
  32. 04 Jun, 2010 1 commit