summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encoder.h
diff options
context:
space:
mode:
authorAdrian Grange <agrange@google.com>2014-11-14 15:29:18 -0800
committerAdrian Grange <agrange@google.com>2015-02-10 09:59:32 -0800
commit23ebacdb81adeee7a082a573068d84921898f39d (patch)
tree2a82a9bf1826dcd9e80abae4a0e64791c881c9f4 /vp9/encoder/vp9_encoder.h
parent84b813aa42c99bce15cec774153bdb1cd09e9578 (diff)
downloadlibvpx-23ebacdb81adeee7a082a573068d84921898f39d.tar
libvpx-23ebacdb81adeee7a082a573068d84921898f39d.tar.gz
libvpx-23ebacdb81adeee7a082a573068d84921898f39d.tar.bz2
libvpx-23ebacdb81adeee7a082a573068d84921898f39d.zip
Auto-adaptive encoder frame resizing logic
Note: This feature is still in development. Add an option for the encoder to decide the resolution at which to encode each frame. Each KF/GF/ARF goup is tested to see if it would be better encoded at a lower resolution. At present, each KF/GF/ARF is coded first at full-size and if the coded size exceeds a threshold (twice target data rate) at the maximum active Q then the entire group is encoded at lower resolution. This feature is enabled in vpxenc by setting: --resize-allowed=1 In addition, if the vpxenc command line also specifies valid frame dimensions using: --resize-width=XXXX & --resize_height=YYYY then *all* frames will be encoded at this resolution. Change-Id: I13f341e0a82512f9e84e144e0f3b5aed8a65402b
Diffstat (limited to 'vp9/encoder/vp9_encoder.h')
-rw-r--r--vp9/encoder/vp9_encoder.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h
index e0ed06b24..1e4c982ff 100644
--- a/vp9/encoder/vp9_encoder.h
+++ b/vp9/encoder/vp9_encoder.h
@@ -448,6 +448,8 @@ typedef struct VP9_COMP {
VP9_DENOISER denoiser;
#endif
+ int resize_pending;
+
// Multi-threading
int num_workers;
VP9Worker *workers;
@@ -593,6 +595,8 @@ static INLINE int *cond_cost_list(const struct VP9_COMP *cpi, int *cost_list) {
return cpi->sf.mv.subpel_search_method != SUBPEL_TREE ? cost_list : NULL;
}
+void vp9_new_framerate(VP9_COMP *cpi, double framerate);
+
#ifdef __cplusplus
} // extern "C"
#endif