]> granicus.if.org Git - libvpx/commit
Refactor decode_tiles and loopfilter code.
authorhkuang <hkuang@google.com>
Thu, 15 May 2014 17:51:55 +0000 (10:51 -0700)
committerhkuang <hkuang@google.com>
Tue, 20 May 2014 21:47:45 +0000 (14:47 -0700)
commit20c1edf6124fde58b9f755e39129289918a5fd1a
treec8144335c1b40e2f50165d0daf700f0dda0563f5
parent7af34402687ecfb95e52573ebac2af9e1c7cadc5
Refactor decode_tiles and loopfilter code.

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
vp9/common/vp9_tile_common.c
vp9/common/vp9_tile_common.h
vp9/decoder/vp9_decodeframe.c
vp9/decoder/vp9_decoder.c
vp9/decoder/vp9_decoder.h