diff options
author | Jerome Jiang <jianj@google.com> | 2021-07-13 11:54:34 -0700 |
---|---|---|
committer | Jerome Jiang <jianj@google.com> | 2021-07-13 21:51:37 -0700 |
commit | 76ad30b6fb85f1462b28323220960d165d167e78 (patch) | |
tree | 9b9ab8902f4f1b86da88e4f1877a0f0c81c97b72 /vp9/encoder | |
parent | 69fc604636f740a57482f3898c2527d29663ee6d (diff) | |
download | libvpx-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.c | 4 | ||||
-rw-r--r-- | vp9/encoder/vp9_encoder.h | 2 |
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; |