Age | Commit message (Collapse) | Author |
|
|
|
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
|
|
BUG=webm:1584
Change-Id: I3270e6efe79fe9728e8d11f4c352deefc3cea00b
|
|
|
|
|
|
Change-Id: Ib1648e1f6559e65ddf11cb54266c7eeff37a6ea6
|
|
|
|
|
|
BUG=webm:1584
Change-Id: Iecd2a0154c523fa61349c456befdf6c37d980efc
|
|
BUG=webm:1584
Change-Id: I9898a6e2f977acd4e26b09222a1eb2ab4f37f0af
|
|
BUG=webm:1584
Change-Id: I67fa7460cb90b9bbe8583b60340d7bbf615a11f2
|
|
Remove unused functions.
BUG=webm:1584
Change-Id: If7a49e920e12f7fca0541190b87e6dae510df05c
|
|
|
|
|
|
|
|
BUG=webm:1584
Change-Id: I8279e099fb9595edad858bf7332bf2b40fecae02
|
|
BUG=webm:1584
Change-Id: I2dcf39f2327b72b58be72c27f952ea781a790dd3
|
|
BUG=webm:1584
Change-Id: I5c3fb5ab00bff66a8e8f4b8d27cbcea4946eced0
|
|
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
|
|
If decoder keeps going, threads will be brought up.
BUG=902650,webm:1577
Change-Id: I7765ba134aeed76ec0f58bd05e3a35383e6861c3
|
|
|
|
BUG=webm:1246
Change-Id: Iae78e266faa9c4989500fc919b24f2f584ac0550
|
|
|
|
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
|
|
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
|
|
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
|
|
Buffers and arrays used for prediction are not initialized after
allocation.
BUG=902691
Change-Id: Ic727e5dab7456e91ec9d6c80694f60a1a3600640
|
|
|
|
|
|
|
|
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
|
|
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
|
|
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
|
|
Does not compile. Noticed while cleaning up un-namespaced functions
Change-Id: I4a9048e66d051397f652e7b5412606a5e234f61f
|
|
|
|
|
|
|
|
"bc" maps to BOOL_CODER better than "br"
Change-Id: Idefd03e79ccc1851a1b26f8206a159b0e5c5fb2d
|
|
Use "pbi" like the rest of the functions
Change-Id: I5f3036b8f8361c30353be378d83455b83b82ac9f
|
|
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
|
|
BUG=webm:1444
Change-Id: I57a305cdab0d62b0745116272fbd5d9257c6e679
|
|
BUG=webm:1444
Change-Id: I3dfc56f7f6430d36a1c447d8999733015a001101
|
|
Match function definitions to declarations
BUG=webm:1444
Change-Id: Ib96d3b735eaf81cece5406c89cc5156bc2cde462
|
|
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
|
|
Loads and stores to this array require 16 byte alignment.
BUG=webm:1570
Change-Id: I82c7d21c9539a108930fd030d79caaa0bcd1eeb3
|
|
This has been deprecated for a long time. c++17 is trying to recover the name.
Change-Id: Iade6bebce03a50b76061695f9e634a107cd989cd
|
|
~20% faster than the MMX. Removes the last usage of
vp8_bilinear_filters_x86_[48].
Change-Id: Iee976fab9655d0020440f26c4403ce50103af913
|
|
Marginally faster. Most importantly it drops a dependency on an
external symbol (vp8_bilinear_filters_x86_8).
Change-Id: Iff022e718720f1f0eeced6201a1ad69a9c9c4f45
|
|
8x8 is 15% faster than the assembly. 8x4 is 200% faster than MMX.
Remove MMX version.
Change-Id: I55642ebd276db265911f2c79616177a3a9a7e04f
|
|
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
|