1. 10 Jul, 2014 1 commit
    • James Zern's avatar
      update vp9_thread.c · 8701ed02
      James Zern authored
      pull the latest from libwebp.
      Original source:
       100644 blob 264210ba2807e4da47eb5d18c04cf869d89b9784 src/utils/thread.c
      commit 46fd44c1042c9903b2f1ab87e9f200a13c7e702d
      Author: James Zern <jzern@google.com>
      Date:   Tue Jul 8 19:53:28 2014 -0700
          thread: remove harmless race on status_ in End()
          if a thread was still doing work when End() was called there'd be a race
          on worker->status_. in these cases, however, the specific value is
          meaningless as it would be >= OK and the thread would have been shut
          down properly, but we'll check 'impl_' instead to avoid any potential
          TSan/DRD reports.
          Change-Id: Ib93cbc226a099f07761f7bad765549dffb8054b1
      Change-Id: Ib0ef25737b3c6d017fa74822e21ed58508230b91
  2. 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
  3. 01 Jul, 2014 4 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
      Original source:
        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
    • James Zern's avatar
      vp9_thread_test: remove unnecessary c_str()'s · 8c6263e8
      James Zern authored
      EXPECT_EQ() works with strings
      Change-Id: I2b13369d2aa7ff305ee516e6cb73bd099f8dead9
    • James Zern's avatar
      vp9_thread_test: factorize decode loop · 0b27ed43
      James Zern authored
      + add a SCOPED_TRACE with the current filename
      Change-Id: I9ceb47a9154bc0d9f9878a83b707e8ed935790f9
    • James Zern's avatar
      vp9_thread_test: add 'Thread' to test names · 415b84be
      James Zern authored
      this enables simpler test filtering
      Change-Id: I010a451cf32fa5a95db6734cc22f331f0a0d515a
  4. 24 Apr, 2014 1 commit
  5. 09 Apr, 2014 1 commit
  6. 08 Apr, 2014 1 commit
    • Frank Galligan's avatar
      Fix decoder resolution change with tiles · 6ae58931
      Frank Galligan authored
      There was a bug with the decoder that if you started the decoder
      with more threads than the first frame had tile columns. Afterwards
      tried to decode a frame with more tile columns than the first frame,
      the decoder would hang. E.g. run vpxdec --threads=4. The first frame
      had two tile columns, then the next key frame had 4 tile columns, the
      decoder would hang. If you started with 4 tiles and switched to 2
      tiles the decoder would be fine. The issue is that the worker the thread
      loop is using is stale.
      I added a test vector "vp90-2-14-resize-848x480-1280x720.webm" that
      exhibited the bug.
      Change-Id: I7bdd47241a52ac0fe1c693a609bc779257e94229
  7. 06 Dec, 2013 1 commit
    • James Zern's avatar
      add tile test vectors · 937c3b99
      James Zern authored
      vpxenc crowd_run_2160p50.y4m \
        --codec=vp9 -p 2 \
        --frame-parallel=${fpm} \
        --tile-columns=${tc} \
        --limit=10 \
        --auto-alt-ref=1 \
        --lag-in-frames=5 \
      Change-Id: I6dc19b4fca483d03ef9a897a843bf9037d095c8e
  8. 30 Oct, 2013 1 commit
  9. 26 Oct, 2013 1 commit
  10. 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
          Change-Id: I8e1be29e53874ef425b15c192fb68036b4c0a359
      Original source:
       100644 blob c0d318aee628fdf9ba4876451a28aa978f1066b8 src/utils/thread.c
       100644 blob c2b92c9fe353f8e514f78922f3d237204a9cbc66 src/utils/thread.h
      Change-Id: I13fe92b1e94062bb99fdeeb7cb0b4b0575d27793
  11. 05 Aug, 2013 2 commits
    • James Zern's avatar
      vp9/decoder: threaded row-based loop filter · a0ffa279
      James Zern authored
      Currently the only threaded option for vp9 decode. Enabled when the
      decoder config thread count is > 1.
      Change-Id: I082959abac9e31aa4a38ed9fd68b94680e57f4df
    • James Zern's avatar
      vp9/decoder: add thread worker · 183b77d5
      James Zern authored
      Original source:
       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