summaryrefslogtreecommitdiff
path: root/vp8/common/x86
AgeCommit message (Collapse)Author
2016-07-19vp8: apply clang-tidy google-readability-braces-around-statementsclang-tidy
applied against an x86_64 configure clang-tidy-3.7.1 \ -checks='-*,google-readability-braces-around-statements' \ -header-filter='.*' -fix + clang-format afterward Change-Id: I6694edeaee89b58b8b3082187e6756561136b459
2016-07-18prepend ++ instead of post in for loops.Jim Bankoski
Applied the following regex : search for: (for.*\(.*;.*;) ([a-zA-Z_]*)\+\+\) replace with: \1 ++\2) This misses some for loops: ie : for (mb_col = 0; mb_col < oci->mb_cols; mb_col++, mi++) Change-Id: Icf5f6fb93cced0992e0bb71d2241780f7fb1f0a8
2016-07-15vp8: apply clang-formatclang-format
Change-Id: I7605b6678014a5426ceb45c27b54885e0c4e06ed
2016-07-12deblock filter : moved from vp8 code branchJim Bankoski
The deblocking filters used in vp8 have been moved to vpx_dsp for use by both vp8 and vp9. Change-Id: I5209d76edafc894b550f751fc76d3aa6799b392d
2016-06-27*.asm: normalize label formatJames Zern
add a trailing ':', though it's optional with the tools we support, it's more common to use it to mark a label. this also quiets the orphan-labels warning with nasm/yasm. BUG=b/29583530 Change-Id: I46e95255e12026dd542d9838e2dd3fbddf7b56e2
2016-05-02Move vpx_add_plane from codec to vpx_dsp and dedup.Jim Bankoski
Change-Id: I12218d8331c0558c0587a66321e3ca46da7e5cc7
2015-09-30vp8: change build_intra_predictors_mbuv_s to use vpx_dsp.Ronald S. Bultje
Change-Id: I936c2430c3c5b1e0ab5dec0a20110525e925b5e4
2015-09-30vp8: change build_intra_predictors_mby_s to use vpx_dsp.Ronald S. Bultje
Change-Id: I2000820e0c04de2c975d370a0cf7145330289bb2
2015-08-03Rename vp8 loopfilter_mmx.asmJohann
Chromium puts all the yasm output in the same directory. Looking at ways to improve this but in the meantime get rid of collisions. Change-Id: I923c5231d14e895ab96521eb89807ede868a0753
2015-07-07Move sub pixel variance to vpx_dspJohann
Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1
2015-06-18Move vp8 variance filesJohann
There is a naming conflict in the chromium build system. The rest of the variance functions will move to vpx_dsp soon. Change-Id: Iff78da2aafb0d7380eda73e38d7dac72110a1e47
2015-06-03Remove unused sub pixel mseJohann
Change-Id: I7a5e4e2632c3fa69d2a85a68fa9b418631caf09c
2015-05-26Move variance functions to vpx_dspJohann
subpel functions will be moved in another patch. Change-Id: Idb2e049bad0b9b32ac42cc7731cd6903de2826ce
2015-05-14vp8/common/variance*: add vp8_rtcd includeJames Zern
silences missing prototype warnings Change-Id: I5ca198b56a5ff0cf5b93c89957526f243c04e9c8
2015-05-07replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNEDJames Zern
this macro was used inconsistently and only differs in behavior from DECLARE_ALIGNED when an alignment attribute is unavailable. this macro is used with calls to assembly, while generic c-code doesn't rely on it, so in a c-only build without an alignment attribute the code will function as expected. Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
2015-05-06Move shared SAD code to vpx_dspJohann
Create a new component, vpx_dsp, for code that can be shared between codecs. Move the SAD code into the component. This reduces the size of vpxenc/dec by 36k on x86_64 builds. Change-Id: I73f837ddaecac6b350bf757af0cfe19c4ab9327a
2015-04-28vpx_mem: remove vpx_memsetJames Zern
vestigial. replace instances with memset() which they already were being defined to. Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
2014-06-12Use lrand48 on AndroidJohann
When building x86 assembly use lrand48 instead of the undocumented inlined _rand function. Android now supports rand() https://android-review.googlesource.com/97731 but only for new versions. Original workaround: https://gerrit.chromium.org/gerrit/15744 Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a
2014-05-23Removing vp8/common/pragmas.h.Dmitry Kovalev
Change-Id: I80630a7350e884ebc4fef73fb5b52ec25f908523
2014-05-21Renames x86_64 specific asm filesDeb Mukherjee
Renames all x86_64 specific assembly files to consistently end in _x86_64.asm. This will be useful for build systems to handle these files differently. All new 64-bit specific assembly files should use the new naming convention. Change-Id: I36c89584967c82ffc4088b1b5044ac15d2bb7536
2014-05-19Fix valgrind read out of bounds error.Jim Bankoski
MMX variance code in vp8 was reading out of bounds.. TODO(JBB): The best fix would involve removing duplicate library functions between vp8 and vp9... Change-Id: I5722853a6a58d3b55257ff385fa54c773bf98ded
2014-04-21Fix dr memory VP8 encode/decode errorsYunqing Wang
This patch fixed errors reported in Issue 746: "dr memory VP8 encode errors" and Issue 745: "dr memory VP8 decode errors". The "UNINITIALIZED READ" errors were fixed in x86 assembly code. The list of files fixed is vp8_intra_pred_uv_tm_sse2 vp8_intra_pred_uv_tm_ssse3 vp8_intra_pred_uv_ho_mmx2 vp8_intra_pred_uv_ho_ssse3 vp8_intra_pred_y_tm_sse2 vp8_intra_pred_y_tm_ssse3 vp8_intra_pred_y_ho_sse2 Change-Id: Ib6df7bf1d442077fe534edfd90e50ad16fadacdd
2014-03-24Fix uninitialized read in postprocessingYunqing Wang
This patch fixed WebRTC Issue 3020: "Uninit error at vp8_mbpost_proc_down_xmm". The first 8 values in d were not initialized, but was accessed. This patch fixed c code as well as mmx and sse2 code. Change-Id: Iaa5b41a4ed3bea971b15fb826ce34b7ab4e36fb1
2014-02-12minor spelling cleanup in commentsAndrew Russell
Change-Id: Ia91c6c406273345b08505097ffe1af3896980f06
2014-01-23vp8/common: add extern "C" to headersJames Zern
Change-Id: I13b434b1e6621e31962b08831c3587c039368c83
2013-12-16vp8/common: normalize include guardsJames Zern
Change-Id: Ia8789a8f864e0edc0bf94f00f6430846f86911c3
2013-10-29idct_blk_mmx.c: use vpx_memset instead of castJohann
Fix warning with -Wstrict-aliasing=1 Change-Id: Ic37013e6477cf213925830d0bd8e6f17364ff7cc
2013-10-01Merge "Fix linker warnings for bilinear filters"Matthew Heaney
2013-10-01Fix linker warnings for bilinear filtersMatthew Heaney
The declaration of the bilinear filters specified an alignment clause in the implementation file but not in the header. This turned out to be harmless, but it did cause linker warnings to be emitted when building on Windows. The (extern) declaration in the header was changed, to match the declaration in the implementation. Change-Id: I44be89b1572fe9a50fa47a42e4db9128c4897b04
2013-09-26fixed integer overflow warningsYaowu Xu
Jenkins warns on left shift of negative numbers and non-aligned read of int. This commit fixed the two issues. Change-Id: I389a7fb6a572c643902e40a4c10fefef94500d2c
2013-03-15Bug fix: Issue 531: MMX code tries to read from SSE2 registerScott LaVarnway
Reported by Krzysztof Kaspruk. https://code.google.com/p/webm/issues/detail?id=531 Change-Id: Ib5d5878ad07707bd42c2ca833eb021004f537012
2013-02-27Fix --as=nasm compatibility for new asm code.Jan Kratochvil
s/movd/movq/ Change-Id: Id1a56de91551f8dc796f14f1056c565dfc1ba626
2013-02-22Fix variance (signed integer) overflowJames Zern
based on change made in experimental: 9847344 Fix variance (signed integer) overflow Change-Id: I36f4ba5700f6f4615057daf7e70868f68a86669f
2013-02-17Use dq instead of ddq with NASMKO Myung-Hun
Change-Id: Iffb7cd44b449dc10fa5c24405be909d051b7abb5
2013-01-31Add support for x64 and win64 yasm flags.Frank Galligan
Some projects must define only win64 for Windows 64bit builds using yasm. Change-Id: I1d09590d66a7bfc8b4412e1cc8685978ac60b748
2012-12-27Merge branch 'vp9-preview' of review:webm/libvpxJohn Koleszar
Merge the vp9-preview branch into master. Change-Id: If700b9054676f24bed9deb59050af546c1ca5296
2012-11-26Merge "vp8_intra_pred_y_tm_sse2: save/restore xmm registers"James Zern
2012-11-20Merge "vp8_loop_filter_bh_y_sse2: save/restore xmm registers"John Koleszar
2012-11-20vp8_filter_block1d4_h6_ssse3: add missing xmm restoreJames Zern
Change-Id: Ia8f6b6c2a9ed60bee7949dd06fcc18b392e91d76
2012-11-20vp8_loop_filter_bh_y_sse2: save/restore xmm registersJames Zern
xmm[6-11] should be saved and restored for Windows x64; prevents an encoder mismatch and some datarate issues. Change-Id: I03c38eb18ec20c6c441cae19416393058baad1ee
2012-11-19vp8_intra_pred_y_tm_sse2: save/restore xmm registersJames Zern
xmm6/xmm7 should be saved and restored for Windows x64; prevents an encoder mismatch and some datarate issues. Change-Id: Ifa1a82ab25fbdc5112d66f5332e14b16e69ac164
2012-11-15support building vp8 and vp9 into a single libJohn Koleszar
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
2012-10-23postproc_sse2: avoid reading off the end of the limits arrayJohn Koleszar
Rather than unconditionally reading in the next MB's limits, test the loop exit condition first. Change-Id: I105d1e92698fb5561aa87160816787604aed03a2
2012-10-08post-proc: deblock filter optimizationYunqing Wang
1. Algorithm modification: Instead of having same filter threshold for a whole frame, now we allow the thresholds to be adjusted for each macroblock. In current implementation, to avoid excessive blur on background as reported in issue480(http://code.google.com/p/webm/issues/detail?id=480), we reduce the thresholds for skipped macroblocks. 2. SSE2 optimization: As started in issue479(http://code.google.com/p/webm/issues/detail?id=479), the filter calculation was adjusted for better performance. The c code was also modified accordingly. This made the deblock filter 2x faster, and the decoder was 1.2x faster overall. Next, the demacroblock filter will be modified similarly. Change-Id: I05e54c3f580ccd427487d085096b3174f2ab7e86
2012-07-27Be consistent with SAD valuesJohann
SAD returns unsigned values. Make all the declarations the same. Remove bestsad initialization and check. It is always set to the result of a SAD call so it will never remain UINT_MAX Use ja instead of jg to test unsigned comparison instead of signed. Update test. Change-Id: I46336ab45f4e60fc37caf20bd36bc5782079c7a5
2012-07-02Add 0 offsets handling in SSSE3 sixtap_predict functionsYunqing Wang
This patch fixed issue 458 by calling copy function when both offsets are 0, which guarantees the SSSE3 functions output same result as the c function for all possible offsets. Change-Id: I209aec7a4c6b3362db2646a8887c1038493b6496
2012-06-11Fix pedantic compiler warningsJohn Koleszar
Allows building the library with the gcc -pedantic option, for improved portabilty. In particular, this commit removes usage of C99/C++ style single-line comments and dynamic struct initializers. This is a continuation of the work done in commit 97b766a46, which removed most of these warnings for decode only builds. Change-Id: Id453d9c1d9f44cc0381b10c3869fabb0184d5966
2012-05-23Merge "Make libvpx Chromium build friendly"John Koleszar
2012-05-23Make libvpx Chromium build friendlyAlpha Lam
Add PRIVATE macro for adding private_extern directive for yasm to hide global symbols. This is only enabled if -DCHROMIUM is used with YASM. Also fixed a small problem with rtcd_defs.sh to guard TEMPORAL_DENOISING. Change-Id: I9027fce3ebddcf20078293e4b86b396f21da7857
2012-05-22Build unit tests monolithicallyJohn Koleszar
Rework unit tests to have a single executable rather than many, which should avoid pollution of the visual studio project namespace, improve build times, and make it easier to use the gtest test sharding system when we get these going on the continuous build cluster. Change-Id: If4c3e5d4b3515522869de6c89455c2a64697cca6