Add block and frame level data structures to support frame
dependent mode decision.
Change-Id: I996fc84155fcba8e2ec2a114bb0799d6aa5539dd
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;
#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.