1. 02 Jul, 2015 2 commits
  2. 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
  3. 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
  4. 01 Jul, 2014 2 commits
    • James Zern's avatar
      update vp9_thread.[hc] · e656f44c
      James Zern authored
      pull the latest from WebP, which adds a worker interface abstraction
      allowing an application to override init/reset/sync/launch/execute/end
      
      this has the side effect of removing a harmless, but annoying, TSan
      warning.
      
      Original source:
       http://git.chromium.org/webm/libwebp.git
        100644 blob 08ad4e1fecba302bf1247645e84a7d2779956bc3 src/utils/thread.c
        100644 blob 7bd451b124ae3b81596abfbcc823e3cb129d3a38 src/utils/thread.h
      
      Local modifications:
       - s/WebP/VP9/g
       - camelcase functions -> lower with _'s
       - associate '*' with the variable, not the type
      
      Change-Id: I875ac5a74ed873cbcb19a3a100b5e0ca6fcd9aed
      e656f44c
    • hkuang's avatar
      Revert "Fix a bug in VP9Worker which leads to unit test hang." · 1480ba6f
      hkuang authored
      The caller should reset the state instead of letting worker
      to reset.
      
      This reverts commit 34b2ce15.
      
      Change-Id: Idb546ea6386cffc44e98dee772900d21ab79710f
      1480ba6f
  5. 30 Jun, 2014 1 commit
  6. 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
  7. 17 Oct, 2013 1 commit
    • James Zern's avatar
      vp9_thread: add vp9_worker_execute() · 820201ca
      James Zern authored
      cherry-picked from:
      commit 988b70844e03efcfcc075a9bc25d846670494f36
      Author: Pascal Massimino <pascal.massimino@gmail.com>
      Date:   Fri Aug 2 11:15:16 2013 -0700
      
          add WebPWorkerExecute() for convenient bypass
      
          This is mainly for re-using the worker structs without using the
          thread.
      
          Change-Id: I8e1be29e53874ef425b15c192fb68036b4c0a359
      
      Original source:
       http://git.chromium.org/webm/libwebp.git
       100644 blob c0d318aee628fdf9ba4876451a28aa978f1066b8 src/utils/thread.c
       100644 blob c2b92c9fe353f8e514f78922f3d237204a9cbc66 src/utils/thread.h
      
      Change-Id: I13fe92b1e94062bb99fdeeb7cb0b4b0575d27793
      820201ca
  8. 06 Oct, 2013 1 commit
  9. 05 Aug, 2013 1 commit
    • James Zern's avatar
      vp9/decoder: add thread worker · 183b77d5
      James Zern authored
      vp9/decoder/vp9_thread.[hc]
      Original source:
       http://git.chromium.org/webm/libwebp.git
       100644 blob b1615d0fb8d311666b2fa4561076c62d72c2e3ff  src/utils/thread.c
       100644 blob 13a61a4c84194c3374080cbf03d881d3cd6af40d  src/utils/thread.h
      
      Local modifications:
       - s/WebP/VP9/g
       - camelcase functions -> lower with _'s
      
      Change-Id: Ib6932640ee34f8b4782c6fbd15864a59d5d4c5fe
      183b77d5