summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2011-04-02Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I1cd5ad3df61463ca7d946857a548d7611d65c593
2011-04-01Merge "Wrapper function removed from vp8_subtract_b_neon function call"Johann
2011-04-01Wrapper function removed from vp8_subtract_b_neon function callTero Rintaluoma
Address calculations moved from encodemb_arm.c file to neon optimized assembly function to save cycles in function calls. - vp8_subtract_b_neon_func replaced with vp8_subtract_b_neon that contains all needed address calculations - unnecessary file encodemb_arm.c removed - consistent with ARMv6 optimized version Change-Id: I6cbc1a2670b56c2077f59995fcf8f70786b4990b
2011-04-01Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ie59ab2f2e93464df0f484bd73d2394d05640536d
2011-03-31Merge "ARMv6 optimized subtract functions"Johann
2011-03-30Fix: lpf semaphore was signaled in single threaded runAttila Nagy
After picking filter level, post the loopfilter semaphore just when multiple threads are in use. Change-Id: If7bfb64601d906adef703f454dafc25e978b93c6
2011-03-30Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ie86a006320f3cea6a068a6b235267e19c3a19c4e
2011-03-29Merge "Half pixel variance further optimized for ARMv6"Johann
2011-03-29Merge "Fix a crash while enabling shared (--enable-shared)"Yunqing Wang
2011-03-29Fix a crash while enabling shared (--enable-shared)Yunqing Wang
Fixed a bug in SSSE3 sub-pixel filter functions. Change-Id: I2e2126652970eb78307ffcefcace1efd5966fb0a
2011-03-29use GLOBAL correctly on 32bit shared librariesJohann
http://code.google.com/p/webm/issues/detail?id=309 Change-Id: I6fce9e2f74bc09a9f258df7f91ab599812324e8c
2011-03-29ARMv6 optimized subtract functionsTero Rintaluoma
Adds following ARMv6 optimized functions to encoder: - vp8_subtract_b_armv6 - vp8_subtract_mby_armv6 - vp8_subtract_mbuv_armv6 Gives 1-5% speed-up depending on input sequence and encoding parameters. Functions have one stall cycle inside the loop body on Cortex pipeline. Change-Id: I19cca5408b9861b96f378e818eefeb3855238639
2011-03-29Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Iae24496ca5ceb4446211c1e27351434c16b09dd1
2011-03-28add asm_enc_offsets.c for all targetsJohann
now that we need asm_enc_offsets.c for x86 and arm and it is harmless to build it for other targets, add it unconditionally Change-Id: I320c5220afd94fee2b98bda9ff4e5e34c67062f3
2011-03-28Half pixel variance further optimized for ARMv6Tero Rintaluoma
Half pixel interpolations optimized in variance calculations. Separate function calls to vp8_filter_block2d_bil_x_pass_armv6 are avoided.On average, performance improvement is 6-7% for VGA@30fps sequences. Change-Id: Idb5f118a9d51548e824719d2cfe5be0fa6996628
2011-03-25Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ibffdedc3bd2e1ec349e79ba038b065c98db77d06
2011-03-24Merge "use asm_offsets with vp8_regular_quantize_b_sse2"Johann
2011-03-24use asm_offsets with vp8_regular_quantize_b_sse2Johann
remove helper function and avoid shadowing all the arguments to the stack on 64bit systems when running with --good --cpu-used=0: ~2% on linux x86 and x86_64 ~2% on win32 x86 msys and visual studio more on darwin10 x86_64 significantly more on x86_64-win64-vs9 Change-Id: Ib7be12edf511fbf2922f191afd5b33b19a0c4ae6
2011-03-24Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I2e36f806ae5551c5015243de697aac3e9e29334d
2011-03-23Merge "ARMv6 optimized fdct4x4"Johann
2011-03-23Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: vp8/encoder/ratectrl.c vp8/encoder/rdopt.c Change-Id: I4cc58acb432662d2c47aceda1680e52982adbc06
2011-03-21Merge "Fix multithreaded encoding for 1 MB wide frame"Yunqing Wang
2011-03-21Remove unused vp8_get4x4sse_cs_mmx declarationJohn Koleszar
This declaration did not match the prototype_sad() prototype, but was unused in this translation unit, so it is removed instead. Fixes issue 290. Change-Id: I168854f88a85f73ca9aaf61d1e5dc0f43fc3fdb3
2011-03-21Merge "Increase static linkage, remove unused functions"John Koleszar
2011-03-21ARMv6 optimized fdct4x4Tero Rintaluoma
Optimized fdct4x4 (8x4) for ARMv6 instruction set. - No interlocks in Cortex-A8 pipeline - One interlock cycle in ARM11 pipeline - About 2.16 times faster than current C-code compiled with -O3 Change-Id: I60484ecd144365da45bb68a960d30196b59952b8
2011-03-18Fix multithreaded encoding for 1 MB wide frameAttila Nagy
Thread synchronization was not correct when frame width was 1 MB. Number of allocated encoding threads is limited by the sync_range. There is no point having more because each thread lags sync_range MBs behind the thread processing the row above. http://code.google.com/p/webm/issues/detail?id=302 Change-Id: Icaf67a883beecc5ebf2f11e9be47b6997fdf6f26
2011-03-18Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: If77de7e96a971edd8666ea0b1bd5eac6b09c6912
2011-03-17Increase static linkage, remove unused functionsJohn Koleszar
A large number of functions were defined with external linkage, even though they were only used from within one file. This patch changes their linkage to static and removes the vp8_ prefix from their names, which should make it more obvious to the reader that the function is contained within the current translation unit. Functions that were not referenced were removed. These symbols were identified by: $ nm -A libvpx.a | sort -k3 | uniq -c -f2 | grep ' [A-Z] ' \ | sort | grep '^ *1 ' Change-Id: I59609f58ab65312012c047036ae1e0634f795779
2011-03-17Set bounds from the array when iterating mmaps.Ralph Giles
The mmap allocation code in vp8_dx_iface.c was inconsistent. The static array vp8_mem_req_segs defines two descriptors, but only the first is real. The second is a sentinel and isn't actually allocated, so vpx_codec_alg_priv is declared with mmaps[NELEMENTS(vp8_mem_req_segs)-1]. Some functions use this reduced upper bound when iterating though the mmap array, but these two functions did not. Instead, this commit calls NELEMENTS(...->mmaps) to directly query the bounds of the dereferenced array. This fixes an array-bounds warning from gcc 4.6 on vp8_xma_set_mmap. Change-Id: I918e2721b401d134c1a9764c978912bdb3188be1
2011-03-17Remove commented-out VP6 code from vp8_finalize_mmapsRalph Giles
Change-Id: I48642c380353043bed96026f56de5908fcee270a
2011-03-17Merge "Fix "used uninitialized" warning in vp8_pack_bitstream()"John Koleszar
2011-03-17Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: I3f6c1e297fc0d33dc239bb4dd41d5afbcd91de19
2011-03-16apple: include proper mach primativesJohn Koleszar
Fixes implicit declaration warning for 'mach_task_self'. This change is an update to Change I9991dedd1ccfddc092eca86705ecbc3b764b799d, which fixed this issue for the decoder but not the encoder. Change-Id: I9df033e81f9520c4f975b7a7cf6c643d12e87c96
2011-03-16Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: If09b27454f82265fd5e3b25c85c1eea70c6c637f
2011-03-15Add vp8_variance8x8_armv6 and vp8_sub_pixel_variance8x8_armv6 functionsAttila Nagy
Change-Id: I08edaffc62514907fa5e90e1689269e467c857f5
2011-03-15Merge remote branch 'origin/master' into experimentalJohn Koleszar
Change-Id: Ice13978071e98a88cf8ae5c069c6423d74425dea
2011-03-14Merge "Fix an unused variable warning."John Koleszar
2011-03-14Merge "Add vp8_mse16x16_armv6 function"Johann
2011-03-14Merge remote branch 'origin/master' into experimentalJohn Koleszar
Conflicts: vp8/encoder/onyx_if.c Change-Id: I230b63cef209cd1ac98357729a91ec07597756bd
2011-03-14Add vp8_mse16x16_armv6 functionAttila Nagy
Change-Id: I77e9f2f521a71089228f96e2db72524189364ffb
2011-03-11Merge "Move build_intra_predictors_mby to RTCD framework"Johann
2011-03-11Move build_intra_predictors_mby to RTCD frameworkJohn Koleszar
The vp8_build_intra_predictors_mby and vp8_build_intra_predictors_mby_s functions had global function pointers rather than using the RTCD framework. This can show up as a potential data race with tools such as helgrind. See https://bugzilla.mozilla.org/show_bug.cgi?id=640935 for an example. Change-Id: I29c407f828ac2bddfc039f852f138de5de888534
2011-03-11Merge "ARMv6 optimized quantization"Johann
2011-03-11Merge "Only enable ssim_opt.asm on X86_64"John Koleszar
2011-03-11Only enable ssim_opt.asm on X86_64John Koleszar
Fix compiling on 32 bit x86. Change-Id: I6210573e1d9287ac49acbe3d7e5181e309316107
2011-03-11Clean up of vp8_init_config()Paul Wilkins
Clean up vp8_init_config() a bit and remove null pointer case, as this code can't be called any more and is not an adequate trap anyway, as a null pointer would cause exceptions before hitting the test. Change-Id: I937c00167cc039b3aa3f645f29c319d58ae8d3ee
2011-03-11Merge "1 Pass CQ and VBR bug fixes"John Koleszar
2011-03-111 Pass CQ and VBR bug fixesPaul Wilkins
Issue 291 highlighted the fact that CQ mode was not working as expected in 1 pass mode, This commit fixes that specific problem but in so doing I also uncovered an overflow issue in the VBR code for 1 pass and some data values not being correctly initialized. For some clips (particularly short clips), the resulting improvement is dramatic. Change-Id: Ieefd6c6e4776eb8f1b0550dbfdfb72f86b33c960
2011-03-11Merge "Fix incorrect macroblock counts in twopass rate control"John Koleszar
2011-03-11Merge "Align SAD output array to be 16-byte aligned"Yunqing Wang