Commit Graph

25 Commits

Author SHA1 Message Date
hkuang
537cb06036 Initially add frame_parallel_decode flag.
Stub flag temporarily set to 0 until frame parallel
decoding implementations are finished.

Change-Id: I8ab768138e8f8f8eb809875703b2502ea0fe7cea
2014-06-11 17:29:29 -07:00
Dmitry Kovalev
e7135a9344 Removing decoded_key_frame flag.
Change-Id: I79576920efb7f3f6f197d386727409759d8bda8d
2014-05-21 15:51:40 -07:00
Dmitry Kovalev
66ce10c13d Merge "Deadline is not supported in VP9 decoder, removing it completely." 2014-05-21 10:37:39 -07:00
hkuang
20c1edf612 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
2014-05-20 14:47:45 -07:00
Dmitry Kovalev
39015ea200 Making vp9_initialize_dec() static.
Change-Id: I831fe91dfadf4e89f5bbba6ab7a9917d8dd2ed55
2014-05-14 16:33:00 -07:00
Dmitry Kovalev
d31b836193 Deadline is not supported in VP9 decoder, removing it completely.
Change-Id: I7675f23150404913f4b457add69fb846f6921997
2014-05-13 17:35:46 -07:00
Dmitry Kovalev
ae7d3ef39f Moving loopfilter call to vp9_decode_frame().
Inline loopfilter has been already handled in vp9_decode_frame().
Collecting all similar code in one place now.

Change-Id: I358a0280fc7c2b27cca520bc1e8c16c4eb6491dd
2014-05-12 16:19:19 -07:00
Dmitry Kovalev
0dacecaf20 Removing VP9DecoderConfig.
We only used two members from that struct: max_threads and inv_tile_order.
Moving them directly to VP9Decoder struct.

Change-Id: If696a4e5b5b41868a55f3cc971e1d7c1dd9d5f69
2014-05-08 16:24:36 -07:00
Joey Parrish
18c08607e0 Add VPXD_SET_DECRYPTOR support to the VP9 decoder.
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
2014-04-23 16:11:54 -07:00
Dmitry Kovalev
ab3d8e6fc5 Renaming VP9D_CONFIG to VP9DecoderConfig.
Change-Id: I9677aab1c7bb0ca9e989cb21348a3a2c926d8f5a
2014-04-11 14:50:11 -07:00
Dmitry Kovalev
46a20d67cb Removing unused initial_{width, height} from VP9Decoder.
Change-Id: I039474b34863bc3db9c6cda82485c32826a1b5d1
2014-04-09 16:18:29 -07:00
Dmitry Kovalev
56c2f41ccb Renaming VP9D_COMP & VP9Decompressor to VP9Decoder.
Change-Id: Ieb9b455b8aaef9884391021b7f640ef24c554687
2014-04-08 11:41:12 -07:00
Dmitry Kovalev
b5e12dda52 Cleaning up vp9_{cx, dx}_iface.c files.
Change-Id: Ib4e31ba74c4b882bd93942ef743f4a189892738d
2014-04-07 10:38:51 -07:00
Dmitry Kovalev
03349d2ba2 Moving dqcoeff array to MACROBLOCKD in decoder.
Change-Id: I3e20c0cdb9d2437bddf21afb255855f2dead8e02
2014-03-28 10:36:16 -07:00
Dmitry Kovalev
ed39c40a2e Moving above_context to VP9_COMMON.
Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
2014-03-25 10:40:08 -07:00
Dmitry Kovalev
a5d51fbdf3 Merge "General cleanup in vp9_decoder.{h, c}." 2014-03-24 15:56:25 -07:00
Dmitry Kovalev
b09cbae0dd General cleanup in vp9_decoder.{h, c}.
Change-Id: I68819558a9c5ac6ea85fe62260712af6f4cc46b7
2014-03-21 14:20:13 -07:00
Dmitry Kovalev
89ec46e6b8 Removing unused members from VP9D_CONFIG struct.
Change-Id: I83a201ab4dcf2f00131f2030f382c6dbfcb39d7e
2014-03-21 14:08:19 -07:00
Dmitry Kovalev
a57de9da03 Merge "Reusing {above, left}_seg_context vars in both encoder and decoder." 2014-03-21 12:02:42 -07:00
Dmitry Kovalev
d82766155c Merge "Removing source & source_sz from VP9Decompressor struct." 2014-03-21 12:01:25 -07:00
Dmitry Kovalev
7ad40117f1 Reusing {above, left}_seg_context vars in both encoder and decoder.
Change-Id: Id1fa36c92cb007b73a450cc8552e810cedad38b9
2014-03-20 16:15:57 -07:00
Dmitry Kovalev
88a10abe7c Removing source & source_sz from VP9Decompressor struct.
Change-Id: If4c1a48c60e8b27dd021a83170289ccc5467c6de
2014-03-20 15:01:37 -07:00
Yaowu Xu
7ef16efca1 Remove duplicate declaration
Change-Id: Ic8e52a89e0df816c38cd8ff1b7c53862b9a6dff2
2014-03-19 12:23:32 -07:00
Dmitry Kovalev
dff81e6c7a Moving mi_streams from VP9Decompressor to VP9Common.
Change-Id: I7ad79c061ad4efbc4914ac49723b48183fdbdd47
2014-03-10 16:12:45 -07:00
Dmitry Kovalev
5233e10a84 Renaming vp9_onyxd.h and vp9_onyxd_if.c to vp9_decoder.{h, c}.
Change-Id: Ibd0892be1ddadd93b8a22fa2c2e2053001f2948f
2014-03-06 12:08:20 -08:00