summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2018-08-31Merge "cosmetics,lf threading: normalize struct member names"James Zern
2018-08-30Revert "Loopfilter MultiThread Optimization"James Zern
This reverts commit dafe064289a917977439ab6f4f002b9946496084. Corrupted files may cause the decoder to hang as row progress in the loopfilter is used to progress each thread. BUG=webm:1558 Change-Id: I0674ce9af14d3fb7b2da8124e7b600616c8e734a
2018-08-27Rework enc/dec mismatch detectionJingning Han
The previous enc/dec mismatch detection assumes the previously reconstructed frame would always stay at frame buffer pool index at 0. It could hence cause certain delay in enc/dec mismatch detection when the immediate reconstruction frame is not yet propagated to index 0 in the buffer map pool. This change always keeps the latest decoded show frame buffer index and directly gets the reconstructed frame from encoder and decoder buffer pools to check for mismatch. Change-Id: If53092cbc42ab78d55af5b83f12a489fc362f3ae
2018-08-20Loopfilter MultiThread OptimizationSupradeep T R
Adding LPF within the tileworker hook. This means that LPF will be done immediately after decode, without waiting for all threads to sync. Performance Improvement - Platform Resolution 2 Threads 4 Threads X86 720p 7.24% 22.04% 1080p 5.29% 17.02% ARM 720p 4.61% 8.75% 1080p 5.55% 12.03% x86 Improvement measured on Intel Core i7-6700 CPU @ 2.10GHz set in performance with turbo mode off ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz Change-Id: Ifa73c71b40db3fa7fa16f54f4e3aa06d1258caae
2018-08-07loop_filter_rows_mt: use sb_rows to limit workersJames Zern
Previously if the number of tiles decreased within a clip and there were fewer super block rows than workers the mi_row calculation would cause rows to be skipped. The num_workers stored is the max allocated amount, use sb_rows to limit the active ones if the row count is smaller as additional threads will provide no benefit. Change-Id: I1750296c8c21082de2594afecc4d6a3929db1f12
2018-08-06cosmetics,lf threading: normalize struct member namesJames Zern
VP9LfSync / VP9RowMTSync: remove trailing '_' on mutex and condition variable member names Change-Id: Iac6bb8fb7c271ae5429d41688e485bc58ea40f23
2018-08-03Fix typos in the comment for size_group_lookup.Wan-Teh Chang
"b_width_log2" and "b_height_log2" should be "b_width_log2_lookup" and "b_height_log2_lookup", respectively. Change-Id: I3ad49e45007cd9fcf5dd463c7d01e22745939231
2018-07-02Add hierarchical structure based ref frame updateZoe Liu
Change-Id: I23559110bae8fa2328fe9bdb6672c7b1da84e17f
2018-06-22Merge changes I51e7ed32,I99a9535b,Id584d8f6Luca Barbato
* changes: ppc: add vp9_iht16x16_256_add_vsx ppc: add vp9_iht8x8_64_add_vsx ppc: add vp9_iht4x4_16_add_vsx
2018-06-14ppc: add vp9_iht16x16_256_add_vsxAlexandra Hájková
Change-Id: I51e7ed32d8d87c25ee126e8b4f8fc616d0327584
2018-06-11VSX Version of vp9_quantize_fp_32x32Luc Trudeau
Low bit depth version only. Passes the VP9QuantizeTest test suite. VP9QuantizeTest Speed Test (POWER8 Model 2.1) 32x32 C time = 93.1 ms (±0.4 ms), VSX time = 6.5 ms (±0.2 ms) [14.4x] Change-Id: I7f1fd0fc987af86baf2b74147a25aee811289112
2018-06-11VSX Version of vp9_quantize_fpLuc Trudeau
Low bit depth version only. Passes the VP9QuantizeTest test suite. VP9QuantizeTest Speed Test (POWER8 Model 2.1) 4x4 C time = 86.3 ms (±0.7 ms), VSX time = 18.2 ms (±0.0 ms) [ 4.7x] 8x8 C time = 57.7 ms (±0.3 ms), VSX time = 7.6 ms (±0.0 ms) [ 7.6x] 16x16 C time = 50.7 ms (±0.1 ms), VSX time = 4.9 ms (±0.0 ms) [10.3x] Change-Id: Ic09bc786c57cc89bba14624064216b52996075eb
2018-05-31ppc: add vp9_iht8x8_64_add_vsxAlexandra Hájková
Change-Id: I99a9535bf1ae58c494113fc88d9616bda202716a
2018-05-31ppc: add vp9_iht4x4_16_add_vsxAlexandra Hájková
Change-Id: Id584d8f65fdda51b8680f41424074b4b0c979622
2018-04-23Remove get_tx_probs2()Hui Su
This function is redundant. Change-Id: I7651fc34787c09e59cb1366495f6b525dec8510d
2018-03-22Rename several static NEON iht functionsLinfeng Zhang
Change-Id: Ib6392c79d0269a43dbe180a89f2571482d98844d
2018-03-18vp9_highbd_iht8x8_add_neon: rm unused functionsJames Zern
their use was removed in: d8424d289 Fix a bug in vp9_highbd_iht8x8_64_add_neon Change-Id: I041800f3fb34ffbb7cfa7401370c5a5ceeab01c6
2018-03-16Merge "Revert "vp9_loopfilter.c: zero lfl_uv""James Zern
2018-03-15Revert "vp9_loopfilter.c: zero lfl_uv"James Zern
This reverts commit 13d0955b250bcb7eac99034e7b1677d3d026b569. Reason for revert: this should be investigated further to ensure the memset is really necessary outside of the static analysis pass. Original change's description: > vp9_loopfilter.c: zero lfl_uv > > The initialization depends on cm and mi_row which static > analysis does not approve of. > > Clears a static analysis warning: > warning: The right operand of '+' is a garbage value > const loop_filter_thresh *lfi = lfthr + *lfl; > > Change-Id: I8c863ced2b1e9a7e10103b7281098f20941a6ca2 TBR=johannkoenig@google.com,marpan@google.com,builds@webmproject.org,jianj@google.com Change-Id: Icadb6438fbcddba747622f06f2eadebdb333edf6 No-Presubmit: true No-Tree-Checks: true No-Try: true
2018-03-15Merge changes I5501d0d6,I8c863ced,I19895d06,Ifa39353d,I09bd209bJohann Koenig
* changes: vp9_resize.c: assert vp9_highbd_resize_plane conditions vp9_loopfilter.c: zero lfl_uv vp8 rdopt.c: zero rd.[rate_uv|distortion_uv] vp8 mfqe: zero map[] temporal svc: zero layer_target_bitrate
2018-03-14vp9_loopfilter.c: zero lfl_uvJohann
The initialization depends on cm and mi_row which static analysis does not approve of. Clears a static analysis warning: warning: The right operand of '+' is a garbage value const loop_filter_thresh *lfi = lfthr + *lfl; Change-Id: I8c863ced2b1e9a7e10103b7281098f20941a6ca2
2018-03-13Add vp9_highbd_iht16x16_256_add_neon()Linfeng Zhang
BUG=webm:1403 Change-Id: I2293c11666786be276909d48ee78dacb40a89e25
2018-03-13Fix a bug in vp9_highbd_iht8x8_64_add_neonLinfeng Zhang
This bug was introduced in 29b6a30c. BUG=webm:1403 Change-Id: I9e0bf2c7a01d8ff1c714c12236f7985b772b0540
2018-03-13Fix a bug in vp9_highbd_iht4x4_16_add_neon()Linfeng Zhang
This bug was introduced in 36363304. BUG=webm:1403 Change-Id: I695b409047e41ab7e0460981524310d78753751a
2018-03-05Fix a bug in vp9_iht16x16_256_add_neon()Linfeng Zhang
This bug was introduced in 88c23864. BUG=webm:1403 Change-Id: If96fd6f102be6b9bda866e55e574257287746f4a
2018-03-05Fix a bug in vp9_iht8x8_64_add_neon()Linfeng Zhang
This bug was introduced in b14b616d. BUG=webm:1403 Change-Id: I84b2733734982e52b66548850d61758c772b5494
2018-03-03disable vp9_highbd_iht{4x4_16,8x8_64}_add_neonJames Zern
these causes test vector failures BUG=webm:1403 Change-Id: I08218f0bf26651eb367ece4feec6d704e0189bd8
2018-03-03disable vp9_iht8x8_64_add_neonJames Zern
this causes test vector failures BUG=webm:1403 Change-Id: I7d37a05fbf4641ea352c947053aa4eaeb7f5c318
2018-03-03disable vp9_iht16x16_256_add_neonJames Zern
this causes test vector failures BUG=webm:1403 Change-Id: Ifdb5b270c5cc70be5689e4fbda2ada3724cc65c3
2018-02-28iadst16x16_256_add_half1d: fix array sizeJames Zern
t[] is indexed from 0..11 Change-Id: I7d0021f1795c6608354c8770843ea9dfdea66f97
2018-02-27Add vp9_iht16x16_256_add_neon()Linfeng Zhang
BUG=webm:1403 Change-Id: I1413cc3dfcb62143ba04fe9b0f8d8b010fdf69b6
2018-02-20Add vp9_highbd_iht8x8_16_add_neon()Linfeng Zhang
BUG=webm:1403 Change-Id: I11efb652f1aee371c71eee2d29e33793e4736832
2018-02-08Update iadst NEON functionsLinfeng Zhang
Use scalar multiply. No impact on clang, but improves gcc compiling. BUG=webm:1403 Change-Id: I4922e7e033d9e93282c754754100850e232e1529
2018-02-07Clean vp9_highbd_iht4x4_16_add_neon()Linfeng Zhang
Extract common code. Change-Id: I422150ada1c6915f0ce39b912149994eb3bb3f12
2018-02-05Update tx_type switch code in idctLinfeng Zhang
Change-Id: Ia244bfd4b4eb9d703653792bc4f64c6f5358ae19
2018-02-05Add vp9_highbd_iht4x4_16_add_neon()Linfeng Zhang
BUG=webm:1403 Change-Id: Id9833e985fb70958cf4bde38f8e6303ed83c12f9
2018-01-30Fix warning about bitwise 'not' on booleanJohann
cherry-picked from libaom: commit cf26ee5ad2b9da79fa68c33b7d22ff53c66d6509 Author: Sebastien Alaiwan <sebastien.alaiwan@allegrodvt.com> Date: Wed, 4 Oct 2017 10:09:13 +0200 BUG=webm:1491 Change-Id: I36c6e83ed716649f3d9ee10ce3aa9bb847cac2d9
2018-01-29Update vp9_iht8x8_64_add_neon()Linfeng Zhang
Change-Id: Ie70ed8b9273df5e1fd06bc93cb469e80630941d2
2018-01-29Update vp9_iht4x4_16_add_neon()Linfeng Zhang
Change-Id: Ica8dbe5f8167e5d370d89d233c598b70bba123b7
2018-01-24Merge "vp9_quantize_fp_avx2()"Scott LaVarnway
2018-01-23Add vp9_highbd_iht16x16_256_add_sse4_1()Linfeng Zhang
BUG=webm:1413 Change-Id: I8d7eeae1bd219eb848c1a86071046a477f7a91af
2018-01-23Add "vpx_" prefix to 2 idct x86 functionsLinfeng Zhang
Change-Id: I4f3052d8748e16b06e9155f8daf22f867dfaa7a3
2018-01-23Merge "Add vp9_highbd_iht8x8_64_add_sse4_1()"Linfeng Zhang
2018-01-18Add vp9_highbd_iht8x8_64_add_sse4_1()Linfeng Zhang
BUG=webm:1413 Change-Id: Id9038226902b2d793fc6c17ac81bb104c1a18988
2018-01-18vp9_quantize_fp_avx2()Scott LaVarnway
Started from vp9_quantize_fp_sse2 and tweaked to use avx2. Change-Id: Ic2da50cc9d73896c7ef2f3cd3db5b1c5d7795b8b
2018-01-18clang-format v5.0.0 vp9/Johann
Remove trailing commas to keep multiple elements on one line. Add blank lines to prevent comments from being treated as blocks. clang-format guards for struct with a comment in the middle. Change-Id: I3bcb8313ae8aaf69179249a13b4087b1272cdbc0
2018-01-08Add vp9_highbd_iht4x4_16_add_sse4_1()Linfeng Zhang
BUG=webm:1413 Change-Id: I14930d0af24370a44ab359de5bba5512eef4e29f
2017-12-14add copyright to rtcd filesJohann
Allows them to pass the license check in chromium. BUG=chromium:98319 Change-Id: Iefc1706152a549d8c4ae774c917596bf1c9492d8
2017-12-01explicitly label .text sectionsJohann
nasm should infer .text but does not for windows: https://bugzilla.nasm.us/show_bug.cgi?id=3392451 Change-Id: Ib195465e5f33405f5ff61c4cf88aa2a72640cacb
2017-11-20[CFI] Remove function pointer castsVlad Tsyrklevich
Control Flow Integrity [1] indirect call checking verifies that function pointers only call valid functions with a matching type signature. This change eliminates function pointer casts to make libvpx CFI-safe. [1] https://www.chromium.org/developers/testing/control-flow-integrity Change-Id: I7e08522d195a43c88cda06fa20414426c8c4372c