]> granicus.if.org Git - libvpx/commit
vp9_ethread: modify VP9_COMP structure
authorYunqing Wang <yunqingwang@google.com>
Fri, 21 Nov 2014 19:11:06 +0000 (11:11 -0800)
committerYunqing Wang <yunqingwang@google.com>
Tue, 25 Nov 2014 01:57:38 +0000 (17:57 -0800)
commitedbd61e1362978150b5681125d93cb2bffbb5c53
treed9b9d651da0b22861bc326244ad4ba6826b5081b
parent60ef6c073556b75fe46754a6ae5ca1008ffea8b4
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
23 files changed:
vp9/encoder/vp9_aq_complexity.c
vp9/encoder/vp9_aq_complexity.h
vp9/encoder/vp9_bitstream.c
vp9/encoder/vp9_context_tree.c
vp9/encoder/vp9_context_tree.h
vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_encodemv.c
vp9/encoder/vp9_encodemv.h
vp9/encoder/vp9_encoder.c
vp9/encoder/vp9_encoder.h
vp9/encoder/vp9_firstpass.c
vp9/encoder/vp9_mbgraph.c
vp9/encoder/vp9_picklpf.c
vp9/encoder/vp9_pickmode.c
vp9/encoder/vp9_quantize.c
vp9/encoder/vp9_rd.c
vp9/encoder/vp9_rd.h
vp9/encoder/vp9_rdopt.c
vp9/encoder/vp9_segmentation.c
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_temporal_filter.c
vp9/encoder/vp9_tokenize.c
vp9/encoder/vp9_tokenize.h