summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_pickmode.c
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2014-11-21 11:11:06 -0800
committerYunqing Wang <yunqingwang@google.com>2014-11-24 17:57:38 -0800
commitedbd61e1362978150b5681125d93cb2bffbb5c53 (patch)
treed9b9d651da0b22861bc326244ad4ba6826b5081b /vp9/encoder/vp9_pickmode.c
parent60ef6c073556b75fe46754a6ae5ca1008ffea8b4 (diff)
downloadlibvpx-edbd61e1362978150b5681125d93cb2bffbb5c53.tar
libvpx-edbd61e1362978150b5681125d93cb2bffbb5c53.tar.gz
libvpx-edbd61e1362978150b5681125d93cb2bffbb5c53.tar.bz2
libvpx-edbd61e1362978150b5681125d93cb2bffbb5c53.zip
vp9_ethread: modify VP9_COMP structure
This patch modified struct VP9_COMP. Created a struct ThreadData to include data that need to be copied for each thread. In multiple thread case, one thread processes one tile. all threads share one copy of VP9_COMP, (refer to VP9_COMP *cpi in the code) but each thread has its own copy of ThreadData, (refer to ThreadData *td in the code). Therefore, within the scope of encode_tiles(), both cpi and td need to be passed as function parameters. In single thread case, the FRAME_COUNTS pointer in ThreadData points to "counts" in VP9_COMMON. Change-Id: Ib37908b2d8e2c0f4f9c18f38017df5ce60e8b13e
Diffstat (limited to 'vp9/encoder/vp9_pickmode.c')
-rw-r--r--vp9/encoder/vp9_pickmode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index fb0786669..6bb979403 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -744,7 +744,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
model_rd_for_sb_y(cpi, bsize, x, xd, &pf_rate[filter],
&pf_dist[filter], &pf_var[filter], &pf_sse[filter]);
cost = RDCOST(x->rdmult, x->rddiv,
- vp9_get_switchable_rate(cpi) + pf_rate[filter],
+ vp9_get_switchable_rate(cpi, xd) + pf_rate[filter],
pf_dist[filter]);
pf_tx_size[filter] = mbmi->tx_size;
if (cost < best_cost) {