summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_onyx_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'vp9/encoder/vp9_onyx_int.h')
-rw-r--r--vp9/encoder/vp9_onyx_int.h23
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;