summaryrefslogtreecommitdiff
path: root/vpx_dsp
AgeCommit message (Collapse)Author
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
2019-01-07Merge "vpx_filter: resolve missing declarations"Johann Koenig
2019-01-07Merge "arm neon: resolve missing declarations"Johann Koenig
2019-01-07arm neon: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: I2dcf39f2327b72b58be72c27f952ea781a790dd3
2019-01-07vpx_filter: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: I1be768446b9304123da7b1ea0aed0db056db31c5
2019-01-07Fix OOB memory access on fuzzed datakyslov
vp8_norm table has 256 elements while index to it can be higher on fuzzed data. Typecasting it to unsigned char will ensure valid range and will trigger proper error later. Also declaring "shift" as unsigned char to avoid UB sanitizer warning BUG=b/122373286,b/122373822,b/122371119 Change-Id: I3cef1d07f107f061b1504976a405fa0865afe9f5
2018-12-24Merge "fwd_dct32x32 avx2: resolve missing declarations"Johann Koenig
2018-12-21Merge "fwd_dct32x32 sse2: resolve missing declarations"Johann Koenig
2018-12-21fwd_dct32x32 avx2: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: Iaba854952534a95e710a985acfcab46e093872c2