Age | Commit message (Collapse) | Author |
|
|
|
The control has been exposed to the vpxenc input parameter. Remove
the internal hard coded control that disables it at speed 1 and
above settings.
Change-Id: Ib17772cb895f24da5a7d0487e748cc1a9c6740b3
|
|
|
|
We plan to compute mv field in different scale.
Change-Id: I49a92d948f8b5dbab78e38c61f5f4f879bbe269f
|
|
* changes:
Change interface of motion_compensated_prediction
Move prepare_nb_full_mvs to vp9_mcomp.c
|
|
|
|
|
|
Change-Id: I44da4884eea26f0feb7b17f4100db7e5bddd14b4
|
|
Change-Id: I36e3bcae60751a9caeac03a3c94cb752b73a010b
|
|
|
|
Undamped adjustment is used for the first frame
of each frame type while updating the rate
correction factors.
Change-Id: I42f80daa123c4cd4e45c18c6960cc7a67e7df7e6
|
|
|
|
Factor out common conditions for better readability.
Change-Id: I2a2b576e7d3e5cf036e9e355fc7ce0509ecb3d7e
|
|
|
|
Only need to set find_fractional_mv_step once.
Change-Id: Ib59dd1e3bb8bc973f2e0f3fc436738bfaf2fad81
|
|
|
|
|
|
|
|
|
|
BUG=webm:1578
Change-Id: Ie03ed454394933fa89f751edc6928651393f3f12
|
|
Search method and step parameter might be changed in speed settings.
In this case, we should update the search area offset due to the change
of search method.
Change-Id: I51dc584bbf35e998757da326355dd4b8a4d0093f
|
|
To improve readability.
Change-Id: Idc08b2068c7d8ba9dadc0d559a3b4d61c2a88c94
|
|
|
|
Speed Test:
C/SatdHighbdTest
blocksize: 16 time: 138 us
blocksize: 64 time: 315 us
blocksize: 256 time: 1120 us
blocksize: 1024 time: 3955 us
AVX2/SatdHighbdTest
blocksize: 16 time: 89 us
blocksize: 64 time: 189 us
blocksize: 256 time: 590 us
blocksize: 1024 time: 1912 us
Change-Id: I6357174462fccd589a475b13d8114b853cab5383
|
|
In single_motion_search, we use prev coded nb full mvs to compute
mv inconsistency.
lambda is set to block_area / 4.
This is a draft. Will to experiments to figure out the impact on
coding efficiency and visual quality.
Change-Id: Id10f72b3c7e6085bfbe1a6156b9fd6917843d001
|
|
Change-Id: Icde1b01ea7f64e2c43dcd039cc37fd306e43030f
|
|
This allow av1_nb_mvs_inconsistency to cope with variant number of
motion vectors.
Change-Id: I391aa322d458cfefaf640e7b07d5ad5ce2d3375c
|
|
This commit introduces the optimized RDMult values for both key
and non-key frames. For key frames, the commit gets values back
from commit#b13f6154df9c0834d74f7e3d41e41c4208f56d18. For impact
on key frame only encodings, see commit message for that commit.
For inter frames, the values get optimzied by running encoding tests
in Q mode with the following range using 150 frames:
2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62
The impact of current set of RDMULT values:
PSNR SSIM PSNR-HVS
lowres: -0.325% 0.422% -0.228%
midres: -0.377% 0.158% -0.376%
hdres: -0.309% 0.522% -0.322%
Test baseline is on commit#35617458
Overall, the values help PSNR based metrics, but hurt SSIM metric
slightly.
Change-Id: I7eba37a6524cb36b8498a1d104d2667781bc2089
|
|
To compute the total budget for a depth layer, exclude the count of
frames in the current layer.
Change-Id: I9ffd1f63ea597de3ea95e0832b13f5b1f35cb086
|
|
Change-Id: I36b970953c960fde65d7b7705ccfa575c8741c43
|
|
|
|
This will allocate extra frame buffer if long term temporal reference is
used and denoiser is enabled on non-key frame.
Add test.
Change-Id: I0e8d1fdb9a2d697a8eed7fe6206bcb362e69f1c8
|
|
|
|
In first pass, scaled_low_intra_thresh should not be
compared with motion_error, as scaled_low_intra_thresh
accounts for bit-depth, whereas motion_error does not.
In addition, mv_cost is excluded for comparison.
Change-Id: Id2fa02d364c086876c71ffebb2dd763eaa647e4a
|
|
Postencode drop is only checked on base spatial
layers, and if set, whole superframe is dropped and
and next superframe is encoded at max-q.
Fix here is to make sure all layers are encoded at
max-q on a postencode dropped frame.
Change-Id: I2313d83ee29a382465bcec1085d8c73c37ce26d6
|
|
|
|
If scene/slide change is detected on current
superframe and max-q set because of high overshoot:
then if the lower/base spatial layer are skipped on
the current superframe, max-q is forced on the
next encoded base/lower spatial layers.
Change-Id: Id61efda86ee545395012e19476d19845e3932678
|
|
Feature works also for non-screen content mode,
so rename it.
Change-Id: I665362d50cf9a4017f114973586ad0eead066ddd
|
|
|
|
Remove unneeded VPX_Q condition check.
Change-Id: I46b09ae522caa47fa7ea4441b6a6ac2840315d1c
|
|
* changes:
Consider mv inconsistency in single_motion_search
Change the interface of vp9_full_pixel_diamond_new
|
|
Decouple the constant q mode qp selection from vbr/cbr/cq modes.
Skip vp9_frame_type_qdelta() adjustment for non-ARF inter frames,
instead keep using the cq-level. It improves the compresson
performance:
avg PSNR overall PSNR SSIM
lowres -0.17% -0.20% -0.1%
midres -0.21% -0.24% -0.08%
hdres -0.15% -0.19% -0.04%
Change-Id: I52fd5f8edbd3fdcbeda31ee3a6d6eb016091a7e3
|
|
Factor out this common code needed all rate control modes.
Change-Id: If17850fbebcdce7ff24afb211aa2e6054486b814
|
|
This is still a work-in-process.
nb_full_mvs and lambda are set to zero for now, which means
mv inconsistency penalty is zero while doing the mv search.
Change-Id: I18680413d748fbdb9a33621f92f83e021036a3ab
|
|
Avoid passing in tpl_stats because this function will be called in
motion search, where tpl_stats should be fixed at the point.
Let further_steps becomes internal variable in the function.
Change-Id: Iebe380925eb1891c19e0b78163dab8e6bfafccdb
|
|
This reverts commit b13f6154df9c0834d74f7e3d41e41c4208f56d18.
Temporarily revert this change due to interactions with rate control at very low target bit-rate.
Original change's description:
> Optimize RDMULT values for key frames
>
> Encoding of 5 frames of each sequence using key frames only, the new
> values help the metrics by:
>
> PSNR SSIM PSNR-HVS
> lowres: -0.870% -0.140% -0.892%
> midres: -0.899% -0.146% -1.052%
> hdres: -0.944% -0.115% -1.028%
>
> Tested q range:
> 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62
>
> Change-Id: I5b0dda366d589f52987c5bad11a1f95c4e6dc1a5
TBR=yaowu@google.com,paulwilkins@google.com,jingning@google.com,builds@webmproject.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ie1e4cf21308d69699a65a393a83884882682ea8e
|
|
Useful for noise estimation when top layer
is skipped encoded.
Change-Id: I18cbe6119bac6c21514941b1e3b530a05a42df14
|
|
|
|
Fix condition for turning off denoiser due to high
motion: use proper superframe counter and
frames_since_key counter so this condition won't
take effect on key (super)frame.
Change-Id: Ic502bf5ebfa32a921f611a78e8e963eb62b5bc79
|
|
Last reference doesn't always exist when SVC layers changed dynamically.
When last is not a reference for current layer, copy block directly on
denoiser.
Change-Id: I9d98c4d6fdcfa25ba707db3333712761b5cf9ab8
|