Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
|
|
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
|
|
This commit adds a command line argument "--row-mt". Passing "--row-mt=1" will
set the row_mt flag in the decoder context. This flag will be used to
determine whether row-wise multi-threading path is to be taken when the
row-wise multi-threading functions are added.
Change-Id: I35a5393a2720254437daa5e796630709049e0bc2
|
|
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
|
|
the file was empty after the struct removal. the only remaining use was
within vp9_dx_iface, but the wrapper became unnecessary after the
removal of frame_parallel_decode.
BUG=webm:1395
Change-Id: I515ab585d701e77d388d12b2802d844c424f9bcd
|
|
there is no threaded access to this pool after the removal of
frame_parallel_decode
BUG=webm:1395
Change-Id: I710769b87102edc898c59eb9a2e7a91d8c49107f
|
|
the last frame_worker_owner, row and col references were removed in:
131bd06e6 remove vp9_dthread.c
BUG=webm:1395
Change-Id: Ia7fb2e8782b12a58d2a2263849d20a8abf06aef6
|
|
and the related prototypes in vp9_dthread.h. the last references were
removed in:
09dabc58d VP9_COMMON: rm frame_parallel_decode
vp9_dx_iface.c still uses FrameWorkerData
BUG=webm:1395
Change-Id: Ica8e98ae776fc0105f1fbbed9e0a729808980810
|
|
this has been 0 since the removal of frame_parallel_decode in
vp9_dx_iface.
BUG=webm:1395
Change-Id: I3a562b2c6b82050064d2b2ccb18a3e77c700b2da
|
|
this has been 0 since the removal of frame_parallel_decode in
vp9_dx_iface.
BUG=webm:1395
Change-Id: I3f579766ecfa4777395b99686738e1c5610f86ef
|
|
Split vp8/vp9 implementations on yv12_copy_frame_c.
Remove high-bitdepth codes from vp8_yv12_extend_frame_borders_c.
Clean up vp8 codes usage in vp9.
BUG=webm:1435
Change-Id: Ic68e79e9d71e1b20ddfc451fb8dcf2447861236d
|
|
BUG=webm:1388
Change-Id: I3581d80d0389b99166e70987d38aba2db6c469d5
|
|
BUG=webm:1388
Change-Id: Ida62c941f2b836d6c9e27b427a7d5008ab6dc112
|
|
BUG=webm:1388
Change-Id: I7ee32e0c08f0fb41712a8cc640b2c5bba872421d
|
|
Change-Id: I75e4a9e0b37bd4586f26c8d6c1fa27f3f6ff1bce
|
|
best_sub8x8[1] won't be used meaningfully when is_compound is false, but
may trigger an msan warning as the value is copied around and later
clamped.
BUG=667044
Change-Id: Icc24c3b72cdb550bebea44d4aaa4ff8bf3fbab56
|
|
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
|
|
when decoding an invalid bitstream with --enable-vp9-highbitdepth
BUG=webm:1297
Change-Id: I401d87033b4293f2ca595bc51678aad9951ecf15
|
|
Current version does not build with options:
--enable-vp9-highbitdepth --enable-coefficient-range-checking
Change-Id: Ic3285f1a3e0d6be88da7f2cd8fa5a631368dd03b
|
|
This version is based on Change 267683, but does not
use the macros.
Change-Id: I0619fa618decf8bdeef250584d75d70318b5d9a7
|
|
|
|
Change-Id: I869ef0f113c022143b531c44aefa0f1bb267052d
|
|
The vp9_mv_class0_tree is a balanced tree with two leafs and can
simply be coded as a boolean with probability class0[0].
Change-Id: If294dac825a5f945371092c74aa8e3f84cd962b6
(cherry picked from commit be8a8ab62ebdd111c6f2e9a33b15630570671eba)
|
|
Change-Id: Ife6a3d301c5faaba89d16d188d638631083511f7
|
|
Change-Id: Ic38ea06c7b2fb3e8e94a4c0910e82672a1acaea7
|
|
Change-Id: I7217c90d5cf38c51b76759a2dc4f10070f3a40ac
|
|
|
|
Safer to have the decoder operate normally and have
better-hw-compatibility only implement encoding changes.
Fixes some test failures.
Change-Id: I0dd70d002e4e893992f0cd59774b9363e6f7fe76
|
|
Moved the API patch from NextGenv2. An example was included.
To try it, for example, run the following command:
$ examples/vpx_cx_set_ref vp9 352 288 in.yuv out.ivf 4 30
Change-Id: I4cf8f23b86d7ebd85ffd2630dcfbd799c0b88101
|
|
This commit adds an encoder workaround to support better
compatibility with a non-compliant hardware vp9 profile 2 decoder.
The known issue with this decoder is:
The decoder assumes a wrong value, 127 instead of the correct
value of 511 and 2047, for any assumed top-left corner pixel in
UV planes for 10 and 12 bit, respectively. Such assumed
top-left corner pixel is used for INTRA prediction when a real
decoded/reconstructed pixel is not avalable, e.g. when it is
located inside the row above the top row or inside the column
left to the leftest column of a video image.
Change-Id: Ic15a938a3107e1b85e96cb7903a5c4220986b99d
|
|
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
|
|
|
|
Remove unnecessary checks.
Change-Id: Ic7bce8277ac5f4ae88d4ab7d0ae3ab110b2f225b
|
|
This commit change to promote uint8_t explicitly to uint32_t before
left shift operation.
BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=612021
Change-Id: Id7059154efb5bdfa45889dabe72aaafd46d79f23
|
|
Change-Id: I71366140799b9b39474b9b459082cdb250bd1905
|
|
|