summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2011-05-19Move quantizer init functions to quantize.cJohn Koleszar
Group related functions together. Change-Id: I92fd779225b75a7204650f1decb713142c655d71
2011-05-18Merge "Modify MVcount in pick_inter_mode to eliminate calling of ↵Yunqing Wang
vp8_find_near_mvs"
2011-05-18Fix a bug in vp8_clamp_mv functionYunqing Wang
Scott fixed the bug in MV clamping function in encoder, which could cause artifacts. Change-Id: Id05f2794c43c31cdd45e66179c8811f3ee452cb9
2011-05-17Modify MVcount in pick_inter_mode to eliminate calling of vp8_find_near_mvsYunqing Wang
Moved MVcount modification in pick_inter_mode, and eliminated calling of vp8_find_near_mvs. Change-Id: Icd47448a1dfc8fdf526f86757d0e5a7f218cb5e8
2011-05-13Merge "Improve framerate adaptation"John Koleszar
2011-05-13Merge "adjusting rd constant slightly by ~10%"Yaowu Xu
2011-05-13Merge "Restructure of activity masking code."Paul Wilkins
2011-05-13Restructure of activity masking code.Paul Wilkins
This commit restructures the mb activity masking code to better facilitate experimentation using different metrics etc. and also allows for adjustment of the zero bin either for encode only or both the encode and mode selection stages It also uses information from the current frame rather than the previous frame and the default strength has been reduced. Change-Id: Id39b19eace37574dc429f25aae810c203709629b
2011-05-12Improve framerate adaptationJohn Koleszar
This patch improves the accuracy of frame rate estimation by using a larger, 1 second window. It also more quickly adapts to step changes in the input frame rate (ie 30fps to 15fps) Change-Id: I39e48a8f5ac880b4c4b2ebd81049259b81a0218e
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-11adjusting rd constant slightly by ~10%Yaowu Xu
This is to reflect the RD improvement in the encoder. The change has a small positive impact on quality (0.25% by VPXSSIM and 0.05% by PSNR) Change-Id: Ic66ffc19b10870645088c0624c85556f009fd210
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