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
|
|
|
|
Always parse --required options. Previously they were only parsed for
x86_64.
Make entries passed in additive if there are existing required flags.
Mark 'neon' as required for armv8/aarch64.
BUG=chromium:876548
Change-Id: I55c6aad4536a9d8423e223e5616f3aa26d6b2941
|
|
|
|
If a ref frame is masked out, we do not need to do motion search for it.
It makes speed 0 a little faster.
Change-Id: I68f71255b2798b24fd1d5b28ed24a2ef87251413
|
|
|
|
|
|
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
|
|
BUG=b/112292577
Change-Id: I8fc5711e44d0317e299aa49f781e9c438bba9d82
|
|
For sample encoder: keep default pattern for bypass
mode to example#0.
Change-Id: Icddc4600d750a23a44b26517a327b546fd8eb412
|
|
|
|
|
|
This reverts commit 416b7051d7f610ed6d62dff18af7776ec520fd9c.
Reason for revert: it causes visual quality drop as described in b/112953058.
Original change's description:
> Prevent double application of min rate in two pass.
>
> The initial allocation of bits in the two pass code to each frame
> should be within the min max limits on the command line. However,
> when forming an ARF group the cost of the ARF is shared by frames
> in that group such that the residual bits for a frame could drop below
> the min value. This change prevents the minimum being re-applied
> after the cost of the ARF has been deducted as this may otherwise
> cause low rate sections to overshoot their target.
>
> Test runs comparing to a baseline run with min and max section pct
> 0-2000% vs one closer to the YT use case (50-150%) suggest that
> this fix not only results in better rate control but also gives a better
> rd outcome.
>
> For example the HD set vs 0-2000% baseline (opsnr, ssim).
> Old code (50-150): +0.751, +1.099
> New code(50-150): +0.241, -0.009
>
> Change-Id: I715da7b130bf53ba8aa609532aa9e18b84f5e2ef
TBR=yaowu@google.com,paulwilkins@google.com,debargha@google.com,builds@webmproject.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ic9849e4e0db64e9d92bbb9df9cc923230a15c4df
|
|
|
|
|
|
|
|
Make the encoder side handling of prev_frame and last_show_frame
update synchronized with the decoder behavior.
Change-Id: I0f265391cba182d7cc266a1c327fe6b92e24ab17
|
|
When the current frame is coded by directly using a reference
frame in buffer, no need to update the prev_mi frame information
for next frame encoding control.
Change-Id: I33fda8e70cdb31eb5b13b63e3dbd6e96ff85154d
|
|
This refactoring allows the encoder to skip frame count update in
the show_existing_frame mode.
Change-Id: Id69707976ccdad144cba93a8f5d36b6947611f91
|
|
|
|
Previously we often skip all compound inter prediction modes,
causing large coding loss. This patch modifies how we set the
ref_frame_skip_mask so that compound modes are considered in RDO.
This affects speed>=1.
Coding gains(overall psnr):
lowres midres hdres average
speed 1 0.54% 0.43% 0.64% 0.53%
speed 2 0.59% 0.48% 0.60% 0.56%
Tested encoding speed on 10 HD sequences, average speed loss is
5% for speed 1; 2% for speed 2.
Change-Id: Ib8758af7ee7c9812022bd21c5fe61631e2bb8e5c
|
|
This reverts commit 45cf384738ad261de7d00769c19b9b2842af06a7.
BUG=875626,875680,webm:1496
Change-Id: I78037b5e57dbf6cfe326b29beaad1128868f09f2
|
|
Match the decoder expectation, set off refresh_fame_context flag
in show_existing_frame mode.
Change-Id: I5258635b715ea04f41a4a087178709f707449b71
|
|
Change-Id: Iadb043128e0f813c75cc726e5a41ce94b9d1de24
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Allow the encoder to skip temporal filter for intermediate ARFs
that are later used in show_existing_frame mode.
Change-Id: Ieed635bf7672b62f5c287bde43765f80362a345e
|
|
The enum USE_BUF_FRAME makes the use of show_existing_frame. In
this setting, all the reference frame buffer condition will stay
unchanged.
Change-Id: I5b7b28488dbd94982f721667128f004e4e6a00d8
|
|
Point the current frame buffer towards the existing reference frame.
In the meantime, release the original new_fb pointer.
Change-Id: Ic83a698cac5cdaaabdf61acffb936ec130a84d1c
|
|
Skip the loop filtering for frame coding in show_existing_frame
mode. This matches the decoder operation for show_existing_frame
mode.
Change-Id: I96f275cf5384eb5fe8c0404ec4142cf5b580ac16
|
|
When the show_existing_frame mode is on, directly point the new
frame pointer towards the existing reference frame buffer entry.
Change-Id: Ic50b25655fe95ea702fb529afacb7701ec17adcb
|
|
No need to process through the frame encoding stage when a current
frame is coded using show_existing_frame.
Change-Id: I36c6f04e344326fa6ecc95cd0a4e4fd6f467fdcb
|
|
This enum indicates the use of show existing frame, and conducts
no reference frame buffer update.
Change-Id: I8bf3121376640baf24b580ebea58e9ccbdd641da
|
|
|
|
|
|
Determine if an ARF is on the future side by checking if its
offset meets the gop frame length. This unifies the support to
single- and multiple-layer ARF cases.
Change-Id: I5ab26f54311c345a9b574ffca5ff0a8dbcf4c031
|
|
This will get update after define_gf_group() is called and returned.
No need to update it inside.
Change-Id: Ia42c6f7ef16bca3f1ee88392f3b90b9ebe409da8
|
|
This flag will control the use of multiple layer arf + show
existing frames.
Change-Id: Ic6b9e8e67b2db7d32706bdf0a14663a39f57295f
|
|
Make the meaning of the operations therein clearer.
Change-Id: I0dce92a4c14218307df098e3da7a1c7cc45008a7
|
|
|
|
|
|
|
|
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
|
|
Make the bit-stream writer match the decoder behavior, when the
show existing frame feature is used.
Change-Id: Ibc8153f8668da0f9a2ed8af3b42dae91a5ac08c7
|