- 05 Nov, 2013 - 1 commit
-
-
Deb Mukherjee authored
Removes stack-alocation of token_cache in decode_coefs function Seems to achieve about 1% decode speed improvement as tested on 25 480p videos. Change-Id: I8e7eb3361fa09d9654dfad0677a6d606701fdc6e
-
- 04 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
We only update partition_probs for inter frames but they are constant for key frames. It is not necessary to have constants inside frame context and copy them every time. This change reduces FRAME_CONTEXT size by at least 48 bytes. Change-Id: If70a53be51043f37fe7d113853217937710932a7
-
- 01 Nov, 2013 - 1 commit
-
-
Yaowu Xu authored
1. Reduced the size memset based on eob for 32x32 transform. The reset of non-zero coefficient should probably go into where they are read in inverse transform functions. (TODO) 2. Removed a redundant level of indirection. vp9_iht4x4_add() checks transform type and call vp9_iht4x4_16_add() for tranforms other than DCT_DCT. In this case, the DCT_DCT case has been already handled here. Change-Id: Iacbc77da761f0b308df5acea0f20c9add9f33d20
-
- 31 Oct, 2013 - 2 commits
-
-
Yaowu Xu authored
Change-Id: I529c634db4f81ba5386092c126f53312b1e51b2b
-
Dmitry Kovalev authored
The change doesn't affect the bitstream. It changes the order or function calls and affects how we reconstruct intra- and inter-blocks. Speed up is about 1...1.5%. For intra-blocks: Before: for each transform block read tokens for each transform block do prediction for each transform block do inverse transform Now: for each transform block read tokens do prediction do inverse transform For inter-blocks: Before: for each transform block read tokens for each transform block do inverse transform Now: for each transform block read tokens do inverse transform Change-Id: I12a79bf1aa5a18c351b8010369bd3ff1deae1570
-
- 30 Oct, 2013 - 5 commits
-
-
Dmitry Kovalev authored
Change-Id: I9781a62bc1a4cd9176554d1271d87dbcafda9cb0
-
Dmitry Kovalev authored
Both decode_modes_sb and decode_modes_b had conditions to immediately return at the beginning. Eliminating these conditions here and calling these functions only to do a real work. Also unrolling loop for PARTITION_SPLIT. Change-Id: I2fc41cb74ac491f045a2f04fe68d30ff4aaa555d
-
James Zern authored
fixes a crash in assembly on 32-bit linux/windows Change-Id: I0c27e6c0ece9732b5eb2ee5b59ff42c3c8016c50
-
James Zern authored
tiles are decoded in parallel within a single frame Change-Id: I7aca87cb1c239b74eceef72bdc9f672faebac373
-
James Zern authored
factorizes the code in decode_tiles(). reading the offsets backwards wasn't doing anything to prove tile independence Change-Id: I0395d3c77205852ebdc55efedc68291e93cef85c
-
- 29 Oct, 2013 - 3 commits
-
-
Johann authored
Fix warning with -Wstrict-aliasing=1 Change-Id: Idfac09be1ab328923883e63436577f1018c895b8
-
Dmitry Kovalev authored
"keyframe" variable in the current code actually means that previous frame is a keyframe because cm->frame_type has not been initialized in read_uncompressed_header. Change-Id: I5645b0816c70abdef5dfc70113018d06276dac77
-
James Zern authored
group error checking at the top followed by allocations, setup then decode. Change-Id: I877d21326bb767885520511ecea70e5fd1e28054
-
- 28 Oct, 2013 - 5 commits
-
-
Dmitry Kovalev authored
Making partition read/write logic more clear. Change-Id: I1981e90327257d37095567c62d72a103cda1da33
-
James Zern authored
replaces use of cur_tile_mi_(row|col)_(start|end) by VP9_COMMON, making it less stateful and more reusable for parallel tile decoding Change-Id: I1df09382b4567a0e5f4434825d47c79afe2399be
-
James Zern authored
replace VP9D_COMP usage with the (slightly) more targeted VP9_COMMON/MACROBLCKD structures. Change-Id: Ifdd9034f44d69eb94e232dd03c922de763b96a30
-
James Zern authored
Change-Id: I75aab21c1692cbad717564cbb436578fddbc348d
-
James Zern authored
Change-Id: I9cbb768c5f857a096cf6c29d6755d0e5e6728435
-
- 26 Oct, 2013 - 1 commit
-
-
James Zern authored
wait until do_loopfilter_inline is true before committing the resources Change-Id: I01661bd40599b47362bb3fb534668471f2a9d8d7
-
- 25 Oct, 2013 - 4 commits
-
-
James Zern authored
this will allow for separate storage to be used in tile decoding Change-Id: I025595d83118bdc82a545dae69bc6602e8d2a6e3
-
James Zern authored
update_partition_context / partition_plane_context: this will allow for separate storage to be used in tile decoding Change-Id: Ie0bc393531ab7e9d2ce35c95111849b294aad4ed
-
James Zern authored
Change-Id: I3ebb172d4f2ae7db73b72fb42eb93833a295fb55
-
Dmitry Kovalev authored
Change-Id: If5711eb166609cce0a88b3cb5b56b3afeebc4fb0
-
- 24 Oct, 2013 - 4 commits
-
-
Dmitry Kovalev authored
Change-Id: I6e0e19231a48364c1de7dfab730b121ab227f111
-
Dmitry Kovalev authored
Change-Id: Ib9ead216fc54b2df6f6f1fe82d2ea137197beebd
-
Dmitry Kovalev authored
Change-Id: I1868fb75ed88bfa65c1c2ca24677d65f2894d713
-
Dmitry Kovalev authored
Also renaming SYNC_CODE_* to VP9_SYNC_CODE_*. Change-Id: I9ff504c6ebce6cd6673d7df2085d597b818f5960
-
- 23 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Splitting setup_inter_inter function into is_compound_prediction_allowed and setup_compound_prediction. Moving setup_compound_prediction call into read_comp_pred from read_uncompressed_header. We should do the same in the encoder as well. Change-Id: I40d75fdc4a221b2f7705df00d23a4b3fe79987c3
-
- 22 Oct, 2013 - 3 commits
-
-
Jingning Han authored
Assign the pointer to mode_info stream per tile. Remove the use of tile_col in the decoding modules. Change-Id: I7df87086708a3d92c5e20e86bcfb04e458ff47a6
-
Dmitry Kovalev authored
This move is done to have all compressed header reading functions in one place. Moved functions: read_switchable_interp_probs read_inter_mode_probs read_comp_pred_mode read_comp_pred update_mv read_mv_probs Change-Id: I2aebb57d2826d03d11bf2f8fbbfc3a9978c4f9fb
-
Yunqing Wang authored
The ref's scale_factors are set at frame level, and then copied for each partition block. Since the struct members are mostly constant, this patch separated the constant and non-constant members, and reduced struct copying. This gave 0.5% ~ 1.4% decoder speed gain. Change-Id: I94043bf5a6995c8042da52e5c661818dfa6f6d4c
-
- 21 Oct, 2013 - 7 commits
-
-
Dmitry Kovalev authored
We used set_partition_seg_context() only before calls to: 1. update_partition_context() 2. partition_plane_context() Moving these functions from vp9_blockd.h to vp9_onyxc_int.h and inlining set_partition_seg_context into them. After that it is not necessary to have {above, left}_seg_context fields in MACROBLOCKD struture, so removing them also. Change-Id: I4723f59e1c8f3788432b7f51185d8d747b3a97f9
-
James Zern authored
missed one in vp9_detokenize.c in the last + add some asserts in vp9_decode_frame() to catch regressions Change-Id: Ide67505114ee17efdafb13694aed0c09039e5a16
-
Dmitry Kovalev authored
This value is a global frame-level flag, not a macroblock-level. Change-Id: Ie8c5790a931150741c2167c00c3e3dd2cf26744d
-
James Zern authored
replace VP9D_COMP usage with the (slightly) more targeted VP9_COMMON/MACROBLCKD structures. Change-Id: I50d2579238d1a5d51ba5a82379266448ae64b24b
-
James Zern authored
replace VP9D_COMP usage with the (slightly) more targeted VP9_COMMON/MACROBLCKD/struct segmentation structures. Change-Id: Iabb3616e231417b0e17b7e4b384ea63167a81745
-
James Zern authored
replace VP9D_COMP usage with the (slightly) more targeted VP9_COMMON/MACROBLCKD structures. Change-Id: I09f6c4a5b0bcc20222210831b5b4c1582eced300
-
James Zern authored
- uses vp9_worker_execute() in non-threaded case + removes hook reassignment Change-Id: I305fd55f2be5cd92367373c929cdb9004066f90f
-
- 18 Oct, 2013 - 2 commits
-
-
James Zern authored
don't update them when frame_parallel_mode is true Change-Id: I22ff131a6c6eea238415d10b729f195c7d6dc60d
-
Dmitry Kovalev authored
That makes decoder and encoder (only bitstream writing part) a little bit simpler and faster. Moving get_sb_index() function to the encoder. Change-Id: Ie91aaeefd69c84b085948267b33556a7666c6278
-