summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2011-05-03Merge "Modify HEX search"Yunqing Wang
2011-05-03Modify HEX searchYunqing Wang
Changed 8-neighbor searching to 4-neighour searching, and continued searching until the center point is the best match. Test on test set showed 1.3% encoding speed improvement as well as 0.1% PSNR and SSIM improvement at speed=-5 (rt mode). Will continue to improve it. Change-Id: If4993b1907dd742b906fd3f86fee77cc5932ee9a
2011-05-03Merge "change to use fast ssim code for internal ssim calculations"Yaowu Xu
2011-05-03change to use fast ssim code for internal ssim calculationsYaowu Xu
The commit also removed the slow ssim calculation that uses a 7x7 kernel, and revised the comments to better describe how sample ssim values are computed and averaged Change-Id: I1d874073cddca00f3c997f4b9a9a3db0aa212276
2011-05-02Merge "Fix documentation typos"John Koleszar
2011-05-02Fix compile error with --enable-postproc-visualizerJohn Koleszar
Typo. Change-Id: I9cc6a4587c3d93c9f0da5e101d376741fc9622a4
2011-04-30Fix documentation typosThijs Vermeir
Change-Id: I97124670926433bf1593c91660d8b8f8482ea9ce
2011-04-29Merge "Use insertion sort instead of quick sort"Yunqing Wang
2011-04-29Merge "Consolidated build inter predictors"Scott LaVarnway
2011-04-28bug fix removed inline from recon_wrapper_sse2.cJames Berry
removed inline from recon_wrapper_sse2.c to build for visual stuido Change-Id: I74a3482950448e2cdb30e9cd7087145b440d8a22
2011-04-28Merge "Use psadbw to get the sum of bytes in a line."Scott LaVarnway
2011-04-28Consolidated build inter predictorsScott LaVarnway
Code cleanup. Change-Id: Ic8b0167851116c64ddf08e8a3d302fb09ab61146
2011-04-27Use psadbw to get the sum of bytes in a line.Ronald S. Bultje
Thanks Jason for pointing that out on #vp8. ;-). Change-Id: I5330a753e752a8704b78a409597472628e0b26a5
2011-04-27Removed unused code in reconinterScott LaVarnway
The skip flag is never set by the encoder for SPLITMV. Change-Id: I5ae6457edb3a1193cb5b05a6d61772c13b1dc506
2011-04-27Merge "SSE2/SSSE3 optimizations for build_predictors_mbuv{,_s}()."John Koleszar
2011-04-27SSE2/SSSE3 optimizations for build_predictors_mbuv{,_s}().Ronald S. Bultje
decoding before 10.425 10.432 10.423 =10.426 after: 10.405 10.416 10.398 =10.406, 0.2% faster encoding before 14.252 14.331 14.250 14.223 14.241 14.220 14.221 =14.248 after 14.095 14.090 14.085 14.095 14.064 14.081 14.089 =14.086, 1.1% faster Change-Id: I483d3d8f0deda8ad434cea76e16028380722aee2
2011-04-27Use insertion sort instead of quick sortYunqing Wang
Insertion sort performs better for sorting small arrays. In real- time encoding (speed=-5), test on test set showed 1.7% performance gain with 0% PSNR change in average. Change-Id: Ie02eaa6fed662866a937299194c590d41b25bc3d
2011-04-27Merge "Speed up VP8DX_BOOL_DECODER_FILL"John Koleszar
2011-04-27Merge "Update VP8DX_BOOL_DECODER_FILL to better detect EOS"John Koleszar
2011-04-27Speed up VP8DX_BOOL_DECODER_FILLJohn Koleszar
The end-of-buffer check is hoisted out of the inner loop. Gives about 0.5% improvement on x86_64. Change-Id: I8e3ed08af7d33468c5c749af36c2dfa19677f971
2011-04-27Update VP8DX_BOOL_DECODER_FILL to better detect EOSJohn Koleszar
Allow more reliable detection of truncated bitstreams by being more precise with the count of "virtual" bits in the value buffer. Specifically, the VP8_LOTS_OF_BITS value is accumulated into count, rather than being assigned, which was losing the prior value, increasing the required tolerance when testing for the error condition. Change-Id: Ib5172eaa57323b939c439fff8a8ab5fa38da9b69
2011-04-26Refactor calc_iframe_target_sizeJohn Koleszar
Combine calc_iframe_target_size, previously only used for forced keyframes, with calc_auto_iframe_target_size, which handled most keyframes. Change-Id: I227051361cf46727caa5cd2b155752d2c9789364
2011-04-26Move pick_frame_size() to ratectrl.cJohn Koleszar
This is a first step in cleaning up the redundancies between vp8_calc_{auto_,}iframe_target_size. The pick_frame_size() function is moved to ratectrl.c, and made to be the primary interface. This means that the various calc_*_target_size functions can be made private. Change-Id: I66a9a62a5f9c23c818015e03f92f3757bf3bb5c8
2011-04-26Merge "Test vector mismatch fix"Scott LaVarnway
2011-04-26Test vector mismatch fixScott LaVarnway
Fixed test vector mismatch that was introduced in the "Removed dc_diff from MB_MODE_INFO" (Ie2b9cdf9e0f4e8b932bbd36e0878c05bffd28931) Change-Id: I98fa509b418e757b5cdc4baa71202f4168dc14ec
2011-04-25Merge "remove simpler_lpf"Johann
2011-04-25remove simpler_lpfJohann
the decision to run the regular or simple loopfilter is made outside the function and managed with pointers stop tracking the option in two places. use filter_type exclusively Change-Id: I39d7b5d1352885efc632c0a94aaf56b72cc2fe15
2011-04-25Fix duplicate vp8_compute_frame_size_boundsJohn Koleszar
Likely introduced by a bad automatic merge from gerrit. Change-Id: I0c6dd6ec18809cf9492f524d283fa4a3a8f4088b
2011-04-25Merge "Remove unused functions"John Koleszar
2011-04-25Remove unused functionsJohn Koleszar
Remove estimate_min_frame_size() and calc_low_ss_err(), as they are never referenced. Change-Id: I3293363c14ef70b79c4678ca27aa65b345077726
2011-04-25Merge "Change rc undershoot/overshoot semantics"John Koleszar
2011-04-25Merge "Limit size of initial keyframe in one-pass."John Koleszar
2011-04-25Merge "Add rc_max_intra_bitrate_pct control"John Koleszar
2011-04-25Limit size of initial keyframe in one-pass.John Koleszar
Rather than using a default size of 1/2 or 3/2 seconds for the first frame, use a fraction of the initial buffer level to give the application some control. This will likely undergo further refinement as size limits on key frames are currently under discussion on codec-devel@, but this gives much better behavior for small buffer sizes as a starting point. Change-Id: Ieba55b86517b81e51e6f0a9fe27aabba295acab0
2011-04-25Add rc_max_intra_bitrate_pct controlJohn Koleszar
Adds a control to limit the maximum size of a keyframe, as a function of the per-frame bitrate. See this thread[1] for more detailed discussion: [1]: http://groups.google.com/a/webmproject.org/group/codec-devel/browse_thread/thread/271b944a5e47ca38 Change-Id: I7337707642eb8041d1e593efc2edfdf66db02a94
2011-04-25Merge "bug fix possible keyframe context divide by zero"John Koleszar
2011-04-25bug fix possible keyframe context divide by zeroJames Berry
vp8_adjust_key_frame_context() divides by estimate_keyframe_frequency() which can return 0 in the case where --kf-max-dist=0. Change-Id: Idfc59653478a0073187cd2aa420e98a321103daa
2011-04-25Merge "keep values in registers during quantization"Johann
2011-04-25Merge "Removed unnecessary frame type checks"Scott LaVarnway
2011-04-25Merge "Removed dc_diff from MB_MODE_INFO"Scott LaVarnway
2011-04-22Fix overflow in temporal_filter_apply_sse2().Ronald S. Bultje
The accumulator array is an integer array, so use paddd instead of paddw to add values to it. Fixes overflows when using large --arnr-maxframes (>8) values. Change-Id: Iad83794caa02400a65f3ab5760f2517e082d66ae
2011-04-21Merge "Remove unused kf rate variables"John Koleszar
2011-04-21Corrected format specifiers in debug print statementsAdrian Grange
The arguments to these fprintfs are int not long int so the format specifier should be "%d" and not "%ld". This was writing garbage in the linux build. Change-Id: I3d2aa8a448d52e6dc08858d825bf394929b47cf3
2011-04-21keep values in registers during quantizationJohann
add an sse4 quantizer so we can use pinsrw/pextrw and keep values in xmm registers instead of proxying through the stack. and as long as we're bumping up, use some ssse3 instructions in the EOB detection (see ssse3 fast quantizer) pick up about a percent on 32bit and about two on 64bit. Change-Id: If15abba0e8b037a1d231c0edf33501545c9d9363
2011-04-21Removed unnecessary frame type checksScott LaVarnway
ref_frame is set to INTRA_FRAME for keyframes. The B_PRED mode is only used in intra frames. Change-Id: I9bac8bec7c736300d47994f3cb570329edf11ec0
2011-04-21Removed dc_diff from MB_MODE_INFOScott LaVarnway
The dc_diff flag is used to skip loopfiltering. Instead of setting this flag in the decoder/encoder, we now check for this condition in the loopfilter. Change-Id: Ie2b9cdf9e0f4e8b932bbd36e0878c05bffd28931
2011-04-20Removed force_no_skipScott LaVarnway
force_no_skip is always set to zero. Change-Id: I89b61c5e0bee34627a9c07c05f3517e1db76af77
2011-04-20Removed redundant checks of the mode_info_context flagsScott LaVarnway
Code cleanup. The build inter predictor functions are redundantly checking the mode_info_context for either INTRA_FRAME or SPLITMV. Change-Id: I4d58c3a5192a4c2cec5c24ab1caf608bf13aebfb
2011-04-19Remove unused kf rate variablesJohn Koleszar
Remove tot_key_frame_bits and prior_key_frame_size[] as they were tracked but never used. Remove intra_frame_target, as it was only used to initialize prior_key_frame_size. Refactor vp8_adjust_key_frame_context() some to remove unnecessary calculations. Change-Id: Icbc2c83d2b90e184be03e6f9679e678f3a4bce8f
2011-04-19modify SAVE_XMM for potential 64bit useJohann
the win64 abi requires saving and restoring xmm6:xmm15. currently SAVE_XMM and RESTORE XMM only allow for saving xmm6:xmm7. allow specifying the highest register used and if the stack is unaligned. Change-Id: Ica5699622ffe3346d3a486f48eef0206c51cf867