summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-11-11Rewrite filter_selectively_horiz for parallel loopfilteringYunqing Wang
Added loop filter mask checking, and made the caller function ready for implementation of parallel loopfiltering in horizontal direction. Next, we need to go through the loopfilter functions (both c and optimized versions), and provide 16-byte wide loopfiltering for each filter type. Change-Id: Ifef47e7ef9086ebc2fd6ca7ede8f27c9bbf79e66
2013-11-08Improve loopfilter functionYunqing Wang
This patch continued the work done in "Rewrite loop_filter_info_n struct"(commit:00dbd369c70270428d56da6d15ea5486fc821c52) to further improve loopfilter function. 1. Instead of storing pointers to thresholds, store loopfilter levels within 64x64 SB; 2. Since loopfilter levels are already calculated in setup_mask, we don't need call build_lfi to look up them again. Just save loopfilter levels in setup_mask. 3. Reorganized and simplified filter_block_plane(). Tests showed a ~0.8% decoder speedup. Change-Id: I723c7779738bbc2afcb9afa2c6f78580ee6c3af7
2013-11-06Merge "Replacing mi_{width,height}_log2 with num_8x8_blocks_{wide,high}_lookup."Dmitry Kovalev
2013-11-06Merge "Allow test data path to be set by preprocessor symbol"Joshua Litt
2013-11-06Replacing mi_{width,height}_log2 with num_8x8_blocks_{wide,high}_lookup.Dmitry Kovalev
Change-Id: I04c55daef89bca2b85cb7db0850f9b052abc5a7c
2013-11-06Merge "Removes stack allocation of token_cache"Deb Mukherjee
2013-11-06Allow test data path to be set by preprocessor symbolJoshua Litt
Change-Id: I19c482c7cba34db574b3f33178ba20aede49779e
2013-11-06Merge "Missing _ means no sse3 for vp9_h_predictor_32x32."Yaowu Xu
2013-11-06Removes stack allocation of token_cacheDeb Mukherjee
Removes stack-allocation of token_cache in the tokenize function in the encoder. Change-Id: Ifdbab76dc2b23384da0080d2e9390533e489db8c
2013-11-06webmenc: Clean up the truly egregious style issues.Tom Finegan
I'm sure I could do more, but I don't know how long this code has to live. I think this at least makes the code a little easier to read and understand. Change-Id: I6ca76357f89468d4851a3d1826e7aefa498e51d1
2013-11-06Merge "Move WebM writing support out of vpxenc.c."Tom Finegan
2013-11-06Merge "optimize decode_bool operation"Yaowu Xu
2013-11-06Move WebM writing support out of vpxenc.c.Tom Finegan
This is mainly a clean up patchset. It moves the WebM writing support out of vpxenc and into its own source file. Changes to tools_common and vpxdec result from relocation of shared bits of code. Change-Id: Iee55d3285f56e0a548f791094fb14c5ac5346a26
2013-11-06Missing _ means no sse3 for vp9_h_predictor_32x32.Paul Wilkins
Error in script means vp9_h_predictor_32x32 sse3 version is not enabled. Change-Id: Ia43672740da1ecdfb7fcd420490ef424b04accc4
2013-11-05Simply a macroYaowu Xu
Change-Id: I1c0c1b92aab33b1e4321b8e584a934fe58e0b324
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-04optimize decode_bool operationYaowu Xu
Change-Id: I7fe44633d29046ddd38c88c00e8520d27ac748bf
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