diff options
author | Adrian Grange <agrange@google.com> | 2014-11-14 15:29:18 -0800 |
---|---|---|
committer | Adrian Grange <agrange@google.com> | 2015-02-10 09:59:32 -0800 |
commit | 23ebacdb81adeee7a082a573068d84921898f39d (patch) | |
tree | 2a82a9bf1826dcd9e80abae4a0e64791c881c9f4 /vp9/encoder/vp9_encoder.h | |
parent | 84b813aa42c99bce15cec774153bdb1cd09e9578 (diff) | |
download | libvpx-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.h | 4 |
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 |