diff options
author | Jingning Han <jingning@google.com> | 2018-05-21 09:31:13 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2018-06-14 09:50:56 -0700 |
commit | ea78306257fa185255ef922541306d2a9ab1b744 (patch) | |
tree | 72b830bc1acfa012545566f485e3ff3baf008de5 /vp9/encoder/vp9_encoder.h | |
parent | 7a1ac4712b96db9ce48cbddfdc59d8d6adda10e6 (diff) | |
download | libvpx-ea78306257fa185255ef922541306d2a9ab1b744.tar libvpx-ea78306257fa185255ef922541306d2a9ab1b744.tar.gz libvpx-ea78306257fa185255ef922541306d2a9ab1b744.tar.bz2 libvpx-ea78306257fa185255ef922541306d2a9ab1b744.zip |
Add data structure for frame dependent mode decision
Add block and frame level data structures to support frame
dependent mode decision.
Change-Id: I996fc84155fcba8e2ec2a114bb0799d6aa5539dd
Diffstat (limited to 'vp9/encoder/vp9_encoder.h')
-rw-r--r-- | vp9/encoder/vp9_encoder.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h index f66c13046..d6d32abf9 100644 --- a/vp9/encoder/vp9_encoder.h +++ b/vp9/encoder/vp9_encoder.h @@ -278,6 +278,21 @@ static INLINE int is_lossless_requested(const VP9EncoderConfig *cfg) { return cfg->best_allowed_q == 0 && cfg->worst_allowed_q == 0; } +typedef struct TplDepStats { + uint64_t intra_cost; + uint64_t inter_cost; + uint64_t mc_flow; + uint64_t mc_dep_cost; +} TplDepStats; + +typedef struct TplDepFrame { + uint8_t is_valid; + TplDepStats *tpl_stats_ptr; + int stride; + int width; + int height; +} TplDepFrame; + // TODO(jingning) All spatially adaptive variables should go to TileDataEnc. typedef struct TileDataEnc { TileInfo tile_info; @@ -476,6 +491,8 @@ typedef struct VP9_COMP { #endif YV12_BUFFER_CONFIG *raw_source_frame; + TplDepFrame tpl_stats[MAX_LAG_BUFFERS]; + TileDataEnc *tile_data; int allocated_tiles; // Keep track of memory allocated for tiles. |