summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2019-03-20 13:39:48 -0700
committerMarco Paniconi <marpan@google.com>2019-03-20 13:42:20 -0700
commit840dc6966de11aaa21f292aa3eff36f66ccfc3a5 (patch)
treeae97eeccf75c870356d5fc522fd1c29de1b2db96 /vp9
parent1492ccbe6e9bd8f8b46fa103166889fc22dac48e (diff)
downloadlibvpx-840dc6966de11aaa21f292aa3eff36f66ccfc3a5.tar
libvpx-840dc6966de11aaa21f292aa3eff36f66ccfc3a5.tar.gz
libvpx-840dc6966de11aaa21f292aa3eff36f66ccfc3a5.tar.bz2
libvpx-840dc6966de11aaa21f292aa3eff36f66ccfc3a5.zip
vp9-rtc: Fixes for low-resoln
The force smooth_filter should only be used for noisy content, so for now keep it off and add TODO. Also fix/adjust low-resoln condition and threshold in cyclic refresh. Change-Id: I6c456dc9f23daabba20badd65a2f7ee6c5e259c4
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_aq_cyclicrefresh.c4
-rw-r--r--vp9/encoder/vp9_pickmode.c9
2 files changed, 6 insertions, 7 deletions
diff --git a/vp9/encoder/vp9_aq_cyclicrefresh.c b/vp9/encoder/vp9_aq_cyclicrefresh.c
index 5cc0e0372..b3b546044 100644
--- a/vp9/encoder/vp9_aq_cyclicrefresh.c
+++ b/vp9/encoder/vp9_aq_cyclicrefresh.c
@@ -530,9 +530,9 @@ void vp9_cyclic_refresh_update_parameters(VP9_COMP *const cpi) {
cr->rate_boost_fac = 10;
}
// Adjust some parameters for low resolutions.
- if (cm->width <= 352 && cm->height <= 288) {
+ if (cm->width * cm->height <= 352 * 288) {
if (rc->avg_frame_bandwidth < 3000) {
- cr->motion_thresh = 16;
+ cr->motion_thresh = 64;
cr->rate_boost_fac = 13;
} else {
cr->max_qdelta_perc = 70;
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 86831b972..0f29739fd 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1700,11 +1700,10 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
int no_scaling = 0;
unsigned int thresh_svc_skip_golden = 500;
unsigned int thresh_skip_golden = 500;
- int force_smooth_filter =
- (cpi->oxcf.speed >= 8 && cm->width * cm->height <= 320 * 240 &&
- cm->base_qindex >= 200)
- ? 1
- : 0;
+ // TODO(marpan/jianj): forcing smooth_interpol is visually better for noisy
+ // content, at low resolns. Look into adding this conditon. For now keep
+ // it off.
+ int force_smooth_filter = 0;
int scene_change_detected =
cpi->rc.high_source_sad ||
(cpi->use_svc && cpi->svc.high_source_sad_superframe);