summaryrefslogtreecommitdiff
path: root/vp8/common
AgeCommit message (Collapse)Author
2019-05-02vp8: clamp uv mv after calculation.Jerome Jiang
BUG=oss-fuzz:14478 Change-Id: Ia978a1e7829bf486681385cd715ed0b50fe3b072
2019-04-23Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"Sai Deng
This reverts commit 1d8d8f562bf382e47071bb38d13b7ded366820af. Reason for revert: change the api names will break existing code. Original change's description: > Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums > > Change-Id: I3df5af2c60b774e6d395062077542c52db868236 TBR=jingning@google.com,builds@webmproject.org,sdeng@google.com Change-Id: Ic94c19739f595f4544e8b68892ab9d9c1bbccd79 No-Presubmit: true No-Tree-Checks: true No-Try: true
2019-04-23Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enumssdeng
Change-Id: I3df5af2c60b774e6d395062077542c52db868236
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-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-01-08vp8 arm loopfilter: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: I3270e6efe79fe9728e8d11f4c352deefc3cea00b
2019-01-08Merge "vp8 idct: remove return"Johann Koenig
2019-01-08Merge "vp8_copy32xn: resolve missing declaration"Johann Koenig
2019-01-07vp8 idct: remove returnJohann
Change-Id: Ib1648e1f6559e65ddf11cb54266c7eeff37a6ea6
2019-01-08Merge "vp8 idct dequant: resolve missing declarations"Johann Koenig
2019-01-07vp8 idct dequant: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: Iecd2a0154c523fa61349c456befdf6c37d980efc
2019-01-07vp8_copy32xn: resolve missing declarationJohann
BUG=webm:1584 Change-Id: I9898a6e2f977acd4e26b09222a1eb2ab4f37f0af
2019-01-07vp8 blend: resolve missing declarationsJohann
Remove unused functions. BUG=webm:1584 Change-Id: If7a49e920e12f7fca0541190b87e6dae510df05c
2019-01-07Merge "vp8_copy32xn: resolve missing declaration"Johann Koenig
2019-01-07vp8_copy32xn: resolve missing declarationJohann
BUG=webm:1584 Change-Id: I8279e099fb9595edad858bf7332bf2b40fecae02
2019-01-07arm neon: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: I2dcf39f2327b72b58be72c27f952ea781a790dd3
2018-12-15Merge "vp8: Fix potential use-after-free in mfqe."Jerome Jiang
2018-12-14vp8: Fix potential use-after-free in mfqe.Jerome Jiang
Similar issue to 842265. The pointer in vp8 postproc refers to show_frame_mi which is only updated on show frame. However, when there is a no-show frame which also changes the size (thus new frame buffers allocated), show_frame_mi is not updated with new frame buffer memory. Change the pointer in postproc to mi which is always updated. BUG=913246 Change-Id: I5159ba7134a06db472c29a1d84b8d39bb60c7254
2018-12-13vp8-mfqe: Increase initial frame# thresholdMarco Paniconi
Increase the initial frame number threshold for the mfqe, as using the running average of last_base_qindex doesn't work well after very first frame. Only affects the very first few frames. Fixes an issue with a test. Change-Id: Ia249924257b44263e0b9f43cbff473902f08e28c
2018-10-31Merge "vp8: fix to address overflow in decoder."Jerome Jiang
2018-10-31Merge "vp8dx_get_quantizer: normalize VP8D_COMP"Johann Koenig
2018-10-31vp8dx_get_quantizer: normalize VP8D_COMPJohann
Use "pbi" like the rest of the functions Change-Id: I5f3036b8f8361c30353be378d83455b83b82ac9f
2018-10-31vp8: fix to address overflow in decoder.Jerome Jiang
Can't call internal error from the decoder thread. Add vpx_internal_error_info to MACROBLOCKD. When corrupted frame detected, the decoder thread returns to its own context and signal completion of decoding for current frame. The main decoding thread will detect error too and return error code to decoding API call. Each thread will signal end of decoding of the frame. Main thread waits for the signal of all other threads to start decoding next frame. BUG=875626,webm:1496 Change-Id: Icd05fbc558893a4e7d8532c1e7177e7550283a64
2018-10-30clang-tidy: fix vp8/encoder parametersJohann
BUG=webm:1444 Change-Id: I57a305cdab0d62b0745116272fbd5d9257c6e679
2018-10-30clang-tidy: fix vp8/decoder parametersJohann
BUG=webm:1444 Change-Id: I3dfc56f7f6430d36a1c447d8999733015a001101
2018-10-30clang-tidy: fix vp8/common parametersJohann
Match function definitions to declarations BUG=webm:1444 Change-Id: Ib96d3b735eaf81cece5406c89cc5156bc2cde462
2018-10-29vp8 bilinear: ensure non-16x16 arrays are alignedJohann Koenig
The 16x16 array was changed to aligned. The 8xN and 4x4 functions use aligned loads/stores on their internal arrays as well. BUG=webm:1570 Change-Id: I9cfe53d7c8ed76e8854c2688eb9a509b876471d8
2018-10-29vp8 bilinear: ensure temp array is alignedJohann
Loads and stores to this array require 16 byte alignment. BUG=webm:1570 Change-Id: I82c7d21c9539a108930fd030d79caaa0bcd1eeb3
2018-10-25vp8 bilinear: rewrite 4x4Johann
~20% faster than the MMX. Removes the last usage of vp8_bilinear_filters_x86_[48]. Change-Id: Iee976fab9655d0020440f26c4403ce50103af913
2018-10-25vp8 bilinear: rewrite 16x16Johann
Marginally faster. Most importantly it drops a dependency on an external symbol (vp8_bilinear_filters_x86_8). Change-Id: Iff022e718720f1f0eeced6201a1ad69a9c9c4f45
2018-10-24vp8 bilinear: rewrite in intrinsicsJohann
8x8 is 15% faster than the assembly. 8x4 is 200% faster than MMX. Remove MMX version. Change-Id: I55642ebd276db265911f2c79616177a3a9a7e04f
2018-09-15cosmetics: normalize include guardsJames Zern
use the recommended format [1] of: <PROJECT>_<PATH>_<FILE>_H_ [1] https://google.github.io/styleguide/cppguide.html#The__define_Guard "All header files should have #define guards to prevent multiple inclusion. The format of the symbol name should be <PROJECT>_<PATH>_<FILE>_H_." Change-Id: I2e8ab0b32fb23c30fa43cff5fec12d043c0d2037
2018-06-13vp8: remove assertion in tree coder.Jerome Jiang
Cast the counter to uint64_t in case it overflows. The assert was to prevent c[0] * Pfac being overflow beyong unsigned int since Pfac could be 2^8. Thus c[0] needs to be smaller than 2^24. In VP9, the assert was removed and c[0] was casted to uint64_t. Bug: 805277 Change-Id: Ic46a3c5b4af2f267de4e32c1518b64e8d6e9d856
2018-05-25VP8: Fix use-after-free in postproc.Jerome Jiang
The pointer in vp8 postproc refers to show_frame_mi which is only updated on show frame. However, when there is a no-show frame which also changes the size (thus new frame buffers allocated), show_frame_mi is not updated with new frame buffer memory. Change the pointer in postproc to mi which is always updated. Bug: 842265 Change-Id: I33874f2112b39f74562cba528432b5f239e6a7bd
2018-03-14vp8 mfqe: zero map[]Johann
The loop appears to set map[i] with the intention of running the 'j' loop up to that point. However, without zero'ing map[] first the behavior is unpredictable. Fixes a static analysis warning: warning: Branch condition evaluates to a garbage value for (j = 0; j < 4 && map[j]; ++j) { Change-Id: Ifa39353d8aa5cc47b467a7d3d8cdd3b5319fd997
2018-01-23vp8: [loongson] fix bug of type conflict.Shiyou Yin
In commit 577d4fa79, int8_t was used to replace char. This will result in a compilation error, for int8_t was typedefined to signed char, but not char. Change-Id: I5c9837e01b0b58688a7741f5c9a99a76ca887e4a
2018-01-22Merge changes from topic "clang-format"Johann Koenig
* changes: clang-format v5.0.0 vp9/ remove spurious comments clang-format v5.0.0 vp8/ clang-format v5.0.0 vpx_dsp/ clang-format v5.0.0 mem_ops.h clang-format v5.0.0 vpx_util/vpx_atomic.h clang-format v5.0.0 y4minput.c clang-format v5.0.0 vpxenc.c clang-format v5.0.0 examples/ clang-format v5.0.0 test/
2018-01-18clang-format v5.0.0 vp8/Johann
Allow*OnASingleLine appears to no longer apply to typedef structs. Adjust closing parenthesis/opening brace on functions. Remove trailing commas to keep multiple elements on one line. Change-Id: I6e535a8ddb15c9b3de8216ce8ddb2a18241af46c
2018-01-18vp8: Fix to multi-res-encoder for skipping streams.Marco
For the vp8 simulcast/multi-res-encoder: Add flags to keep track of the disabling/skipping of streams for the multi-res-encoder. And if the lower spatial stream is skipped for a given stream, disable the motion vector reuse for that stream. Also remove the condition of forcing same frame type across all streams. This fix allows for the skipping/disabling of the base or middle layer streams. Change-Id: Idfa94b32b6d2256932f6602cde19579b8e50a8bd
2018-01-11adopt some clang 5.0.0 formattingJohann
At least the changes that don't conflict with 4.0.1 Change-Id: I9b6a7c14dadc0738cd0f628a10ece90fc7ee89fd
2017-12-15vp8: [loongson] optimize loopfilter v2.Shiyou Yin
Optimize function vp8_mbloop_filter_vertical_edge_mmi and function vp8_mbloop_filter_horizontal_edge_mmi. Make full use of memory loading delay slot and reduce unnecessary instructions. Change-Id: I61da2c3a44c06044225461f46bf487d83cba6c16
2017-12-15Merge "vp8: [loongson] optimize sixtab predict v2."Shiyou Yin
2017-12-14add copyright to rtcd filesJohann
Allows them to pass the license check in chromium. BUG=chromium:98319 Change-Id: Iefc1706152a549d8c4ae774c917596bf1c9492d8
2017-12-14vp8: [loongson] optimize sixtab predict v2.Shiyou Yin
1. Delete unnecessary zero setting process. 2. Optimize the method of calculating SSE in vpx_varianceWxH. Change-Id: I8bab801416e7f4958c28c6d080e3cf785a50f82b
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-10-27vp8: correct if/else '{' placementJames Zern
swap '{' and c-style comments removing a few redundant ones along the way; covers most leftovers from the clang-tidy run against an x86_64-linux config. Change-Id: I67a45596f80a12389faca49c5be440875092a7df
2017-10-17vp8: [loongson] optimize idct with mmiShiyou Yin
1. vp8_dequant_idct_add_y_block_mmi 2. vp8_dequant_idct_add_uv_block_mmi Change-Id: I9987147be2685ac79d4b045d1d56f6709ee1223c