summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorangiebird <angiebird@google.com>2020-09-24 11:33:55 -0700
committerangiebird <angiebird@google.com>2020-10-02 19:31:36 -0700
commita04f68148f2b78c4eb1f356c12952c716f67adf0 (patch)
treebd5f5e60b7cc18a7bc18c0e8d2603017150c78d6 /vp9/encoder
parentda7c503fe585de1e1f613f289a24b31567fd7113 (diff)
downloadlibvpx-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.h7
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