summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorJerome Jiang <jianj@google.com>2021-07-13 11:54:34 -0700
committerJerome Jiang <jianj@google.com>2021-07-13 21:51:37 -0700
commit76ad30b6fb85f1462b28323220960d165d167e78 (patch)
tree9b9ab8902f4f1b86da88e4f1877a0f0c81c97b72 /vp9/encoder
parent69fc604636f740a57482f3898c2527d29663ee6d (diff)
downloadlibvpx-76ad30b6fb85f1462b28323220960d165d167e78.tar
libvpx-76ad30b6fb85f1462b28323220960d165d167e78.tar.gz
libvpx-76ad30b6fb85f1462b28323220960d165d167e78.tar.bz2
libvpx-76ad30b6fb85f1462b28323220960d165d167e78.zip
Add codec control for rtc external ratectrl lib
This will do 3 things: Turn off low motion computation Turn off gf update constrain on key frame frequency turn off content mode for cyclic refresh Those are used to verify the external ratectrl lib works as expected. Change-Id: Ic6e61498de82d6b3973e58df246cf5e05f838680
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_encoder.c4
-rw-r--r--vp9/encoder/vp9_encoder.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c
index 1af83e405..f50b97997 100644
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -2304,6 +2304,7 @@ VP9_COMP *vp9_create_compressor(const VP9EncoderConfig *oxcf,
cm, cm->frame_contexts,
(FRAME_CONTEXT *)vpx_calloc(FRAME_CONTEXTS, sizeof(*cm->frame_contexts)));
+ cpi->compute_frame_low_motion_onepass = 1;
cpi->use_svc = 0;
cpi->resize_state = ORIG;
cpi->external_resize = 0;
@@ -5747,7 +5748,8 @@ static void encode_frame_to_data_rate(
vp9_rc_postencode_update(cpi, *size);
- if (oxcf->pass == 0 && !frame_is_intra_only(cm) &&
+ if (cpi->compute_frame_low_motion_onepass && oxcf->pass == 0 &&
+ !frame_is_intra_only(cm) &&
(!cpi->use_svc ||
(cpi->use_svc &&
!cpi->svc.layer_context[cpi->svc.temporal_layer_id].is_key_frame &&
diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h
index 65a1d3328..ea2d59e1b 100644
--- a/vp9/encoder/vp9_encoder.h
+++ b/vp9/encoder/vp9_encoder.h
@@ -961,6 +961,8 @@ typedef struct VP9_COMP {
int compute_source_sad_onepass;
+ int compute_frame_low_motion_onepass;
+
LevelConstraint level_constraint;
uint8_t *count_arf_frame_usage;