Age | Commit message (Collapse) | Author |
|
Test for Regular, Fast and Pair quantization
Change-Id: I0a26c164afe632db869099402189826c0d43f9a2
|
|
|
|
|
|
|
|
Combined vp9_denoiser_8xM_sse2 and vp9_denoiser_4xM_sse2 into one
function vp9_denoiser_NxM_sse2_small and passed the bitexact testing.
Changed the name of the function vp9_denoiser_64_32_16xM_sse2 to
vp9_denoiser_NxM_sse2_big.
Change-Id: Ib22478df585994dd347ebae04202c0b701e7f451
|
|
|
|
This commit changes to allow the usage of golden reference frame in
VP9 CBR mode to improve quality. VP9 supports potentially up to 8
reference buffers, it has reference buffers available for this
purpose. This was not possible in VP8 as golden and alt-ref buffers
were used for temporal scalability purpose in CBR mode in WebRTC.
For frames that update golden frame, there can be a quality boost.
The amount of allowed bitrate boost can be controlled via parameter
rc_max_inter_bitrate_pct. The inital value of the boost ratior is
currently based on over_shoot_pct. Further experiments will work
out the adaption of this boost value.
Change-Id: I0c5f010c8fd8b7b598f69779c1b30e5b2ac30a4d
|
|
Added code to relax the active maximum Q in response
to extreme local overshoot to reduce bandwidth peaks.
The impact is small in metrics terms, but it this helps reduce
bandwidth spikes and overall overshoot in a number of
clips in our tests sets (especially the YT test set).
In particular this should help prevent very big spikes where a clip
is mainly easy but has a short hard section. In such a case a choice
of maximum Q for the clip as a whole may allow us to hit the overall
target rate but give some extreme spikes. The chunked encoding in YT
mitigates this problem but it can show up where a longer clip is
coded as a single chunk.
Change-Id: I213d09950ccb8489d10adf00fda1e53235b39203
|
|
The zero motion vector was effectively used in the subsampled pixel
based variance calculation. This commit makes it directly use zero
mv to generate prediction.
Change-Id: Ica83dc843e9f8da2f89c3ef451e50f16214c0def
|
|
Make the common tile info as one element in the encoder tile data
struct.
Change-Id: I8c474b4ba67ee3e2c86ab164f353ff71ea9992be
|
|
0 means that golden boost is off, and uses average frame target rate,
a non-zero number means the percentage of boost over average frame
bitrate is given initially to golden frames in CBR mode.
Change-Id: If4334fe2cc424b65ae0cce27f71b5561bf1e577d
|
|
Use per tile threshold in the prediction mode search process.
Change-Id: I6c74ee5a3b069bb4281002dfe51310911a0756c0
|
|
|
|
|
|
* changes:
add vp9_loop_filter_data_reset
move LFWorkerData allocation to VP9LfSync
vp9_loop_filter_frame_mt: remove pbi dependency
vp9_loop_filter_frame_mt: pass planes directly
vp9_loop_filter_frame_mt: pass VP9LfSync directly
vp9: store TileWorkerData allocations separately
|
|
Change-Id: I205de3611622cff7f751ea8baf9f82784581730a
|
|
Make the spatially adaptive mode search in rate-distortion
optimization loop inter tile independent. Experiments suggest that
this does not significantly change the coding staticstics.
Single tile, speed 3:
pedestrian_area 1080p 1500 kbps
59192 b/f, 40.611 dB, 101689 ms
blue_sky 1080p 1500 kbps
58505 b/f, 36.347 dB, 62458 ms
mobile_cal 720p 1000 kbps
13335 b/f, 35.646 dB, 45655 ms
as compared to 4 column tiles, speed 3:
pedestrian_area 1080p 1500 kbps
59329 b/f, 40.597 dB, 101917 ms
blue_sky 1080p 1500 kbps
58712 b/f, 36.320 dB, 62693 ms
mobile_cal 720p 1000 kbps
13191 b/f, 35.485 dB, 45319 ms
Change-Id: I35c6e1e0a859fece8f4145dec28623cbc6a12325
|
|
-Use full bandwidth (when temporal layers is on) for checking switching.
-Normalize metric wrt num_blocks.
-Rounding fix to update of average noise level metric.
-Make default internal denoiser mode == kDenoiserOnYUV (in denoiser set_parameters()).
-Adjust some thresholds.
Change-Id: Ib827512b25a7bf1f66c76d3045f3a68ce56b1cd2
|
|
|
|
|
|
The point at which frames are scaled to their
coded dimensions is moved into the re-code loop.
This is in preparation for a further patch that
will add logic into the re-code loop to reduce
the coded frame size if the encoder is struggling
to hit the target data rate at the native frame
size.
Change-Id: Ie4131f5ec6fb93148879f6ce96123296442bf2d1
|
|
|
|
|
|
Change-Id: I8a9c9019242ec10fa499a78db322221bf96a0275
|
|
To outside the loop to avoid repeating the operations.
Change-Id: I66c1986e98ce0d7594caad3d3b45de655b299bff
|
|
Add second level arf Q adjustment when using dual arfs
in constant Q mode.
Previously in constant Q mode enabling dual arf hurt by ~5%
but with this change the average benefit is ~1-1.5% with some
mid range data points up ~10%.
Note however that it still hurts on some clips including
some very low motion show content.
Change-Id: I5b7789a2f42a6127d9e801cc010c20a7113bdd9b
|
|
|
|
|
|
|
|
Apple no longer supports armv6 targets in Xcode or iOS.
Change-Id: Ia7aa496afe62162c43c004530324406486c9a052
|
|
|
|
This patch allocated frame contexts outside VP9_COMMON. This allows
multiple threads to share the same copy of frame contexts, and
reduces the overhead. It also guarantees the correct update of
these contexts during bitstream packing. This patch doesn't change
encoding result.
Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
|
|
|
|
This improves the compression performance of speed -5 by 0.6%. The
speed impact is less than 1%.
Change-Id: Ie77daa561976dfc8b479061e1221bdf428eb0c3b
|
|
|
|
The initialization of this_mode_pred does not work when the ref_frame
loop ever goes beyond LAST_FRAME. This commit fixes the subtle issue
and allows potentially expanding the loop to test GOLDEN_FRAME.
Change-Id: Ibbd427a22160d1d9eacb8ed0c87f88d6cef9c0f3
|
|
denoiser_sse2.c: fix typos in comment.
Change-Id: Ic0fb102331b0e533c058da3cab1fbc30de9a0070
|
|
When profiling, gprof can't distinguish between matching labels in
different files.
Change-Id: I56770df212ed314a0d8568071fa8157624ef1e8f
|
|
Moved erroneous reset of cpi->multi_arf_last_grp_enabled.
Change-Id: Ibb0b96f6ed1d5eeb575a3b1c798e0fe2ee651d06
|
|
Avoid unneeded computation of mse in process_denoise.
Change-Id: I3a538178f2d138750d0c38ea4dd05dbbc2b7df41
|
|
|
|
|
|
This commit refactors the rate distortion structure used in the
non-RD coding mode and saves a few RDCOST calculations.
Change-Id: I62c3416c300d2c5372f21b96d93a6b633a34ab3a
|
|
The existing speed features produce horrible encoding results, almost
30% worse than cpu-used=4, this commit adjust the speed features to
produce relatively resonable results to be within 3%-5% of cpu-used=4.
Change-Id: I0ca6ebafb33024d4a0cbcf04c78a4a00b8dd1ecf
|
|
Change-Id: I75a2a3772ed17e73180eb4f263cc838cae4927b0
|
|
|
|
|
|
|
|
|
|
|