summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-11-05Using max_tx_size instead of bsize when possible.Dmitry Kovalev
Change-Id: I246364bc4270ca13aefb4bc3445bcf102b3170dc
2013-11-05Merge "Removing old code."Dmitry Kovalev
2013-11-05Merge "Fixes to buffer update for temporal layers."Marco Paniconi
2013-11-05Merge "Unified approach for backward probability update."Dmitry Kovalev
2013-11-05token_cache changes in decoderDeb Mukherjee
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
2013-11-05Merge "Remove one shot q experiment"Deb Mukherjee
2013-11-05Merge "Fix the use case of plane_block_idx in sub8x8 RD"Jingning Han
2013-11-05Merge "Avoid mv cost check for invalid mv values"Jingning Han
2013-11-05Merge "Remove unused members from VP9_COMP"Adrian Grange
2013-11-04Avoid mv cost check for invalid mv valuesJingning Han
The compound inter prediction could potentially run with initial motion vectors of invalid value and check the mv_cost, which triggers overheap read. This commit resolves this issue by forcing a motion vector value check for compound inter modes of both superblock and sub8x8 block sizes. Change-Id: I4f4fc19ce83c8272782bc382f12c82a3f03212fc
2013-11-04Removing old code.Dmitry Kovalev
Change-Id: Ie05cc5e2d8ce12eacdf482a8b75e5a6ce6f59f57
2013-11-04Unified approach for backward probability update.Dmitry Kovalev
Replacing update_mode_probs() and adapt_probs() with tree_merge_probs(). Change-Id: I50b2c968d67c9265f5216c700cbeba25fb014654
2013-11-04Splitting partition_probs array into two arrays.Dmitry Kovalev
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
2013-11-04Remove unused members from VP9_COMPAdrian Grange
Removed: goldfreq, avg_encode_time, avg_pick_mode_time, cpu_freq, interquantizer member variables from VP9_COMP since they are no longer used in the code. Change-Id: I010a82c217d0da03c3f53d1858d3462190c12dcf
2013-11-04Merge "Remove unused member variables from VP9_COMP"Adrian Grange
2013-11-04Merge "Removing 'new' probability calculation from convert_distribution()."Dmitry Kovalev
2013-11-04Remove unused member variables from VP9_COMPAdrian Grange
Removed three members from the VP9_COMP data structure: inter_zz_count, gf_bad_count, gf_update_recommended. These were part of the VP8 real-time mode implementation that was removed from the initial VP9 codecbase. Change-Id: I866b083b88ef02c74837277d50ce532ca88492f3
2013-11-03Merge "Add second ref frame check back in rdcost hist"Jingning Han
2013-11-03Fix the use case of plane_block_idx in sub8x8 RDJingning Han
This commit fixes the use case of plane_block_idx, which determines the plane (Y/U/V) index based on block index. When block idx >= 4 in sub8x8 block loop, it should be of chroma components. Change-Id: I072705aa7b35445524ac607089ca8ce54b7ba478
2013-11-03Add second ref frame check back in rdcost histJingning Han
Update best_inter_rd and best_inter_ref_frame only in single ref frame case. Change-Id: Id56825b231a62d6852bd83811410c05a7569f715
2013-11-02Merge "vp9 ssse3 d207_predictor_32x32: add missing GLOBAL()"James Zern
2013-11-01vp9 ssse3 d207_predictor_32x32: add missing GLOBAL()James Zern
removes a textrel for sh_b23456789abcdefff Change-Id: I80cb9dfd8e49a0fe884c8ff76472275b3a00cb57
2013-11-01Removing 'new' probability calculation from convert_distribution().Dmitry Kovalev
We don't have to calculate 'new' probability in convert_distribution() because it is enough to calculate only 'new' counters which could be used to calculate probability if necessary. That's why removing a lot of unused temporary probability arrays and reducing number of get_binary_prob() calls. Change-Id: I4e14eb7203d1ace61bbddefd6b9b6326be83ba63
2013-11-01Merge "Convert filter kernel choice to lookup"Yaowu Xu
2013-11-01Convert filter kernel choice to lookupYaowu Xu
Also removed unused declaration related 6 tap filter Change-Id: Ic17f516141d885157918505f4204081e4c951fad
2013-11-01Fixes to buffer update for temporal layers.Marco Paniconi
When a frame is dropped due to |buffer_level| < 0 for a given temporal layer, the buffer level for the upper temporal layers was not updated (in calc_pframe_target_size()). This change fixes that. Also, use the layer per-frame-bandwidth for updating the buffer level of the higher layers when a frame is dropped. Change-Id: I660c23f3229b47e9d124a950b480314b4307c5a8
2013-11-01Merge "Cleanup. Adding const to function pointer arguments."Dmitry Kovalev
2013-11-01Merge "Cleaning up read_skip_coeff() function."Dmitry Kovalev
2013-11-01Two optimizations:Yaowu Xu
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
2013-11-01Merge "simplify read_coef_prob()"Yaowu Xu
2013-10-31Merge "Removing is_intra_mode() function."Dmitry Kovalev
2013-10-31simplify read_coef_prob()Yaowu Xu
Change-Id: I529c634db4f81ba5386092c126f53312b1e51b2b
2013-10-31Cleaning up read_skip_coeff() function.Dmitry Kovalev
Making code easier to read and avoiding calculation of skip context twice. Change-Id: I42c376b1a1811bc842bf6420bf81d2de7a1bf980
2013-10-31Merge "Reducing the number of foreach_transformed_block() calls."Dmitry Kovalev
2013-10-31Cleanup. Adding const to function pointer arguments.Dmitry Kovalev
Change-Id: I12c67c8c0fa1aa7fb3f7d6cc2ef65be29c4ea292
2013-10-31Reducing the number of foreach_transformed_block() calls.Dmitry Kovalev
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
2013-10-31Merge "mb_lpf_horizontal_edge AVX2 optimization"Yaowu Xu
2013-10-31Merge "Fix x_offset_q4/y_offset_q4 calculation"Yunqing Wang
2013-10-31mb_lpf_horizontal_edge AVX2 optimizationTamar Levy
This CL contains two AVX2 optimized loop filter functions, mb_lpf_horizontal_edge_w_avx2_8 and mb_lpf_horizontal_edge_w_avx2_16. Change-Id: I604e4fe6e99752b7800c2ea98721d97f7e0b931b
2013-10-31Remove one shot q experimentDeb Mukherjee
The experiment is no longer used and can be removed. Change-Id: I9feab378fc895c120aa375353c68f93cad090609
2013-10-30Updates to 1-pass:Marco Paniconi
-Don't reduce maxQ for gold/alt in CBR mode. -Fix to min/maxQ for first/initial key frame. -Add more speeds to datarate test and reduce the starting bitrate for test. Change-Id: Id2a333d76dd3f6a51b322ca984588e2a22159c58
2013-10-30Merge "Enable all-zero coeff block index for sub8x8 blk"Jingning Han
2013-10-30Merge "Reducing the number of recursive calls."Dmitry Kovalev
2013-10-30Replacing (SWITCHABLE_FILTERS + 1) with SWITCHABLE_FILTER_CONTEXTS.Dmitry Kovalev
Change-Id: I9781a62bc1a4cd9176554d1271d87dbcafda9cb0
2013-10-30Enable all-zero coeff block index for sub8x8 blkJingning Han
This commit makes zcoeff_blk cache the case where the entire block is quantized to be zero (without applying zero-forcing) in the rate- distortion optimization loop, and skip the forward DCT, quantization, inverse DCT, and reconstruction process in the encode_block stage. It now works for all the block sizes, including sub8x8 blocks. Change-Id: I5ae60a9c436ba3637d11666733554bec4580ef98
2013-10-30Reducing the number of recursive calls.Dmitry Kovalev
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
2013-10-30vp9/decode: align tile worker data allocationJames Zern
fixes a crash in assembly on 32-bit linux/windows Change-Id: I0c27e6c0ece9732b5eb2ee5b59ff42c3c8016c50
2013-10-29Merge "vp9_decodframe.c: use vpx_memset instead of cast"Johann
2013-10-29Merge "idct_blk_mmx.c: use vpx_memset instead of cast"Johann
2013-10-29Merge "decodframe.c: use vpx_memset instead of cast"Johann