Age | Commit message (Collapse) | Author |
|
Locate them (code-wise) in frame_context, and have them be updated
as any other probability using the subexp forward and adaptive bw
updates.
See issue 1040 point 1.
TODOs:
- real-world default probabilities
- why is counts sometimes NULL in the decoder? Does that mean bw
adaptivity updates only work on some frames? (I haven't looked
very closely yet, maybe this is a red herring.)
Change-Id: I23b57b4e5e7574b75f16eb64823b29c22fbab42e
|
|
allows controls to be tested for at compile-time
Change-Id: I1cd01287dc144392956c82e6dbac003f37703039
|
|
|
|
Adjust the qp threshold and consec_zeromv threshold for
limiting cyclic refresh. Also increase the refresh period
when the limit amount is significant, and some code-cleanup.
Small gain in PSNR/SSIM metrics: ~0.25/0.3 gain on RTC set, speed 7.
Change only affects non-screen content.
Change-Id: I1ced87a89a132684c071e722616e445b2d18236a
|
|
This portion was tested to have no effect on asan test failures.
Change-Id: I3de1dab7479148bdffc24c4568cb2e7e9963f099
|
|
Fix a couple of memory related errors. Also fix thread test failures.
Change-Id: I0103995f832cecf1dd2380000321ac7204f0cfc0
|
|
|
|
|
|
Adjust the qp threshold based on the denoising setting; not allow
to scale directly from original resolution to one half and vise versa.
Change-Id: I032a9b22f8e1c88de6bb81cf8351367223a3e40d
|
|
Put the reset at the right place, during the setup and prior
to updating the map.
Change-Id: I75e550ae9d8cc15081330b8857edc04c23947875
|
|
For the re-encoding (at max-qp) on the detected high-content change:
update rate correction factor, reset rate over/under-shoot flags,
and update/reset the rate control for layered coding.
Change-Id: I5dc72bb235427344dc87b5235f2b0f31704a034a
|
|
|
|
|
|
Change-Id: Ifd6581c1bdb8d8f4b2ecf676c1a3d385dc129abf
|
|
Change-Id: I57865e9604ac162ef0d97deb16e81ca436a98428
|
|
Canonical builtin checks for clang are to use
__has_builtin. Much less fragile than version checks.
https://code.google.com/p/webm/issues/detail?id=1082
Change-Id: I8151fb75899acdf1a935c23aad9441da99a9abcd
|
|
Also use the _mm_broadcastsi128_si256 intrisic for
Apple clang versions 4.[012]
https://bugzilla.mozilla.org/show_bug.cgi?id=1085607
https://code.google.com/p/webm/issues/detail?id=1082
Change-Id: I6bc821d8163387194ef663e94bfed91fa7281d88
|
|
|
|
Changes to the breakout behavior for partition selection.
The biggest impact is on speed 0 where encode speed in
some cases more than doubles with typically less than 1%
impact on quality.
Speed 0 encode speed impact examples
Animation test clip: +128%
Park Joy: +59%
Old town Cross: + 109%
Change-Id: I222720657e56cede1b2a5539096f788ffb2df3a1
|
|
|
|
|
|
|
|
Change-Id: I0d7ca20bdd0fc868b28b0755e3114a4499056f45
|
|
|
|
Change-Id: I761256a8100d83abf1b937f3739580237e3fad2a
|
|
The setting of svc->spatial_layer_to_encode was missing
in VP9E_SET_SVC_LAYER_ID.
Change-Id: I015b1a64adb9ef2644d6477a02d9d9364c8462b9
|
|
See issue 1040 point 4.
Change-Id: I79e06bd71a27f45770c760c47dc71bc3767a77a0
|
|
See issue 1040 point 3.
Change-Id: Ieef6d326b7fb50ceca5936525b7c688225a11fd1
|
|
Change-Id: I41b13b8767e30da391c2c4da9a729ca7292b16b9
|
|
This change (in a new config experiment: universal_hp) removes the
bitstream parsing dependency of the HP MV bit on the ref MV to be
coded. It also cleans up clearing of the HP bit in near/nearestMV,
since HP is always on if it's set in the frame header.
This admittedly doesn't clean up the crap that could be cleaned up,
but that's mostly because I think this needs some careful review;
not so much for coding style, but more from hardware people and from
the codec team on what we/you want. It would also be nice to get some
actual numbers on the real quality impact of this change. If, for
example, hardware people come up and tell us they don't actually care
anymore, we should probably just this code as-is and do nothing (i.e.
discard this patch).
See issue 1036.
Change-Id: Ic9b106f34422aa0f79de0c28125b72d566bd511a
|
|
This actually has no effect whatsoever, since the input MVs themselves
are clamped by clamp_mv_ref() already, which is significantly more
restrictive in its bounds.
Change-Id: I4a3a7b2b121ee422c56428c2a12d930c3813c06e
|
|
We only write EOSB tokens if we write tokens (i.e. not for skip blocks),
and we write EOSB tokens per-plane instead of per block.
Change-Id: I8d7ee99f8ec50eb7ae809f9f9282c1c91dbf6537
|
|
Add palette mode for keyframe luma channel. Palette mode is enabled
when using "--tune-content=screen" in encoding config parameters.
on screen_content testset: +6.89%
on derlr : +0.00%
Design doc (WIP):
https://goo.gl/lD4yJw
Change-Id: Ib368b216bfd3ea21c6c27436934ad87afdaa6f88
|
|
*tile should be marked volatile like the others due to the use of
setjmp()
Change-Id: I5dbf8e6792e4c0f34a683434b4fd06e3b4c75c4b
|
|
Change-Id: Ie9ead2c665c6c065a6b922ab66bae9be63483272
|
|
single-threaded:
swanky (silvermont): ~1% faster overall
peppy (celeron,haswell): ~1.5% faster overall
Change-Id: Ib74f014374c63c9eaf2d38191cbd8e2edcc52073
|
|
Change-Id: Iccb4cdc23c1845cf9cb7d69101c9f4f43675d368
|
|
|
|
Change-Id: If3cb9345b44162e600e6c74873e0cb4c207fc7fb
|
|
|
|
If high bit depth configuration is enabled, but encoding in profile 0,
the code now falls back on optimized SSE2 assembler to compute the
block errors, similar to when high bit depth is not enabled.
Change-Id: I471d1494e541de61a4008f852dbc0d548856484f
|
|
|
|
Only denoise at small motion if it's a skin block.
Change-Id: I6235cad9dd7f76ab40e7d9cdfe6180e619c20c6e
|
|
|
|
|
|
|
|
|
|
|
|
Change-Id: Ib779c083e9775dc9922ed6e104f6275bc453bef9
|
|
reuse the common loop index
Change-Id: I9db45a93c219c2123917514cb8e9d4ea86454711
|