diff options
author | angiebird <angiebird@google.com> | 2020-09-24 11:33:55 -0700 |
---|---|---|
committer | angiebird <angiebird@google.com> | 2020-10-02 19:31:36 -0700 |
commit | a04f68148f2b78c4eb1f356c12952c716f67adf0 (patch) | |
tree | bd5f5e60b7cc18a7bc18c0e8d2603017150c78d6 /vp9/encoder | |
parent | da7c503fe585de1e1f613f289a24b31567fd7113 (diff) | |
download | libvpx-a04f68148f2b78c4eb1f356c12952c716f67adf0.tar libvpx-a04f68148f2b78c4eb1f356c12952c716f67adf0.tar.gz libvpx-a04f68148f2b78c4eb1f356c12952c716f67adf0.tar.bz2 libvpx-a04f68148f2b78c4eb1f356c12952c716f67adf0.zip |
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
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encoder.h | 7 |
1 files changed, 7 insertions, 0 deletions
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 |