diff options
Diffstat (limited to 'libhwc2.1/histogram_mediator.h')
-rw-r--r-- | libhwc2.1/histogram_mediator.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libhwc2.1/histogram_mediator.h b/libhwc2.1/histogram_mediator.h index fa81e0b..54d28c9 100644 --- a/libhwc2.1/histogram_mediator.h +++ b/libhwc2.1/histogram_mediator.h @@ -73,10 +73,38 @@ public: bool mHistReq_pending = false; std::mutex mDataCollectingMutex; // for data collecting operations }; + + struct HistogramConfig { + RoiRect mRoi; + Weight mWeights; + HistogramPos mPos; + + HistogramConfig() {} + + HistogramConfig(const RoiRect &roi, const Weight &weights, const HistogramPos &pos) { + mRoi = roi; + mWeights = weights; + mPos = pos; + } + + bool operator!=(const HistogramConfig &rhs) { + return mRoi != rhs.mRoi || mWeights != rhs.mWeights || mPos != rhs.mPos; + } + + HistogramConfig &operator=(const HistogramConfig &rhs) { + mRoi = rhs.mRoi; + mWeights = rhs.mWeights; + mPos = rhs.mPos; + return *this; + } + }; + uint32_t getFrameCount(); void setSampleFrameCounter(int32_t id) { mSampledFrameCounter = id; } uint32_t getSampleFrameCounter() { return mSampledFrameCounter; } bool histRequested() { return mIDLHistogram->mHistReq_pending; } + std::mutex mConfigMutex; + HistogramConfig mConfig GUARDED_BY(mConfigMutex); private: int calculateThreshold(const RoiRect &roi); |