Age | Commit message (Collapse) | Author |
|
Change-Id: I6510e36866138f8ac4cb82c207e58e0b9522e499
|
|
|
|
Existing logic was only affecting resolutions above 720p.
Needs more testing for reducing subpel for speed >= 8.
No change on RTC metrics.
Change-Id: I2f4bf9f25891614aafa9a86aa5a5063a3ccfce4d
|
|
|
|
This could save some cycles since skin detection is used in multiple
places in vp9.
1~2% speed up on ARM.
Change-Id: I86b731945f85215bbb0976021cd0f2040ff2687c
|
|
Improvements were already mentioned in the previous patch:
https://chromium-review.googlesource.com/#/c/531675/
Change-Id: I4906ab1c61c25a815bdeb986016fad6dcb69eb71
|
|
Use the scene detection for CBR mode, and use it to reset the
rate control if large source sad is detected and rate
correctioni fact/QP is at minimum state.
Avoids large frame sizes after big content change following
low content period.
Only affects CBR mode for 1 pass at speeds 5, 6, 7.
Change-Id: I56dd853478cd5849b32db776e9221e258998d874
|
|
* changes:
onyxd_int.h: add missing prototypes
onyxd.h: add vp8dx_references_buffer prototype
vp[89],vpx_dsp: add missing includes
vp8,encodeframe.h: correct prototypes
vp8: add temporal_filter.h
add picklpf.h
add ethreading.h
vp8,bitstream.h: add missing prototypes
vp8: remove vp8_fast_quantize_b_mmx
vp8,loopfilter_filters: make some functions static
vp9_ratectrl: make adjust_gf_boost_lag_one_pass_vbr static
vp9_encodeframe: make scale_part_thresh_sumdiff static
vp9_alt_ref_aq: correct vp9_alt_ref_aq_create proto
tiny_ssim: make some functions static
|
|
|
|
|
|
Fix misplaced cast that caused an overflow and incorrect rate adaptation
behavior for high data rates. This in particular will have affected 4k encodes
but could also have come into play for some higher rate 1080p cases.
In our standard test sets the quality impact is small though several high rate
clips show improved rate accuracy. This can also impact the number of recode
loop hits and on one problem 4k clip the encode time for speeds 0 and 1 was
reduced by >25%
Change-Id: I108da7ca42f3bc95c5825dd33c9d84583227dac1
|
|
Use it to limit NEWMV early exit in nonrd pickmode
Small change in RTC metrics, has some improvement
for high motion clips.
Change-Id: I1d89fd955e1b3486d5fb07f4472eeeecd553f67f
|
|
|
|
quiets -Wmissing-prototypes
Change-Id: I841cfc019d592f2bc6b3fec5818051a31f4c53b5
|
|
quiets -Wmissing-prototypes
Change-Id: I72d899c2d8de1ddc52d90ac081f2629374b3a6e9
|
|
quiets -Wmissing-prototypes
Change-Id: I696223d75860edba13c6b6f38c1f8db353a6f812
|
|
quiets -Wmissing-prototypes
Change-Id: Ib2d4f294f1982739bb2ac98155e789e040d309a1
|
|
use an int to quiet an unsigned rollover warning similar to:
25110f283 Fix an ubsan warning: vp9_quantizer.c
Change-Id: Iedecb79a17249bc18f10c0920f88cf704920f12b
|
|
Skin detection usage in choose_partitioning should be
around the cpi->use_skin_detection.
Change-Id: I6986179af9ce94c60c0974d66c311fc07cc04cfe
|
|
Adjust the threshold for turning off cyclic refresh for high motion,
and avoid testing golden in nonrd pickmode for speed >= 8 if
golden refresh was long ago.
No change/neutral on RTC metrics.
Change-Id: I40959b8d9637f3553e7458bbabd8c6024c2c09c0
|
|
|
|
Get some quality gain on RTC metrics (~7%), with
~5-8% speed slowdown.
Change-Id: I0d02942a77074424ee0326b6e110ddff09f2df5e
|
|
Set the base_mv_aggressive for temporal enhancement layers (TL > 0).
Under the aggressive mode, skip the NEWMV depending on the
SSE of the base_mv. Also reduce the subpel motion to 1/2 under
aggressive mode if base_mv is good.
Speedup ~3% with small/negligible loss in quality on RTC.
Affects speed >= 6.
Change-Id: I89341b279cad6da2a04b76d5e726016191dacdb8
|
|
This was ported from the greedy version in AV1, written by Dake He
(dkhe@google.com).
See:
https://aomedia.googlesource.com/aom/+/master/av1/encoder/encodemb.c#137
Greedy version is disabled by default, but can be picked by setting
USE_GREEDY_OPTIMIZE_B to 1.
To be enabled by default later.
This is both faster and better in terms of compression.
Compression Improvement:
------------------------
lowres: -0.119
midres: -0.064
hdres: -0.405
Speed Improvement:
------------------
(Based on encode time of 3 videos of different difficulties at
3 different target bitrates)
With --cpu-used=0: 0.38% to 5.55% faster
With --cpu-used=1: 0.24% to 2.79% faster
With --cpu-used=2: 0.29% to 1.46% faster
Change-Id: Ia7a23b3b244ad8eb253ac9e43cd03c5e021d2635
|
|
Change-Id: I341399ecbde37065375ea7e63511a26bfc285ea0
|
|
Duplicate of transpose_16bit_8x8()
Change-Id: Iaa5dd63b5cccb044974a65af22c90e13418e311f
|
|
|
|
Set subpel prune_evenmore only for non_reference frames,
instead of all TL > 0 frames. Gain some quality back at
cost of small speed loss (~1-2%).
Change only effects SVC encoding at speed >= 7.
Change-Id: I5b9f51e51dccfd7050521a66996176b0415ca3f9
|
|
Change-Id: Ib3546032a27c715bf509c0e24d26a189bc829da8
|
|
|
|
BUG=webm:1438
Change-Id: Ie3dc034c7dbb498a0b088a767b1936ddeed4df14
|
|
Enable simple_block_yrd for temporal enhancement layers (TL > 0).
And remove block size condiiton for SVC mode.
Only affects speed >= 7 SVC.
Speedup ~3-4%.
avgPSNR regression on RTC for (3 spatial, 3 temporal) layers: ~1%.
Change-Id: Iff4fc191623b71c69cd373e7c0823385e7ac67ed
|
|
Keep the 1/4subpel for all frames, use SUBPEL_TREE_PRUNED_EVENMORE
for all temporal enhancement layer frames.
Change-Id: Ibc681acbb6fc75b7b3c57fc483fcb11d591dfc9a
|
|
It is initialized to be { INT_MAX, 0, ... } in ffe0f9b.
No effect on encoders.
Make it consistent with other initializations.
BUG=webm:1440
Change-Id: Ie2a180d93626b55914c8c4255e466a1986d2b922
|
|
visual studio will warn if a 32-bit shift is implicitly converted to 64.
in this case integer storage is enough for the result.
since:
f3a9ae5ba Fix ubsan failure in vp9_mcomp.c.
Change-Id: I7e0e199ef8d3c64e07b780c8905da8c53c1d09fc
|
|
|
|
BUG=webm:1440
Change-Id: I7074e42bdfa8dd25f11bbb3f2ab1b41d6f4c12e4
|
|
Change-Id: Iff1dea1fe9d4ea1d3fc95ea736ddf12f30e6f48d
|
|
For SVC 1 pass non-rd mode:
Force subpel seach off for SVC for non-reference frames
under motion threshold.
Add flag to svc context to indicate if the frame is not used
as a reference.
Little/no quaity loss, ~2% speedup.
Change-Id: Ic433c44b514d19d08b28f80ff05231dc943b28e9
|
|
Speed >=8: for resolutions above CIF, and for low motion content,
set subpel_search_method to SUBPEL_TREE_PRUNED_EVENMORE.
Small speed gain (~2%) on vga clips,
RTC metrics up by ~2-3% on average.
Change-Id: Ie26ba0264589652f92dfe74308740debf94cf0cc
|
|
For both vp8 and vp9.
BUG=webm:1437
Change-Id: Ifd06f68a876ade91cc2cc27c574c4641b77cce28
|
|
|
|
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
|
|
Fix the condition on usage of source_sad for temporal layers.
FIx allows it to be used for the case of 1 temporal layer.
Change-Id: I02b1b0ade67a7889d1b93cee66d27c0951131fc3
|
|
|
|
For 1 pass CBR SVC mode.
Change-Id: Ic026740f9d0ec5eee7c5845be9c5b15884fec48d
|
|
Adjust the max_copied_frame setting for temporal layers.
Keep the same setting for non-SVC at speed 8.
This change also enables copy_partiton for non-SVC at speed 7,
but with smaller value of max_copied_frame (=2).
~2% speedup for SVC speed 7, 3 layers, with little/no quality loss.
Change-Id: Ic65ac9aad764ec65a35770d263424b2393ec6780
|
|
|
|
For aq-mode=3: refactor the condition for turning off
the refresh. Add some adjustments for high motion content.
No/little change in RTC metrics, only affects high motion case.
Change-Id: I7da8eabfb0e61db014be4562806f72ee5ef4a43b
|
|
No change on RTC metrics.
Change-Id: I5abc573cb56572188d900645d13ba479f55a1ea0
|