Shares one set of RD costs tables between all encoding threads
RD costs were local to MACROBLOCK data and had to be copied all the time to each thread's MACROBLOCK data. Tables moved to a common place and only pointers are setup for each encoding thread. vp8_cost_tokens() generates 'int' costs so changed all types to be int (i.e. removed unsigned). NOTE: Could do some more cleaning in vp8cx_init_mbrthread_data(). Change-Id: Ifa4de4c6286dffaca7ed3082041fe5af1345ddc0
This commit is contained in:
committed by
Yunqing Wang
parent
11876faa11
commit
b41c17d625
@@ -693,6 +693,17 @@ typedef struct VP8_COMP
|
||||
int mr_low_res_mb_cols;
|
||||
#endif
|
||||
|
||||
struct rd_costs_struct
|
||||
{
|
||||
int mvcosts[2][MVvals+1];
|
||||
int mvsadcosts[2][MVfpvals+1];
|
||||
int mbmode_cost[2][MB_MODE_COUNT];
|
||||
int intra_uv_mode_cost[2][MB_MODE_COUNT];
|
||||
int bmode_costs[10][10][10];
|
||||
int inter_bmode_costs[B_MODE_COUNT];
|
||||
int token_costs[BLOCK_TYPES][COEF_BANDS]
|
||||
[PREV_COEF_CONTEXTS][MAX_ENTROPY_TOKENS];
|
||||
} rd_costs;
|
||||
} VP8_COMP;
|
||||
|
||||
void control_data_rate(VP8_COMP *cpi);
|
||||
|
||||
Reference in New Issue
Block a user