summaryrefslogtreecommitdiff
path: root/vpx_dsp
AgeCommit message (Collapse)Author
2020-07-18vp8,vpx_dsp: [loongson] fix msa optimization bugsjinbo
Fix two bugs reported by clang when enable msa optimizatons: 1. clang dose not support uld instruction. 2. ulw instruction will result in unit cases coredump. Change-Id: I171bed11d18b58252cbc8853428c039e2549cb95
2020-07-07vp8,vpx_dsp:[loongson] fix bugs reported by clangjinbo
1. Adjust variable type to match clang compiler. Clang is more strict on the type of asm operands, float or double type variable should use constraint 'f', integer variable should use constraint 'r'. 2. Fix prob of using r-value in output operands. clang report error: 'invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions'. Change-Id: Iae9e08f55f249059066c391534013e320812463e
2020-06-29vp8,vpx_dsp:[loongson] fix specification of instruction namejinbo
1.'xor,or,and' to 'pxor,por,pand'. In the case of operating FPR, gcc supports both of them, clang only supports the second type. 2.'dsrl,srl' to 'ssrld,ssrlw'. In the case of operating FPR, gcc supports both of them, clang only supports the second type. Change-Id: I93b47348e7c6580d99f57dc11165b4645236533c
2020-04-13simplify x86_abi_support.asm symbol declarationJohann
Define LIBVPX_{ELF,MACHO} to simplify blocks. Create new globalsym macro and include logic for PRIVATE. BUG=webm:1679 Change-Id: I303ba1492a2813f685de51155ccef7e4831e1881
2020-04-10Merge "transpose_sse2.h,cosmetics: fix some comments"James Zern
2020-04-03transpose_sse2.h,cosmetics: fix some commentsJames Zern
Change-Id: Idae90838012c78605f20f1d7a3125b71683f6f44
2020-04-01x86_abi_support: use correct hidden syntaxJohann
Chromium needs :function hidden and the space between the symbol and the colon removed, at least for nasm. This matches x86inc.asm. BUG=webm:1679 Change-Id: Ie47bb75d44d3130791639cbf4e2ebe019e2d686e
2020-02-14move common attribute defs to compiler_attributes.hJames Zern
BUG=b/148271109 Change-Id: I620e26ff1233fcd34ebe0723cb913e82eb58271c
2020-02-03loopfilter_sse2: call unsuffixed lpf functionsJames Zern
this allows calls to use better versions (e.g., avx2) if available. in most other cases the function pointer will be defined to the sse2 variant if another isn't available. this improves performance at 1080P by ~2% on a Xeon E5-2690. Change-Id: Ie9da3a567021f8416651a29b8c9ab9238dc4bdf1
2019-11-23Disable -ftrivial-auto-var-init= for hot codeVitaly Buka
This helps to improve some benchmarks by 10%, e.g. decode_time PCFullStackTest.VP9SVC_3SL_Low Bug: 1020220, 977230 Change-Id: Ic992f1eec369f46a08e19eb33bc3a7c15c1e7c87
2019-11-13Unite vpx_psnr_pkt and PSNR_STATSangiebird
Change-Id: Ia2be91a49dfa95906fa2ce232ff9d3a69deda4ad
2019-10-24Merge "vpx_dsp/x86/avg_intrin_sse2: fix int sanitizer warnings"Hien Ho
2019-10-23vpx_dsp/x86/avg_intrin_sse2: fix int sanitizer warningsHien Ho
Unit Test: VP9/AqSegmentTest. VP9/CpuSpeedTest, AVX2/Loop8Test6Param implicit conversion from type 'int' of value 59741 (32-bit, signed) to type 'int16_t' (aka 'short') changed the value to -5795 (16-bit, signed) BUG=webm:1615 Change-Id: I2e5b688a97c3caa29d4b8a817b95a4986b81a562
2019-10-22vpx_int_pro_col_sse2: use unaligned loadsJames Zern
this fixes a segfault when scaling is enabled; in some cases depending on the ratio offsets may become odd. vpx_int_pro_row_sse2 was updated previously, though the reason wasn't listed: 54eda13f8 Apply fast motion search to golden reference frame BUG=webm:1600 Change-Id: I8d5e105d876d8cf917919da301fce362adffab95
2019-10-23Merge "vpx_dsp/inv_txfm: fix int sanitizer warnings"Hien Ho
2019-10-04vpx_dsp/inv_txfm: fix int sanitizer warningsHien Ho
with vp9-highbitdepth off. Unit Test: SSE2/Trans16x16DCT , VP9/LevelTest.TestTargetLevel20Large, VP9/CpuSpeedTest implicit conversion from type 'int32_t' (aka 'int') of value -32851 (32-bit, signed) to type 'tran_low_t' (aka 'short') changed the value to 32685 (16-bit, signed) BUG=webm:1615 BUG=webm:1647 Change-Id: I9ef064dc9ac734379628565ff6505b0876984123
2019-10-03vpx_dsp/quantize: fix int sanitizer warningsHien Ho
From unit test: AVX/VP9QuantizeTest; SSSE3/VP9QuantizeTest ... implicit conversion from type 'int' of value -139812 (32-bit, signed) to type 'tran_low_t' (aka 'short') changed the value to -8740 (16-bit, signed) BUG=webm:1615 Change-Id: I730946ac6c7a250dcbcfd8a2712c0f1150ddb4fd
2019-09-30namespace ARCH_* definesJames Zern
this prevents redefinition warnings if a toolchain sets one BUG=b/117240165 Change-Id: Ib5d8c303cd05b4dbcc8d42c71ecfcba8f6d7b90c
2019-08-28vpx_dsp/x86/highbd_idct4x4_add_sse2: fix int sanitizer warningsHien Ho
implicit conversion from type 'int' of value 49161 (32-bit, signed) to type 'int16_t' (aka 'short') changed the value to -16375 (16-bit, signed) BUG=webm:1615 Change-Id: I3f18283609ac2ce365202a63ef61a47eb00c155b
2019-08-22vpx_dsp/loopfilter.c: fix int sanitizer warningsHien Ho
implicit conversion from type 'int' of value -139 (32-bit, signed) to type 'int8_t' (aka 'signed char') changed the value to 117 (8-bit, signed) BUG=webm:1615 Change-Id: Ic64959759f4a188087aa24bedbae5f9fa60674ad
2019-08-21vpx_dsp/x86/fwd_txfm_sse2: fix int sanitizer warningsHien Ho
implicit conversion from type 'int' of value 32768 (32-bit, signed) to type 'short' changed the value to -32768 (16-bit, signed) BUG=webm:1615 Change-Id: I7cdba7f7e550f62fd3ac31574e49b1909b6ab054
2019-07-31vpx_dsp/bitwriter.h: fix clang integer sanitizer warningHien Ho
implicit conversion from type 'unsigned int' of value 256 (32-bit, unsigned) to type 'uint8_t' (aka 'unsigned char') changed the value to 0 (8-bit, unsigned) BUG=webm:1615 Change-Id: Ia9ac3772021ae492368c650a73846e7d22c8fdfc
2019-07-17Merge "Fix comment typos."Wan-Teh Chang
2019-07-17Fix comment typos.Wan-Teh Chang
Fix comment typos in transpose_s16_4x4q() and transpose_u16_4x4q(). Change-Id: I21bcc1fb3fb880798e5a3927c3dbe81dd518c83b
2019-07-16Add vpx_sad32x32x8_c/avx2Angie Chiang
Change-Id: I4dbb7b6c8979c39eb6ffb97750e3cca0f4b7921f
2019-07-14Use sdx8f in exhaustive_mesh_search_single_stepAngie Chiang
This speed up non_greedy_mv by 4% Change-Id: I9288c88db56ea4201a7ec4493ca5c567d76af0f1
2019-06-13ppc: disable vsx for small predictorsJohann
These functions cause test failures when running the entire suite. BUG=webm:1522 Change-Id: I2c1dc4923e9f149464f365ef63dc59621cfabf5a
2019-06-10sse: remove unused HAVE_SSE filesJohann
There are no sse functions which use these files. Cleans up spurious warnings when building with --disable-sse2 Change-Id: I04d84b8b7ecfe6da7d5d4df63840796c7b04c085
2019-05-29Merge "Increase the bits allocated to key frame"Deepa K G
2019-05-22Exclude VP9 files from vpx_dsp.mk for VP8 buildVenkatarama NG. Avadhani
Change-Id: Ifab64a783c205cc79b841a3f77fb77b156b23b23
2019-05-21Increase the bits allocated to key frameDeepa K G
Based on the spatial complexity, increase the bits allocated to key frame. Change-Id: I4f96990a13bcc3bdb7a22d50e67e2bd622f1ff7b
2019-05-06Exclude VP9 assemblies from VP8 buildsVenkatarama NG. Avadhani
Add a macro to to exclude VP9 specific assembly files from build if VP9 is not configured. This would otherwise cause a linking error for VP8 only builds. BUG=webm:1625 Change-Id: I6d892b7c2837a2574538d18b776fd2b6d706da96
2019-04-30cast ambiguous _mm_set1_epiNN() constantsJohann
clang 7 integer sanitizer warns on unsigned->signed conversions when the highest bit is 1. BUG=webm:1615 Change-Id: I6381efaff9233254b40cb78f7bcf87090e0ad353
2019-04-26Add bistream_debug toolAngie Chiang
Change-Id: I339899cff65c7ef563f9411f2d7af9a32a08a705
2019-04-16Fix PSNRHVS computationYaowu Xu
Cherry-pick libaom #1362e15990eccab8101305be418528824fb32245 to fix PSNRHVS calculation. BUG=webm:1620 Change-Id: Ife7bd8056fcaed06992ad76e8c1ab734c3956ad7
2019-03-29Merge "update .clang-format for version clang-7.0.1 update."James Zern
2019-03-29update .clang-format for version clang-7.0.1 update.Hien Ho
added files that are affected by clang-format version 7. BUG=b/120815481 Change-Id: I40662ce962e4f4b1fcdf183b700f85cc5c0f9f82
2019-03-28Revert "Wrap macro definition in do-while(0)"Jerome Jiang
This reverts commit aa04b6f9a7475e9d9457dfc5bf441faf15efc466. It caused big regression on webrtc VP8 tests. Change-Id: I937e769d133abeca62ba063e59a58b5c461f5b5e
2019-03-21vp9 postproc neon: Remove the condition on mb cols.Jerome Jiang
VP8 and VP9 have different padding on buffer stride. VP8 microblock is 16x16 so the buffer stride needs to be divisible by 16. Thus UV buffer stride is divisible by 8. VP9 microblock is 8x8 so the buffer stride is only extended to be divisible by 8. Then UV buffer stride isn't divisible by 8. Change-Id: I6fa953feb951f2fb2e48f72a623786b85e23822f
2019-03-19Wrap macro definition in do-while(0)Jerome Jiang
Change-Id: Id654a48d2fa40355552d7267e58461e6cc1c6998
2019-03-14Enclose macro arguments in parenthesesJerome Jiang
BUG=webm:1606 Change-Id: I661485b860243c95b6450035dbac77b0dd4d9ff4
2019-02-06Use wide integer to avoid overflowYaowu Xu
BUG=webm:1270 Change-Id: I7d56667d946196bbbe355303de805422e40b0763
2019-02-05ppc: use c89 loop declarationJohann
Change-Id: Ib8ca37f1b58e9903e7efa29689a0a49f14b4d73a
2019-01-23mips: resolve missing declarationsJohann
Exclude low bit depth optimizations from high bit depth builds. BUG=webm:1584 Change-Id: I86a7ebafa557d262257358e1e055a06d52659977
2019-01-16Merge "mips highbd: resolve missing declarations"Johann Koenig
2019-01-15mips: add rtcd.h to resolve missing declarationsJohann
BUG=webm:1584 Change-Id: Ifdebf33356abcc6869f695d129165ba17e042dcd
2019-01-15mips highbd: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: I4cbfafe8ea72b3d4523aabcaed4848fa29bb19fe
2019-01-15Remove unnecessary calculation in 4-tap interpolation filterchiyotsai
Reduces the number of rows calculated for 2D 4-tap interpolation filter from h+7 rows to h+3 rows. Also fixes a bug in the avx2 function for 4-tap filters where the last row is computed incorrectly. Performance: | Baseline | Result | Pct Gain | bitdepth lo| 4.00 fps | 4.02 fps | 0.5% | bitdepth 10| 1.90 fps | 1.91 fps | 0.5% | The performance is evaluated on speed 1 on jets.y4m br 500 over 100 frames. No BDBR loss is observed. Change-Id: I90b0d4d697319b7bba599f03c5dc01abd85d13b1
2019-01-09highbd idct: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: I596f5f0e1a1c152493cd8177b32d416cc79937e0
2019-01-08ppc: resolve missing declarationsJohann
Add rtcd headers and make local functions static. BUG=webm:1584 Change-Id: Ic19aec1dc90703b0b89d1092baee487d0fd0cb4e