diff options
Diffstat (limited to 'vp9/encoder/vp9_onyx_int.h')
-rw-r--r-- | vp9/encoder/vp9_onyx_int.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_onyx_int.h b/vp9/encoder/vp9_onyx_int.h index 243ca1123..88a041984 100644 --- a/vp9/encoder/vp9_onyx_int.h +++ b/vp9/encoder/vp9_onyx_int.h @@ -208,6 +208,15 @@ typedef enum { ALLOW_RECODE = 3, } RECODE_LOOP_TYPE; +typedef enum { + // encode_breakout is disabled. + ENCODE_BREAKOUT_DISABLED = 0, + // encode_breakout is enabled. + ENCODE_BREAKOUT_ENABLED = 1, + // encode_breakout is enabled with small max_thresh limit. + ENCODE_BREAKOUT_LIMITED = 2 +} ENCODE_BREAKOUT_TYPE; + typedef struct { // Frame level coding parameter update int frame_parameter_update; @@ -392,6 +401,10 @@ typedef struct { // This flag controls the use of non-RD mode decision. int use_pick_mode; + + // This variable sets the encode_breakout threshold. Currently, it is only + // enabled in real time mode. + int encode_breakout_thresh; } SPEED_FEATURES; typedef struct { @@ -546,6 +559,13 @@ typedef struct VP9_COMP { unsigned int max_mv_magnitude; int mv_step_param; + // Default value is 1. From first pass stats, encode_breakout may be disabled. + ENCODE_BREAKOUT_TYPE allow_encode_breakout; + + // Get threshold from external input. In real time mode, it can be + // overwritten according to encoding speed. + int encode_breakout; + unsigned char *segmentation_map; // segment threashold for encode breakout @@ -636,9 +656,6 @@ typedef struct VP9_COMP { LAYER_CONTEXT layer_context[VPX_TS_MAX_LAYERS]; } svc; - int enable_encode_breakout; // Default value is 1. From first pass stats, - // encode_breakout may be disabled. - #if CONFIG_MULTIPLE_ARF // ARF tracking variables. int multi_arf_enabled; |