| Index: source/libvpx/vp9/encoder/vp9_encoder.h
|
| ===================================================================
|
| --- source/libvpx/vp9/encoder/vp9_encoder.h (revision 281795)
|
| +++ source/libvpx/vp9/encoder/vp9_encoder.h (working copy)
|
| @@ -32,7 +32,7 @@
|
| #include "vp9/encoder/vp9_mcomp.h"
|
| #include "vp9/encoder/vp9_quantize.h"
|
| #include "vp9/encoder/vp9_ratectrl.h"
|
| -#include "vp9/encoder/vp9_rdopt.h"
|
| +#include "vp9/encoder/vp9_rd.h"
|
| #include "vp9/encoder/vp9_speed_features.h"
|
| #include "vp9/encoder/vp9_svc_layercontext.h"
|
| #include "vp9/encoder/vp9_tokenize.h"
|
| @@ -248,11 +248,7 @@
|
| VP9EncoderConfig oxcf;
|
| struct lookahead_ctx *lookahead;
|
| struct lookahead_entry *source;
|
| -#if CONFIG_MULTIPLE_ARF
|
| - struct lookahead_entry *alt_ref_source[REF_FRAMES];
|
| -#else
|
| struct lookahead_entry *alt_ref_source;
|
| -#endif
|
| struct lookahead_entry *last_source;
|
|
|
| YV12_BUFFER_CONFIG *Source;
|
| @@ -266,14 +262,13 @@
|
| int alt_is_last; // Alt same as last ( short circuit altref search)
|
| int gold_is_alt; // don't do both alt and gold search ( just do gold).
|
|
|
| + int skippable_frame;
|
| +
|
| int scaled_ref_idx[3];
|
| int lst_fb_idx;
|
| int gld_fb_idx;
|
| int alt_fb_idx;
|
|
|
| -#if CONFIG_MULTIPLE_ARF
|
| - int alt_ref_fb_idx[REF_FRAMES - 3];
|
| -#endif
|
| int refresh_last_frame;
|
| int refresh_golden_frame;
|
| int refresh_alt_ref_frame;
|
| @@ -291,13 +286,6 @@
|
| TOKENEXTRA *tok;
|
| unsigned int tok_count[4][1 << 6];
|
|
|
| -#if CONFIG_MULTIPLE_ARF
|
| - // Position within a frame coding order (including any additional ARF frames).
|
| - unsigned int sequence_number;
|
| - // Next frame in naturally occurring order that has not yet been coded.
|
| - int next_frame_in_order;
|
| -#endif
|
| -
|
| // Ambient reconstruction err target for force key frames
|
| int ambient_err;
|
|
|
| @@ -347,9 +335,6 @@
|
|
|
| unsigned char *complexity_map;
|
|
|
| - unsigned char *active_map;
|
| - unsigned int active_map_enabled;
|
| -
|
| CYCLIC_REFRESH *cyclic_refresh;
|
|
|
| fractional_mv_step_fp *find_fractional_mv_step;
|
| @@ -363,6 +348,10 @@
|
| uint64_t time_pick_lpf;
|
| uint64_t time_encode_sb_row;
|
|
|
| +#if CONFIG_FP_MB_STATS
|
| + int use_fp_mb_stats;
|
| +#endif
|
| +
|
| TWO_PASS twopass;
|
|
|
| YV12_BUFFER_CONFIG alt_ref_buffer;
|
| @@ -416,7 +405,11 @@
|
|
|
| SVC svc;
|
|
|
| - int use_large_partition_rate;
|
| + // Store frame variance info in SOURCE_VAR_BASED_PARTITION search type.
|
| + diff *source_diff_var;
|
| + // The threshold used in SOURCE_VAR_BASED_PARTITION search type.
|
| + unsigned int source_var_thresh;
|
| + int frames_till_next_var_check;
|
|
|
| int frame_flags;
|
|
|
| @@ -433,18 +426,9 @@
|
| PC_TREE *pc_root;
|
| int partition_cost[PARTITION_CONTEXTS][PARTITION_TYPES];
|
|
|
| -#if CONFIG_MULTIPLE_ARF
|
| - // ARF tracking variables.
|
| + int multi_arf_allowed;
|
| int multi_arf_enabled;
|
| - unsigned int frame_coding_order_period;
|
| - unsigned int new_frame_coding_order_period;
|
| - int frame_coding_order[MAX_LAG_BUFFERS * 2];
|
| - int arf_buffer_idx[MAX_LAG_BUFFERS * 3 / 2];
|
| - int arf_weight[MAX_LAG_BUFFERS];
|
| - int arf_buffered;
|
| - int this_frame_weight;
|
| - int max_arf_level;
|
| -#endif
|
| + int multi_arf_last_grp_enabled;
|
|
|
| #if CONFIG_DENOISING
|
| VP9_DENOISER denoiser;
|
| @@ -544,10 +528,14 @@
|
|
|
| int64_t vp9_rescale(int64_t val, int64_t num, int denom);
|
|
|
| +void vp9_set_high_precision_mv(VP9_COMP *cpi, int allow_high_precision_mv);
|
| +
|
| YV12_BUFFER_CONFIG *vp9_scale_if_required(VP9_COMMON *cm,
|
| YV12_BUFFER_CONFIG *unscaled,
|
| YV12_BUFFER_CONFIG *scaled);
|
|
|
| +void vp9_apply_encoding_flags(VP9_COMP *cpi, vpx_enc_frame_flags_t flags);
|
| +
|
| static INLINE void set_ref_ptrs(VP9_COMMON *cm, MACROBLOCKD *xd,
|
| MV_REFERENCE_FRAME ref0,
|
| MV_REFERENCE_FRAME ref1) {
|
|
|