summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2019-01-10Merge "vp8 dec: Add flag to bring up threads."Jerome Jiang
2019-01-10vp8 dec: Add flag to bring up threads.Jerome Jiang
Instead of creating a new decoder instance when restarting all threads after they were shut down, re-create threads on the new flag. BUG=webm:1577 Change-Id: I6272ecaa1b586afdaa5ed8d6eab80aff8f5eb673
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-08Merge "vp8 blend: 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 overlaps: resolve missing declarationJohann
BUG=webm:1584 Change-Id: I67fa7460cb90b9bbe8583b60340d7bbf615a11f2
2019-01-07vp8 blend: resolve missing declarationsJohann
Remove unused functions. BUG=webm:1584 Change-Id: If7a49e920e12f7fca0541190b87e6dae510df05c
2019-01-07Merge "vp8 multi dimensional search: resolve missing declarations"Johann Koenig
2019-01-07Merge "vp8_copy32xn: resolve missing declaration"Johann Koenig
2019-01-07Merge "arm neon: resolve missing declarations"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
2019-01-07vp8 multi dimensional search: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: I5c3fb5ab00bff66a8e8f4b8d27cbcea4946eced0
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-21vp8: kill all threads on corrupted frame.Jerome Jiang
If decoder keeps going, threads will be brought up. BUG=902650,webm:1577 Change-Id: I7765ba134aeed76ec0f58bd05e3a35383e6861c3
2018-12-17Merge "Remove -Wextra suppression."Jerome Jiang
2018-12-17Remove -Wextra suppression.Jerome Jiang
BUG=webm:1246 Change-Id: Iae78e266faa9c4989500fc919b24f2f584ac0550
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-11-12quantize: use aarch64 vmaxvJohann
Simplify max value calculation on aarch64 by using vmaxv. Much faster for 4x4 but diminishing returns as the block size grows. Only the vp9 quantize has a speed test hooked up. Anticipate similar results for the other quantize versions. Before: [ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/2 [ BENCH ] Bypass calculations 4x4 31.6 ms ( ±0.0 ms ) [ BENCH ] Full calculations 4x4 31.6 ms ( ±0.0 ms ) [ BENCH ] Bypass calculations 8x8 17.7 ms ( ±0.0 ms ) [ BENCH ] Full calculations 8x8 17.7 ms ( ±0.0 ms ) [ BENCH ] Bypass calculations 16x16 14.2 ms ( ±0.0 ms ) [ BENCH ] Full calculations 16x16 14.2 ms ( ±0.0 ms ) [ OK ] NEON/VP9QuantizeTest.DISABLED_Speed/2 (1906 ms) [ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/3 [ BENCH ] Bypass calculations 32x32 18.6 ms ( ±0.0 ms ) [ BENCH ] Full calculations 32x32 18.6 ms ( ±0.0 ms ) After: [ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/2 [ BENCH ] Bypass calculations 4x4 29.1 ms ( ±0.0 ms ) [ BENCH ] Full calculations 4x4 29.1 ms ( ±0.0 ms ) [ BENCH ] Bypass calculations 8x8 16.9 ms ( ±0.0 ms ) [ BENCH ] Full calculations 8x8 16.9 ms ( ±0.0 ms ) [ BENCH ] Bypass calculations 16x16 14.1 ms ( ±0.0 ms ) [ BENCH ] Full calculations 16x16 14.1 ms ( ±0.0 ms ) [ OK ] NEON/VP9QuantizeTest.DISABLED_Speed/2 (1803 ms) [ RUN ] NEON/VP9QuantizeTest.DISABLED_Speed/3 [ BENCH ] Bypass calculations 32x32 18.6 ms ( ±0.0 ms ) [ BENCH ] Full calculations 32x32 18.6 ms ( ±0.0 ms ) Change-Id: Ic95812b3fdbd4e47b4dcb8ed46c68a9617de38d2
2018-11-09vp8: Init buffers and pred arrays for mt after allocation.Jerome Jiang
Buffers and arrays used for prediction are not initialized after allocation. BUG=902691 Change-Id: Ic727e5dab7456e91ec9d6c80694f60a1a3600640
2018-11-07Merge "vp8: remove VP8_ENTROPY_STATS code"Johann Koenig
2018-11-06Merge "vp8: Increase rate correction threshold for drop-overshoot"Marco Paniconi
2018-11-06Merge "vp8 dec: only compute ref frame buffer pointer for non intra"Jerome Jiang
2018-11-05vp8 dec: only compute ref frame buffer pointer for non intraJerome Jiang
When ref frame is INTRA_FRAME, pre buffer shouldn't be used. This CL copies behavior in single thread. That should apply to multithreading case too. BUG=webm:1496 Change-Id: Ibe9ab8ea9dc664151fa7ebac529d5fd1a481b4a3
2018-11-05vpx_codec_enc_config_default: disable 'usage'Johann
Found with clang-tidy. This value is unused in libvpx. There is an existing test which ensures this is not used: test/encode_api_test.cc: EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_enc_config_default(kCodecs[i], &cfg, 1)); Change-Id: I94bd0663c6652b4267204c02c3921972c854d0b0
2018-11-05vp8: Increase rate correction threshold for drop-overshootMarco Paniconi
For 1 pass cbr encoding mode, with frame-dropping on: increase the rate correction threshold for drop-overshoot detection, to better capture cases of large overshoot. Change-Id: I1153b1b71cf106749dd985074d6bc8f37d163c7e
2018-11-01vp8: remove VP8_ENTROPY_STATS codeJohann
Does not compile. Noticed while cleaning up un-namespaced functions Change-Id: I4a9048e66d051397f652e7b5412606a5e234f61f
2018-10-31Merge "vp8 boolcoder: normalize to "bc""Johann Koenig
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-31vp8 boolcoder: normalize to "bc"Johann
"bc" maps to BOOL_CODER better than "br" Change-Id: Idefd03e79ccc1851a1b26f8206a159b0e5c5fb2d
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-26remove "register" keywordJohann
This has been deprecated for a long time. c++17 is trying to recover the name. Change-Id: Iade6bebce03a50b76061695f9e634a107cd989cd
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-10-11Revert "vp8: Increase rate threshold for overshoot-drop"Marco Paniconi
This reverts commit bc066684ca4deff24d02ee56071d731b431bf438. Reason for revert: <INSERT REASONING HERE> Regression in webrtc perf test Original change's description: > vp8: Increase rate threshold for overshoot-drop > > Increase the rate threshold for the dropping when > overshoot is detected during encoding. This helps > to prevent some unneccessary drops for hard content. > > Change-Id: I258bf33883d46347efd44e1e192cb25c444d05fe TBR=sprang@chromium.org,marpan@google.com,builds@webmproject.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Ib0e84747430ba6d04e479f9efd86d628b80a1e67