Age | Commit message (Collapse) | Author |
|
|
|
There was no setjmp on vpx_internal_error when there is no available
frame buffer, ready_for_new_data is not reset to 1.
BUG=webm:1571
Change-Id: I4f8efffb7d6fed3085b1f0229d0d1071a056b6c6
|
|
Add functions that will do only parse or only recon. These are
duplicated and modified from decode_partition and decode_block.
Change-Id: I2201e235bf491e823ae63d27b2586bbb43b48929
|
|
BUG=webm:1444
Change-Id: I9c7c0a4161aaf52436bd5c01d30b035b2ff5508c
|
|
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
|
|
|
|
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
|
|
Always allocate cpi->common.postproc_state.limits using unscaled width.
With ./configure --enable-pic --enable-decode-perf-tests
--enable-encode-perf-tests --enable-encode-perf-tests
--enable-vp9-highbitdepth --enable-better-hw-compatibility
--enable-internal-stats --enable-postproc --enable-vp9-postproc
--enable-error-concealment --enable-coefficient-range-checking
--enable-postproc-visualizer --enable-multi-res-encodin
--enable-vp9-temporal-denoising --enable-webm-io --enable-libyuv
segfaults tend to occur in VP9/DatarateOnePassCbrSvcSingleBR.* tests.
This is an analogue to issue
https://bugs.chromium.org/p/webm/issues/detail?id=1374
where a buffer allocated using a scaled width is reused after scaling
back to the original size. Unfortunately, in this case the unscaled
width doesn't appear to be known in the immediated context of the
allocation, so the the signature of vp9_post_proc_frame needs to be
changed to provide that information in order to provide a similar fix
as in #1374.
Signed-off-by: Matthias Räncker <theonetruecamper@gmx.de>
Change-Id: I6f943aafbb3484ee94c5b38d7fcdd9d53fce3e5f
|
|
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
|
|
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
|
|
|