Age | Commit message (Collapse) | Author |
|
vp9 does not support error correction
Change-Id: I89517ae97abfa60833c9150495556d49c9656778
|
|
|
|
The mutex lf_mutex will now be allocated and destroyed, making it easier
to verify if it has been inited before destruction.
BUG=webm:1662
Change-Id: I8169bea9e117bd615d68b8d02da98aeab570b53f
|
|
This avoids unneeded initializations.
extend_and_predict is called from multiple nested loops, allocate
large buffer on stack and use just a portion of it.
-ftrivial-auto-var-init= inserts initializations which performed on
multiple iterations of loops causing 258.5% regression on
webrtc_perf_tests decode_time/pc_vp9svc_3sl_low_alice-video.
Bug: 1020220, 977230
Change-Id: I7e5bb3c3780adab74dd8b5c8bd2a96bf45e0c231
|
|
Change-Id: I045b4cf625d428109688303ced5433d824df2790
|
|
Change-Id: I339899cff65c7ef563f9411f2d7af9a32a08a705
|
|
For row_mt=1, when mi->skip is set to 1 after parse based on
eobtotal for that partition, dqcoeff and eob need to be restored
as recon_partition doesn't increment these pointers for skip cases
Change-Id: I79711b0c175937aa6da3bba3b3bc053f91a8ce35
|
|
This fixes CFI error flagged for this function when row-mt=1
Change-Id: Ic5b427a6b621228280ebe829d00b540b18e2c087
|
|
This reverts commit 14208ab41e114f5779d106ae54a7cc8fd9d43820.
This causes test vectors failures with --row-mt=1.
BUG=webm:1617
Change-Id: Icb14bbbb6f38608a73dde0370ad874c0b1b0af8a
|
|
Explicitly compare the block location against tile coordinate to
decide if intra prediction boundary is available. No coding stats
will be changed by this refactoring.
Change-Id: I80b3a131366bb2c5f8ea53a139ed6e9b0b7ddb68
|
|
ClangTidy reported 16 issues. All are around typecasting and
straightforward
Change-Id: Ie8f9fc2ba7992dd44fef65b121fe65966a1a1297
|
|
Change-Id: Ifc165d76a71fcdb7c19c158c940a8d273be0d95f
|
|
Adds conditional wait/signal instead of sched_yield.
Change-Id: I49a760eacdd6b6ac690e797ea5f10febf6a1a084
|
|
This reverts commit 06983668cf41f66765528db044419f954e5a5d64.
Fixes Visual Studio build errors introduced by earlier row mt commit
BUG=webm:1587
Change-Id: I792df86e8254cd6b2a511955b691af619a569cd0
|
|
This reverts commit 02b3ef7faee5be5ee519856fbb3523d3ab49f6e7.
Reason for revert: fails to build under visual studio
Original change's description:
> Add Tile-SB-Row based Multi-threading in Decoder
>
> Add the multi-thread function that decodes a video row by row instead
> of a tile at a time. Create a job queue for queueing all parse and recon jobs.
> Each SB row of a tile is a job.
>
> Performance Improvement:
>
> Platform Resolution 3 Threads 4 Threads
> ARM 720p 36.81% 18.37%
> 1080p 32.27% 14.76%
>
> ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz
>
> Change-Id: I3d4dd7a932fc2904c90d9546b2de99c809afd29e
BUG=webm:1587
Change-Id: Ia4c8f5128922a205cd9fd83aaef8a2e73764d4a7
|
|
BUG=webm:1584
Change-Id: Ie0d26b745ab1f5907a6a2dc10fbc5083f3fb0b8d
|
|
Add the multi-thread function that decodes a video row by row instead
of a tile at a time. Create a job queue for queueing all parse and recon jobs.
Each SB row of a tile is a job.
Performance Improvement:
Platform Resolution 3 Threads 4 Threads
ARM 720p 36.81% 18.37%
1080p 32.27% 14.76%
ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz
Change-Id: I3d4dd7a932fc2904c90d9546b2de99c809afd29e
|
|
Add functions that will do only parse or only recon. These are
duplicated and modified from decode_partition and decode_block.
Change-Id: I2201e235bf491e823ae63d27b2586bbb43b48929
|
|
Row based multi-thread needs extra memory to store the parsed
co-efficients, partitions and eob. This commit adds memory for the same.
Change-Id: I13fa4a6ada2ec3048bc973e465055b832429388f
|
|
Take the original loopfilter multi-thread optimization
(dafe064289a917977439ab6f4f002b9946496084) along with the fixes for bugs
1558 and 1562.
BUG=webm:1558
BUG=webm:1562
Change-Id: Ibbf6bd13f4ffff0e79184ccfd6b85a49e067a6d8
|
|
This reverts commit bf6299010e815e111d7326530c249e9d99611f34.
segfaults, causes an assertion failure with corrupt input:
get_uv_tx_size: Assertion `mi->sb_type < BLOCK_8X8 ||
ss_size_lookup[mi->sb_type][pd->subsampling_x][pd->subsampling_y] !=
BLOCK_INVALID
BUG=webm:1562
Change-Id: I05a711cad3d8e7f1a8e64422b4356bdf4edb3d12
|
|
Allow the encoder to fully utilize the decoder's capability to
handle both 1 fwd + 2 bwd case and 2 fwd + 1 bw case.
Change-Id: I3f984d52552ddb701b80b042d979f8fe09dd3a80
|
|
Generalize the encoder comp_fixed_ref and comp_var_ref assignments.
Make it fully support 2 fwd + 1 bwd and 1 fwd + 2 bwd settings
that VP9 decoder allows.
Change-Id: Id74da9a66327189a3fdf382d447243003c431131
|
|
This reverts commit 753fd86e86ac727dccac88376260b8f54502f2a3.
This also has the fix for the DoS reported in bug 1558.
BUG=webm:1558
Change-Id: I65ea84e0c11d6bd40d8cb0587dfe934b3ac11dce
|
|
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
|
|
|
|
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
|
|
|
|
when resync is needed, we flush all frame buffers on key frame.
BUG=b/112406540
BUG=oss-fuzz:9722
Change-Id: Ie53feb12126f25877436eba40317400bf69c6207
|
|
Comparing the size values with subtraction requires casting. Sort in
descending order.
(a < b) - (a > b)
If a is greater, this is 0 - 1 = -1
If the values are equal, this is 0 - 0 = 0
If b is greater, this is 1 - 0 = 1
Change-Id: I5c20fd10fbc97c391c6858235c44d25d7db57f0e
|
|
Add tests with corrupted frames and periodic key frames.
BUG=webm:1545
Change-Id: Ic0684bdafd01507036f56465387b9d2187b1458e
|
|
libaom commit 80a5b09337a80093e1e7ae5eb540020a22949805:
dec_free_mi: Reset cm->mi_alloc_size.
libaom commit fb0dd0bb80fc95ef016f1421b105a52fffa32816:
Clear cm->width and cm->height on alloc failure.
libaom commit ccb27264089a8cfa1334391ebbcb6a11b8dff442:
Misc. resize fixes along with the resize test
Note: only the change to enc_free_mi in av1/encoder/encoder.c
is merged.
Change-Id: I602813230d40125e59608fa013085dca3e160c33
|
|
The difference of two size_t variables.
Change-Id: I73f35cdafc2ba64a9ddaf855cc6a410cfb63b8da
|
|
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
|
|
Release frame buffers for non-ref when the decoder is destroyed.
Enable the non ref test.
BUG=b/68819248
Change-Id: Id87ef3b0a62318f9812e927cd957c05c859047fa
|
|
there is no threaded access to this pool after the removal of
frame_parallel_decode
BUG=webm:1395
Change-Id: I710769b87102edc898c59eb9a2e7a91d8c49107f
|
|
this has been 0 since the removal of frame_parallel_decode in
vp9_dx_iface.
BUG=webm:1395
Change-Id: I3f579766ecfa4777395b99686738e1c5610f86ef
|
|
BUG=webm:1388
Change-Id: I3581d80d0389b99166e70987d38aba2db6c469d5
|
|
BUG=webm:1388
Change-Id: Ida62c941f2b836d6c9e27b427a7d5008ab6dc112
|
|
BUG=webm:1388
Change-Id: I7ee32e0c08f0fb41712a8cc640b2c5bba872421d
|
|
Change-Id: I75e4a9e0b37bd4586f26c8d6c1fa27f3f6ff1bce
|
|
vp9_init_macroblockd() resets the error_info to cm's global copy; this
needs to be set to the thread-level target to avoid jumping to the
incorrect stack, resulting in hang or crash.
broken since:
1f4a6c8 vp9/tile_worker_hook: add multiple tile decoding
includes v1.5.0, v1.6.0
BUG=629481
Change-Id: Icbf1696b25ba8c479e845fbf227b3c3ca73542f5
|
|
Change-Id: I869ef0f113c022143b531c44aefa0f1bb267052d
|
|
Change-Id: Ife6a3d301c5faaba89d16d188d638631083511f7
|
|
Change-Id: Ic38ea06c7b2fb3e8e94a4c0910e82672a1acaea7
|
|
Safer to have the decoder operate normally and have
better-hw-compatibility only implement encoding changes.
Fixes some test failures.
Change-Id: I0dd70d002e4e893992f0cd59774b9363e6f7fe76
|
|
This commit adds check to validate RefBuffer before reading into the
data structure, to prevent invalid read.
BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=614701
Change-Id: Ie111e95bd18e88fa19d8b25e097cdf52b7139cb6
|
|
|
|
The inlining mirrors what was done with the low bit depth
inter_predictor. And the new highbd_inter_predictor name is more
consistent with other high bit depth functions.
Change-Id: I96437f745759aeec6260c6e39a974bf36f1c211c
|
|
This commit adds a check before reading into RefBuffer to prevent OOB
read.
BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=612023
Change-Id: I5b02951932e7f457cfbe6b2e650790496b8577ae
|