From a04f68148f2b78c4eb1f356c12952c716f67adf0 Mon Sep 17 00:00:00 2001 From: angiebird Date: Thu, 24 Sep 2020 11:33:55 -0700 Subject: Add codec control for external rate control lib VP9E_SET_EXTERNAL_RATE_CONTROL One can assign an external library using the control flag, VP9E_SET_EXTERNAL_RATE_CONTROL. The args alongside the control flag should be of type char**. args[0]: char* points to the path of rate control library args[1]: char* points to the config of the rate control library. Change-Id: Iae47362cdfafa00614bac427884bffcf6944c583 --- vp9/encoder/vp9_encoder.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'vp9/encoder') diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h index 263b10cdb..67574ec0e 100644 --- a/vp9/encoder/vp9_encoder.h +++ b/vp9/encoder/vp9_encoder.h @@ -660,6 +660,12 @@ static INLINE int get_num_unit_4x4(int size) { return (size + 3) >> 2; } static INLINE int get_num_unit_16x16(int size) { return (size + 15) >> 4; } #endif // CONFIG_RATE_CTRL +#define MAX_EXT_RATECTRL_BUF_SIZE 500 +typedef struct EXT_RATECTRL { + char library_path[MAX_EXT_RATECTRL_BUF_SIZE]; + char config[MAX_EXT_RATECTRL_BUF_SIZE]; +} EXT_RATECTRL; + typedef struct VP9_COMP { FRAME_INFO frame_info; QUANTS quants; @@ -974,6 +980,7 @@ typedef struct VP9_COMP { RATE_QSTEP_MODEL rq_model[ENCODE_FRAME_TYPES]; #endif + EXT_RATECTRL ext_ratectrl; } VP9_COMP; #if CONFIG_RATE_CTRL -- cgit v1.2.3