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_rd.h | |
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_rd.h')
-rw-r--r-- | vp9/encoder/vp9_rd.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_rd.h b/vp9/encoder/vp9_rd.h index 33670d35a..e1593af5a 100644 --- a/vp9/encoder/vp9_rd.h +++ b/vp9/encoder/vp9_rd.h @@ -138,7 +138,8 @@ void vp9_model_rd_from_var_lapndz(unsigned int var, unsigned int n, unsigned int qstep, int *rate, int64_t *dist); -int vp9_get_switchable_rate(const struct VP9_COMP *cpi); +int vp9_get_switchable_rate(const struct VP9_COMP *cpi, + const MACROBLOCKD *const xd); const YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(const struct VP9_COMP *cpi, int ref_frame); |