1. 30 Oct, 2016 1 commit
  2. 02 Sep, 2016 1 commit
  3. 01 Sep, 2016 2 commits
  4. 12 Aug, 2016 1 commit
  5. 29 Jul, 2016 1 commit
  6. 16 Jun, 2016 1 commit
  7. 11 May, 2016 1 commit
    • Yunqing Wang's avatar
      Add decoder APIs and unit tests in tile-coding experiment · 8e5e3387
      Yunqing Wang authored
      In the tile-coding experiment,
      1. In tile decoder, added 2 set control APIs:
         VP10_SET_DECODE_TILE_ROW and VP10_SET_DECODE_TILE_COL. It allowed
         users to set the range of decoding at frame level.
      2. Added a unit test while tile-coding experiment is on. It tested
         both tile encoder and decoder to make sure the encoded frame
         can be decoded as a whole frame or as independent tiles.
      Change-Id: I73fd0632b685047cb9376008127cde72efa3fb2b
  8. 10 May, 2016 1 commit
  9. 07 May, 2016 1 commit
  10. 03 May, 2016 2 commits
    • Geza Lore's avatar
      Test tile row independence. · 1982d677
      Geza Lore authored
      Tile rows should now be independent, so make pbi->inv_tile_order
      invert the decoding order of tile rows as well as tile columns.
      This should improve test coverage. Also added more tile configurations
      to the tile_independence_tests.
      Change-Id: I14b0f2fa9241c1acaf9e2a07071952cb33feca77
    • Geza Lore's avatar
      Configure tiles in tests when using ext-tile. · 67a2ff7f
      Geza Lore authored
      With ext-tile enabled, the encoder test driver needs to configure the
      tile sizes wit different values to encode using a single tile, and to
      decode all tiles. This should fix most unit test failures.
      Change-Id: I0a0d26737414669791f3bd8d80c537db09f06072
  11. 23 Mar, 2016 1 commit
  12. 22 Aug, 2015 1 commit
  13. 22 Aug, 2014 1 commit
  14. 18 Jan, 2014 1 commit
  15. 12 Dec, 2013 1 commit
  16. 18 Jul, 2013 1 commit
  17. 06 May, 2013 1 commit
  18. 27 Mar, 2013 1 commit
  19. 01 Mar, 2013 1 commit
  20. 12 Feb, 2013 1 commit
  21. 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
      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
      - 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