summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2011-05-20Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: configure Change-Id: I91b9059e5b724a96368c7765c147fdf5a5ce03f2
2011-05-19Merge "disable trellis optimization for first pass"Yaowu Xu
2011-05-19disable trellis optimization for first passYaowu Xu
also remove 2 #defines and 1 function declaration that are not in use. Change-Id: I8f743d0e3dd9ebf1de24a8b0c30ff09f29b00c53
2011-05-19Merge "Using partition_info instead of blockd info for splitmv"Scott LaVarnway
2011-05-19Using partition_info instead of blockd info for splitmvScott LaVarnway
The partition_info struct contains info just for SPLITMV, so it should be used instead of BLOCKD. Eventually, I want to reduce the size of B_MODE_INFO struct found in BLOCKD, so this is the first step toward that goal. Also, since SPLITMV is not supported in vp8_pick_inter_mode(), the unnecessary mem copies and checks were removed. For rt encodes, this gave a slight performance improvement. Change-Id: I5585c98fa9d5acbde1c7e0f452a01d9ecc080574
2011-05-19Merge "Make hor UV predict ~2x faster (73 vs 132 cycles) using SSSE3."Scott LaVarnway
2011-05-19Merge "changed configure option name to reduce confusion"John Koleszar
2011-05-19Merge "Make activity masking functions static"John Koleszar
2011-05-19Merge "Fix segv without --enable-error-concealment"John Koleszar
2011-05-19Fix segv without --enable-error-concealmentJohn Koleszar
Missed wrapping one function call in #if CONFIG_ERROR_CONCEALMENT. Change-Id: I5746b1e6e4531670dbed1130467331fe309bdcae
2011-05-19Merge "Adding error-concealment to the decoder."John Koleszar
2011-05-19Adding error-concealment to the decoder.Stefan Holmer
The error-concealer is plugged in after any motion vectors have been decoded. It tries to estimate any missing motion vectors from the motion vectors of the previous frame. Intra blocks with missing residual are replaced with inter blocks with estimated motion vectors. This feature was developed in a separate sandbox (sandbox/holmer/error-concealment). Change-Id: I5c8917b031078d79dbafd90f6006680e84a23412
2011-05-19Make activity masking functions staticJohn Koleszar
These don't need extern linkage. Change-Id: I21220ada926380a75ff654f24df84376ccc49323
2011-05-19Move quantizer init functions to quantize.cJohn Koleszar
Group related functions together. Change-Id: I92fd779225b75a7204650f1decb713142c655d71
2011-05-19Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I2f9fd68d7fd52e0aebc57e561c77ebe99e9c33e4
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-16Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: vp8/encoder/rdopt.c Change-Id: I85275aab07625bd30bbef16a752b08b18f4451ab
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-13Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Idf2dead51d2936984eb9827dd6d2cb704817f4c8
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-11Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I3149502b80e7c30decc125a2ddc5ad12b12b3667
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-10Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I24a548e3ce7794409b6731829f83befc0d465800
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-07Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I22f61430b52348b32078253d5ef38e68e7f91939
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-06Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ib6c8596030140ed2b5e1dea76de024d27ad8ed86
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