1. 16 Oct, 2014 1 commit
  2. 10 Sep, 2014 1 commit
  3. 18 Aug, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Add a few different encode frame tests. · e1b5d248
      Minghai Shang authored
      1. Clean the code for encode frame tests
      2. Add encode w/ and w/o alt reference frame test
      3. Add encode SNR layers test
      4. Add encode multiple layers but decode partial layers test
      
      Change-Id: Ibd2c9bc02525db584a6f931a98405f2d851b3cd6
      e1b5d248
  4. 08 Aug, 2014 1 commit
  5. 08 Jul, 2014 1 commit
  6. 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
  7. 12 Jun, 2014 1 commit
    • hkuang's avatar
      Initially add frame_parallel_decode flag. · 537cb060
      hkuang authored
      Stub flag temporarily set to 0 until frame parallel
      decoding implementations are finished.
      
      Change-Id: I8ab768138e8f8f8eb809875703b2502ea0fe7cea
      537cb060
  8. 21 May, 2014 1 commit
  9. 20 May, 2014 1 commit
    • hkuang's avatar
      Refactor decode_tiles and loopfilter code. · 20c1edf6
      hkuang authored
      The current decode_tiles decodes the frame one tile by one tile
      and then loopfilter the whole frame or use another worker thread to
      do loopfiltering.
      
      |------|------|------|------|
      |Tile1-|Tile2-|Tile3-|Tile4-|
      |------|------|------|------|
      
      For example, if a tile video has one row and four cols, decode_tiles
      will decode the Tile1, then Tile2, then Tile3, then Tile4.
      And during decode each tile, decode_tile will decode row by row in
      each tile.
      
      For frame parallel decoding, decode_tiles will decode video in row order
      across the tiles. So the order will be:
      "Decode 1st row of Tile1" -> "Decode 1st row of Tile2"
      -> "Decode 1st row of Tile3" -> "Decode 1st row of Tile4"
      -> "Decode 2nd row of Tile1" -> "Decode 2nd row of Tile2"
      -> "Decode 2nd row of Tile3" -> "Decode 2nd row of Tile4"-> "loopfilter 1st row"
      
      Change-Id: I2211f9adc6d142fbf411d491031203cb8a6dbf6b
      20c1edf6
  10. 14 May, 2014 2 commits
  11. 12 May, 2014 1 commit
  12. 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
  13. 23 Apr, 2014 1 commit
  14. 11 Apr, 2014 1 commit
  15. 09 Apr, 2014 1 commit
  16. 08 Apr, 2014 1 commit
  17. 07 Apr, 2014 1 commit
  18. 28 Mar, 2014 1 commit
  19. 25 Mar, 2014 1 commit
  20. 21 Mar, 2014 2 commits
  21. 20 Mar, 2014 2 commits
  22. 19 Mar, 2014 1 commit
  23. 10 Mar, 2014 1 commit
  24. 06 Mar, 2014 1 commit
  25. 05 Mar, 2014 1 commit
  26. 28 Feb, 2014 1 commit
  27. 24 Jan, 2014 1 commit
  28. 29 Sep, 2013 1 commit
  29. 24 Sep, 2013 1 commit
  30. 02 Apr, 2013 1 commit
  31. 14 Mar, 2013 1 commit
    • John Koleszar's avatar
      Add VP9_GET_REFERENCE control · b3c350a1
      John Koleszar authored
      This is like VP8_COPY_REFERENCE, but returns a pointer to the reference
      frame rather than a copy of it. This is useful when the application
      doesn't know what the size of the reference is, as is the case when
      scaling is in effect.
      
      Change-Id: I63667109f65510364d0e397ebe56217140772085
      b3c350a1
  32. 05 Feb, 2013 1 commit
    • Ronald S. Bultje's avatar
      [WIP] Add column-based tiling. · 1407bdc2
      Ronald S. Bultje authored
      This patch adds column-based tiling. The idea is to make each tile
      independently decodable (after reading the common frame header) and
      also independendly encodable (minus within-frame cost adjustments in
      the RD loop) to speed-up hardware & software en/decoders if they used
      multi-threading. Column-based tiling has the added advantage (over
      other tiling methods) that it minimizes realtime use-case latency,
      since all threads can start encoding data as soon as the first SB-row
      worth of data is available to the encoder.
      
      There is some test code that does random tile ordering in the decoder,
      to confirm that each tile is indeed independently decodable from other
      tiles in the same frame. At tile edges, all contexts assume default
      values (i.e. 0, 0 motion vector, no coefficients, DC intra4x4 mode),
      and motion vector search and ordering do not cross tiles in the same
      frame.
      t log
      
      Tile independence is not maintained between frames ATM, i.e. tile 0 of
      frame 1 is free to use motion vectors that point into any tile of frame
      0. We support 1 (i.e. no tiling), 2 or 4 column-tiles.
      
      The loopfilter crosses tile boundaries. I discussed this briefly with Aki
      and he says that's OK. An in-loop loopfilter would need to do some sync
      between tile threads, but that shouldn't be a big issue.
      
      Resuls: with tiling disabled, we go up slightly because of improved edge
      use in the intra4x4 prediction. With 2 tiles, we lose about ~1% on derf,
      ~0.35% on HD and ~0.55% on STD/HD. With 4 tiles, we lose another ~1.5%
      on derf ~0.77% on HD and ~0.85% on STD/HD. Most of this loss is
      concentrated in the low-bitrate end of clips, and most of it is because
      of the loss of edges at tile boundaries and the resulting loss of intra
      predictors.
      
      TODO:
      - more tiles (perhaps allow row-based tiling also, and max. 8 tiles)?
      - maybe optionally (for EC purposes), motion vectors themselves
        should not cross tile edges, or we should emulate such borders as
        if they were off-frame, to limit error propagation to within one
        tile only. This doesn't have to be the default behaviour but could
        be an optional bitstream flag.
      
      Change-Id: I5951c3a0742a767b20bc9fb5af685d9892c2c96f
      1407bdc2
  33. 18 Dec, 2012 1 commit
  34. 17 Dec, 2012 1 commit
  35. 30 Nov, 2012 1 commit
  36. 28 Nov, 2012 1 commit
  37. 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