diff options
author | Yunqing Wang <yunqingwang@google.com> | 2014-11-21 11:11:06 -0800 |
---|---|---|
committer | Yunqing Wang <yunqingwang@google.com> | 2014-11-24 17:57:38 -0800 |
commit | edbd61e1362978150b5681125d93cb2bffbb5c53 (patch) | |
tree | d9b9d651da0b22861bc326244ad4ba6826b5081b /vp9/encoder/vp9_pickmode.c | |
parent | 60ef6c073556b75fe46754a6ae5ca1008ffea8b4 (diff) | |
download | libvpx-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.c | 2 |
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) { |