1. 16 May, 2014 1 commit
  2. 15 May, 2014 1 commit
  3. 12 May, 2014 1 commit
  4. 08 May, 2014 1 commit
    • Dmitry Kovalev's avatar
      Removing VP9DecoderConfig. · 0dacecaf
      Dmitry Kovalev authored
      We only used two members from that struct: max_threads and inv_tile_order.
      Moving them directly to VP9Decoder struct.
      
      Change-Id: If696a4e5b5b41868a55f3cc971e1d7c1dd9d5f69
      0dacecaf
  5. 10 Apr, 2014 1 commit
  6. 08 Apr, 2014 2 commits
    • 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
      6ae58931
    • Dmitry Kovalev's avatar
      Renaming VP9D_COMP & VP9Decompressor to VP9Decoder. · 56c2f41c
      Dmitry Kovalev authored
      Change-Id: Ieb9b455b8aaef9884391021b7f640ef24c554687
      56c2f41c
  7. 02 Apr, 2014 1 commit
  8. 06 Mar, 2014 1 commit
  9. 05 Mar, 2014 1 commit
  10. 03 Mar, 2014 1 commit
  11. 06 Feb, 2014 1 commit
  12. 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
  13. 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