summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2011-05-12Removed mv_bits_sadcostScott LaVarnway
This sad cost is being generated but never used. Change-Id: I562eebdcb792b743770954feca365b5b37491ecd
2011-05-12Using int_mv instead of MVScott LaVarnway
The compiler produces better assembly when using int_mv for assignments. The compiler shifts and ors the two 16bit values when assigning MV. Change-Id: I52ce4bc2bfbfaf3f1151204b2f21e1e0654f960f
2011-05-12Merge "Modification and issue fix in full-pixel refining search"Yunqing Wang
2011-05-12Modification and issue fix in full-pixel refining searchYunqing Wang
Further modification and wrong implementation fix which caused refining_search and refining_searchx4 result mismatching. Change-Id: I80cb3a44bf5824413fd50c972e383eebb75f9b6f
2011-05-10Merge "remove a variable no longer in use"Yaowu Xu
2011-05-10Merge "fix a bug related to gf_active_flags in multi-threaded encoder"Yaowu Xu
2011-05-10remove a variable no longer in useYaowu Xu
The variable is introduced in commit 2e53e9e53 to make more use of trellis quantization, but this is no longer necessary after RDMULT was made adaptive in a number of later commits. Change-Id: I7420522ec7723f38cf77033466c25afb405d52ae
2011-05-10set up Global Offset Table in reconJohann
global values were being referenced, but the GOT was not being set up. as the GOT is only required for PIC, this issue wasn't caught in the default configuration. Change-Id: I8006e53776139362a76f2c80cf9d0f8458602b2f http://code.google.com/p/webm/issues/detail?id=328
2011-05-10Merge "Use diamond search to replace full search in full-pixel refining search"Yunqing Wang
2011-05-09Use diamond search to replace full search in full-pixel refining searchYunqing Wang
In NEWMV mode, currently, full search is used as the refining search after n-step search. By replacing it with an iterative diamond search of radius 1 largely reduced the computation complexity, but still maintained the same encoding quality since the refining search is done for every macroblock instead of only a small precentage of macroblocks while using full search. Tests on the test set showed a 3.4% encoding speed increase with none psnr & ssim loss. Change-Id: Ife907d7eb9544d15c34f17dc6e4cfd97cb743d41
2011-05-09clean up unused variable warningsJohann
Change-Id: I9467d7a50eac32d8e8f3a2f26db818e47c93c94b
2011-05-06fix a bug related to gf_active_flags in multi-threaded encoderYaowu Xu
Paul pointed out that the pointer to the gf_active_flags is not being properly incremented in multithreaded encoder. This commit fixes the issue by making sure the gf_active_ptr points to the starting of next group of mb rows. Change-Id: I3246e657d23beabb614dfb880733a68a5fd7e34c
2011-05-06Merge "Don't override active_worst_quality in 2 pass"John Koleszar
2011-05-06Merge "neon fast quantizer updated"Johann
2011-05-06Don't override active_worst_quality in 2 passJohn Koleszar
Commit db5057c introduced a bug in that the active_worst_quality selected by the 2 pass rate controller was being overridden for key frames, causing a severe quality loss. Change-Id: I4865a6fbe3e94e9b4fb9271c7dd68b455d7b371d
2011-05-06neon fast quantizer updatedTero Rintaluoma
vp8_fast_quantize_b_neon function updated and further optimized. - match current C implementation of fast quantizer - updated to use asm_enc_offsets for structure members - updated ads2gas scripts to handle alignment issues Change-Id: I5cbad9c460ad8ddb35d2970a8684cc620711c56d
2011-05-06Fix semaphore emulation on WindowsAron Rosenberg
The existing emulation of posix semaphores on Windows uses SetEvent() and WaitForSingleObject(), which implements a binary semaphore, not a counting semaphore as implemented by posix. This causes deadlock when used with the expected posix semantics. Instead, this patch uses the CreateSemaphore() and ReleaseSemaphore() calls (introduced in Windows 2000) which have the expected behavior. This patch also reverts commit eb16f00, which split a semaphore that was being used with counting semantics into two binary semaphores. That commit is unnecessary with corrected emulation. Change-Id: If400771536a27af4b0c3a31aa4c4e9ced89ce6a0
2011-05-05Fix rare hang in multi-thread encoder on WindowsYunqing Wang
This patch is to fix a rare hang in multi-thread encoder that was only seen on Windows. Thanks for John's help in debugging the problem. More test is needed. Change-Id: Idb11c6d344c2082362a032b34c5a602a1eea62fc
2011-05-05Merge "Loopfilter NEON: Use VMOV for constant vectors instead of VLD."Johann
2011-05-05Merge "Runtime detection of available processor cores."Yunqing Wang
2011-05-04Loopfilter NEON: Use VMOV for constant vectors instead of VLD.Attila Nagy
Change-Id: I562b6e01c32bb51d00f3b95faf757fc7dc29a3a3
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