1 | |
---|
2 | |
---|
3 | /** \file WeightedPredAnalysis.h |
---|
4 | \brief encoder class |
---|
5 | */ |
---|
6 | #ifndef __WEIGHTPREDANALYSIS__ |
---|
7 | #define __WEIGHTPREDANALYSIS__ |
---|
8 | |
---|
9 | #include "../TLibCommon/TypeDef.h" |
---|
10 | #include "../TLibCommon/TComSlice.h" |
---|
11 | |
---|
12 | #ifdef WEIGHT_PRED |
---|
13 | |
---|
14 | #ifdef MSYS_LINUX |
---|
15 | typedef long long LInt; |
---|
16 | #else |
---|
17 | typedef __int64 LInt; |
---|
18 | #endif |
---|
19 | |
---|
20 | class WeightPredAnalysis { |
---|
21 | |
---|
22 | wpScalingParam m_wp[2][MAX_NUM_REF][3]; |
---|
23 | |
---|
24 | Int64 xCalcDCValueSlice(TComSlice *slice, Pel *pPel,Int *iSample); |
---|
25 | Int64 xCalcACValueSlice(TComSlice *slice, Pel *pPel, Int64 iDC); |
---|
26 | Int64 xCalcDCValueUVSlice(TComSlice *slice, Pel *pPel, Int *iSample); |
---|
27 | Int64 xCalcACValueUVSlice(TComSlice *slice, Pel *pPel, Int64 iDC); |
---|
28 | Int64 xCalcSADvalueWPSlice(TComSlice *slice, Pel *pOrgPel, Pel *pRefPel, Int iDenom, Int iWeight, Int iOffset); |
---|
29 | |
---|
30 | Int64 xCalcDCValue(Pel *pPel, Int iWidth, Int iHeight, Int iStride); |
---|
31 | Int64 xCalcACValue(Pel *pPel, Int iWidth, Int iHeight, Int iStride, Int64 iDC); |
---|
32 | Int64 xCalcDCValueUV(Pel *pPel, Int iWidth, Int iHeight, Int iStride); |
---|
33 | Int64 xCalcACValueUV(Pel *pPel, Int iWidth, Int iHeight, Int iStride, Int64 iDC); |
---|
34 | Int64 xCalcSADvalueWP(Pel *pOrgPel, Pel *pRefPel, Int iWidth, Int iHeight, Int iOrgStride, Int iRefStride, Int iDenom, Int iWeight, Int iOffset); |
---|
35 | Int64 xCalcSADvalueWPUV(Pel *pOrgPel, Pel *pRefPel, Int iWidth, Int iHeight, Int iOrgStride, Int iRefStride, Int iDenom, Int iWeight, Int iOffset); |
---|
36 | Bool xSelectWP(TComSlice *slice, wpScalingParam weightPredTable[2][MAX_NUM_REF][3], Int iDenom); |
---|
37 | |
---|
38 | public: |
---|
39 | WeightPredAnalysis(); |
---|
40 | |
---|
41 | // WP analysis : |
---|
42 | Bool xCalcACDCParamSlice(TComSlice *slice); |
---|
43 | Bool xEstimateWPParamSlice(TComSlice *slice); |
---|
44 | }; |
---|
45 | |
---|
46 | #endif // WEIGHT_PRED |
---|
47 | |
---|
48 | #endif // __WEIGHTPREDANALYSIS__ |
---|
49 | |
---|
50 | |
---|