1. 02 Jul, 2015 2 commits
  2. 06 Feb, 2015 2 commits
  3. 17 Jan, 2015 1 commit
    • Yunqing Wang's avatar
      vp9_ethread: add parallel loopfilter · e76eaf05
      Yunqing Wang authored
      1. Added row-based loopfilter in encoder;
      2. Moved common multi-threaded loopfilter functions from decoder
         to common;
      3. Merged multi-threaded loopfilter code, and made encoder/
         decoder call same function to reduce code duplication.
      
      Encoder tests showed that 1% - 2% speedup was seen for good-quality
      2-pass mode(at speed 3); 1% - 3% speedup using 2 threads and 4% - 6%
      speedup using 4 threads were seen for real-time mode(at speed 7).
      
      Change-Id: I8a4ac51c2ad9bab9fa7b864e90743931c53ec1c4
      e76eaf05
  4. 19 Dec, 2014 1 commit
  5. 22 Oct, 2014 1 commit
    • Hangyu Kuang's avatar
      Implement frame parallel decode for VP9. · 9ce3a7d7
      Hangyu Kuang authored
      Using 4 threads, frame parallel decode is ~3x faster than single thread
      decode and around 30% faster than tile parallel decode for frame parallel
      encoded video on both Android and desktop with 4 threads. Decode speed is
      scalable to threads too which means decode could be even faster with more threads.
      
      Change-Id: Ia0a549aaa3e83b5a17b31d8299aa496ea4f21e3e
      9ce3a7d7
  6. 16 Oct, 2014 4 commits
  7. 09 Sep, 2014 1 commit
  8. 29 Aug, 2014 1 commit
    • James Zern's avatar
      vp9: fix m/t loop filter invalid free · fec40f92
      James Zern authored
      store the number of allocated rows in VP9LfSync, the calculated values
      can not be relied on when dealing with corrupt material.
      
      Change-Id: I13b8bcec9738c299a71df726772ab7ac05511e5b
      fec40f92
  9. 11 Jul, 2014 1 commit
    • hkuang's avatar
      Move vp9_thread.* to common. · 3cffa0c7
      hkuang authored
      Prepare for frame parallel decoding, the reference count buffers
      need to be protected by mutex. Move vp9_thread.* to common
      folder so that those buffers could use cross-platform mutex
      from vp9_thread.*.
      
      (cherry picked from commit 337e8015)
      
      Change-Id: I0587a08447925f4554d7788686a31483c2ae3f37
      3cffa0c7
  10. 07 Jul, 2014 1 commit
    • hkuang's avatar
      Move vp9_thread.* to common. · 337e8015
      hkuang authored
      Prepare for frame parallel decoding, the reference count buffers
      need to be protected by mutex. Move vp9_thread.* to common
      folder so that those buffers could use cross-platform mutex
      from vp9_thread.*.
      
      Change-Id: I541277cf15eefed6641555944f67f4a0bcdc8154
      337e8015
  11. 02 Jul, 2014 1 commit
  12. 28 Jun, 2014 1 commit
  13. 25 Jun, 2014 1 commit
  14. 21 Jun, 2014 1 commit
    • Jim Bankoski's avatar
      Revert 3 patches from Hangyu to get Chrome to build: · 9be46e45
      Jim Bankoski authored
      Avoids failures:
      MSE_ClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ExternalClearKeyDecryptOnly/EncryptedMediaTest.Playback_VP9Video_WebM/0
      MSE_ExternalClearKeyDecryptOnly_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      SRC_ExternalClearKey/EncryptedMediaTest.Playback_VP9Video_WebM/0
      SRC_ExternalClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      SRC_ClearKey_Prefixed/EncryptedMediaTest.Playback_VP9Video_WebM/0
      
      Patches are
      This reverts commit 9bc04085
      This reverts commit 6f5aba06
      This reverts commit 9bc04085
      
      I1f250441	Revert "Refactor the vp9_get_frame code for frame parallel."
      Ibfdddce5	Revert "Delay decreasing reference count in frame-parallel decoding."
      I00ce6771	Revert "Introduce FrameWorker for decoding."
      
      Need better testing in libvpx for these commits
      
      Change-Id: Ifa1f279b0cabf4b47c051ec26018f9301c1e130e
      9be46e45
  15. 20 Jun, 2014 1 commit
    • hkuang's avatar
      Introduce FrameWorker for decoding. · 9bc04085
      hkuang authored
      When decoding in serial mode, there will be only
      one FrameWorker doing decoding. When decoding in
      parallel mode, there will be several FrameWorkers
      doing decoding in parallel.
      
      Change-Id: If53fc5c49c7a0bf5e773f1ce7008b8a62fdae257
      9bc04085
  16. 15 May, 2014 1 commit
  17. 12 May, 2014 1 commit
  18. 10 Apr, 2014 1 commit
  19. 08 Apr, 2014 1 commit
  20. 28 Mar, 2014 1 commit
  21. 01 Feb, 2014 1 commit
    • Yunqing Wang's avatar
      Rename a loopfilter parameter · 11a9366e
      Yunqing Wang authored
      As pointed out by Dmitry and James, "partial" is a Microsoft-
      specific c++ keyword, and it is renamed.
      
      Change-Id: Ia0fc11ceb89e54b3195287f89f7e26edbbe9beb8
      11a9366e
  22. 31 Jan, 2014 1 commit
    • Yunqing Wang's avatar
      vp9 decoder: row-based multi-threaded loopfilter · 903801f1
      Yunqing Wang authored
      Implemented parallel loopfiltering, which uses existing tile-
      decoding threads. Each thread works on one row, and when that row
      is loopfiltered, it moves to next unattended row. To ensure the
      correct filtering order, threads are synchronized and one
      superblock is filtered only if the superblocks it depends on are
      filtered already.
      
      To reduce synchronization overhead and speed up the decoder, we use
      nsync > 1 for high resolution.
      
      Performance tests:
      1. on desktop:
      8-tile 4k video using 8 threads, speedup: 70% - 80%
      4-tile HD video using 4 threads, speedup: ~35%
      2. on mobile device(Nexus 7):
      4-tile 1080p video using 4 threads, speedup: 18% - 25%
      4-tile 1080p video using 2 threads, speedup: 10% - 15%
      
      Change-Id: If54b4a11960dd706c22d5ad145ad94156031f36a
      903801f1