Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
V
VVCSoftware_VTM
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Custom Issue Tracker
Custom Issue Tracker
Labels
Merge Requests
16
Merge Requests
16
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
jvet
VVCSoftware_VTM
Commits
468efc41
Commit
468efc41
authored
Jan 18, 2019
by
Karsten Suehring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove macro JVET_L0664_ALF_REMOVE_LUMA_5x5
parent
76775a6a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
0 additions
and
70 deletions
+0
-70
source/Lib/CommonLib/AdaptiveLoopFilter.cpp
source/Lib/CommonLib/AdaptiveLoopFilter.cpp
+0
-22
source/Lib/CommonLib/TypeDef.h
source/Lib/CommonLib/TypeDef.h
+0
-10
source/Lib/DecoderLib/VLCReader.cpp
source/Lib/DecoderLib/VLCReader.cpp
+0
-8
source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
+0
-23
source/Lib/EncoderLib/VLCWriter.cpp
source/Lib/EncoderLib/VLCWriter.cpp
+0
-7
No files found.
source/Lib/CommonLib/AdaptiveLoopFilter.cpp
View file @
468efc41
...
@@ -104,22 +104,7 @@ void AdaptiveLoopFilter::ALFProcess( CodingStructure& cs, AlfSliceParam& alfSlic
...
@@ -104,22 +104,7 @@ void AdaptiveLoopFilter::ALFProcess( CodingStructure& cs, AlfSliceParam& alfSlic
{
{
Area
blk
(
xPos
,
yPos
,
width
,
height
);
Area
blk
(
xPos
,
yPos
,
width
,
height
);
deriveClassification
(
m_classifier
,
tmpYuv
.
get
(
COMPONENT_Y
),
blk
);
deriveClassification
(
m_classifier
,
tmpYuv
.
get
(
COMPONENT_Y
),
blk
);
#if JVET_L0664_ALF_REMOVE_LUMA_5x5
m_filter7x7Blk
(
m_classifier
,
recYuv
,
tmpYuv
,
blk
,
COMPONENT_Y
,
m_coeffFinal
,
m_clpRngs
.
comp
[
COMPONENT_Y
]);
m_filter7x7Blk
(
m_classifier
,
recYuv
,
tmpYuv
,
blk
,
COMPONENT_Y
,
m_coeffFinal
,
m_clpRngs
.
comp
[
COMPONENT_Y
]);
#else
if
(
alfSliceParam
.
lumaFilterType
==
ALF_FILTER_5
)
{
m_filter5x5Blk
(
m_classifier
,
recYuv
,
tmpYuv
,
blk
,
COMPONENT_Y
,
m_coeffFinal
,
m_clpRngs
.
comp
[
COMPONENT_Y
]
);
}
else
if
(
alfSliceParam
.
lumaFilterType
==
ALF_FILTER_7
)
{
m_filter7x7Blk
(
m_classifier
,
recYuv
,
tmpYuv
,
blk
,
COMPONENT_Y
,
m_coeffFinal
,
m_clpRngs
.
comp
[
COMPONENT_Y
]
);
}
else
{
CHECK
(
0
,
"Wrong ALF filter type"
);
}
#endif
}
}
for
(
int
compIdx
=
1
;
compIdx
<
MAX_NUM_COMPONENT
;
compIdx
++
)
for
(
int
compIdx
=
1
;
compIdx
<
MAX_NUM_COMPONENT
;
compIdx
++
)
...
@@ -143,11 +128,7 @@ void AdaptiveLoopFilter::ALFProcess( CodingStructure& cs, AlfSliceParam& alfSlic
...
@@ -143,11 +128,7 @@ void AdaptiveLoopFilter::ALFProcess( CodingStructure& cs, AlfSliceParam& alfSlic
void
AdaptiveLoopFilter
::
reconstructCoeff
(
AlfSliceParam
&
alfSliceParam
,
ChannelType
channel
,
const
bool
bRedo
)
void
AdaptiveLoopFilter
::
reconstructCoeff
(
AlfSliceParam
&
alfSliceParam
,
ChannelType
channel
,
const
bool
bRedo
)
{
{
int
factor
=
(
1
<<
(
m_NUM_BITS
-
1
)
);
int
factor
=
(
1
<<
(
m_NUM_BITS
-
1
)
);
#if JVET_L0664_ALF_REMOVE_LUMA_5x5
AlfFilterType
filterType
=
isLuma
(
channel
)
?
ALF_FILTER_7
:
ALF_FILTER_5
;
AlfFilterType
filterType
=
isLuma
(
channel
)
?
ALF_FILTER_7
:
ALF_FILTER_5
;
#else
AlfFilterType
filterType
=
isLuma
(
channel
)
?
alfSliceParam
.
lumaFilterType
:
ALF_FILTER_5
;
#endif
int
numClasses
=
isLuma
(
channel
)
?
MAX_NUM_ALF_CLASSES
:
1
;
int
numClasses
=
isLuma
(
channel
)
?
MAX_NUM_ALF_CLASSES
:
1
;
int
numCoeff
=
filterType
==
ALF_FILTER_5
?
7
:
13
;
int
numCoeff
=
filterType
==
ALF_FILTER_5
?
7
:
13
;
int
numCoeffMinus1
=
numCoeff
-
1
;
int
numCoeffMinus1
=
numCoeff
-
1
;
...
@@ -211,9 +192,6 @@ void AdaptiveLoopFilter::create( const int picWidth, const int picHeight, const
...
@@ -211,9 +192,6 @@ void AdaptiveLoopFilter::create( const int picWidth, const int picHeight, const
m_numCTUsInWidth
=
(
m_picWidth
/
m_maxCUWidth
)
+
(
(
m_picWidth
%
m_maxCUWidth
)
?
1
:
0
);
m_numCTUsInWidth
=
(
m_picWidth
/
m_maxCUWidth
)
+
(
(
m_picWidth
%
m_maxCUWidth
)
?
1
:
0
);
m_numCTUsInHeight
=
(
m_picHeight
/
m_maxCUHeight
)
+
(
(
m_picHeight
%
m_maxCUHeight
)
?
1
:
0
);
m_numCTUsInHeight
=
(
m_picHeight
/
m_maxCUHeight
)
+
(
(
m_picHeight
%
m_maxCUHeight
)
?
1
:
0
);
m_numCTUsInPic
=
m_numCTUsInHeight
*
m_numCTUsInWidth
;
m_numCTUsInPic
=
m_numCTUsInHeight
*
m_numCTUsInWidth
;
#if !JVET_L0664_ALF_REMOVE_LUMA_5x5
m_filterShapes
[
CHANNEL_TYPE_LUMA
].
push_back
(
AlfFilterShape
(
5
)
);
#endif
m_filterShapes
[
CHANNEL_TYPE_LUMA
].
push_back
(
AlfFilterShape
(
7
)
);
m_filterShapes
[
CHANNEL_TYPE_LUMA
].
push_back
(
AlfFilterShape
(
7
)
);
m_filterShapes
[
CHANNEL_TYPE_CHROMA
].
push_back
(
AlfFilterShape
(
5
)
);
m_filterShapes
[
CHANNEL_TYPE_CHROMA
].
push_back
(
AlfFilterShape
(
5
)
);
...
...
source/Lib/CommonLib/TypeDef.h
View file @
468efc41
...
@@ -69,7 +69,6 @@
...
@@ -69,7 +69,6 @@
#define JVET_L0090_PAIR_AVG 1 // Add pairwise average candidates, replace HEVC combined candidates
#define JVET_L0090_PAIR_AVG 1 // Add pairwise average candidates, replace HEVC combined candidates
#define JVET_L0664_ALF_REMOVE_LUMA_5x5 1
#define JVET_L0083_ALF_FRAC_BIT 1 // Reduce number of ALF fractional bit to 7
#define JVET_L0083_ALF_FRAC_BIT 1 // Reduce number of ALF fractional bit to 7
...
@@ -1478,9 +1477,6 @@ struct AlfFilterShape
...
@@ -1478,9 +1477,6 @@ struct AlfFilterShape
struct
AlfSliceParam
struct
AlfSliceParam
{
{
bool
enabledFlag
[
MAX_NUM_COMPONENT
];
// alf_slice_enable_flag, alf_chroma_idc
bool
enabledFlag
[
MAX_NUM_COMPONENT
];
// alf_slice_enable_flag, alf_chroma_idc
#if !JVET_L0664_ALF_REMOVE_LUMA_5x5
AlfFilterType
lumaFilterType
;
// filter_type_flag
#endif
short
lumaCoeff
[
MAX_NUM_ALF_CLASSES
*
MAX_NUM_ALF_LUMA_COEFF
];
// alf_coeff_luma_delta[i][j]
short
lumaCoeff
[
MAX_NUM_ALF_CLASSES
*
MAX_NUM_ALF_LUMA_COEFF
];
// alf_coeff_luma_delta[i][j]
short
chromaCoeff
[
MAX_NUM_ALF_CHROMA_COEFF
];
// alf_coeff_chroma[i]
short
chromaCoeff
[
MAX_NUM_ALF_CHROMA_COEFF
];
// alf_coeff_chroma[i]
short
filterCoeffDeltaIdx
[
MAX_NUM_ALF_CLASSES
];
// filter_coeff_delta[i]
short
filterCoeffDeltaIdx
[
MAX_NUM_ALF_CLASSES
];
// filter_coeff_delta[i]
...
@@ -1493,9 +1489,6 @@ struct AlfSliceParam
...
@@ -1493,9 +1489,6 @@ struct AlfSliceParam
void
reset
()
void
reset
()
{
{
std
::
memset
(
enabledFlag
,
false
,
sizeof
(
enabledFlag
)
);
std
::
memset
(
enabledFlag
,
false
,
sizeof
(
enabledFlag
)
);
#if !JVET_L0664_ALF_REMOVE_LUMA_5x5
lumaFilterType
=
ALF_FILTER_5
;
#endif
std
::
memset
(
lumaCoeff
,
0
,
sizeof
(
lumaCoeff
)
);
std
::
memset
(
lumaCoeff
,
0
,
sizeof
(
lumaCoeff
)
);
std
::
memset
(
chromaCoeff
,
0
,
sizeof
(
chromaCoeff
)
);
std
::
memset
(
chromaCoeff
,
0
,
sizeof
(
chromaCoeff
)
);
std
::
memset
(
filterCoeffDeltaIdx
,
0
,
sizeof
(
filterCoeffDeltaIdx
)
);
std
::
memset
(
filterCoeffDeltaIdx
,
0
,
sizeof
(
filterCoeffDeltaIdx
)
);
...
@@ -1508,9 +1501,6 @@ struct AlfSliceParam
...
@@ -1508,9 +1501,6 @@ struct AlfSliceParam
const
AlfSliceParam
&
operator
=
(
const
AlfSliceParam
&
src
)
const
AlfSliceParam
&
operator
=
(
const
AlfSliceParam
&
src
)
{
{
std
::
memcpy
(
enabledFlag
,
src
.
enabledFlag
,
sizeof
(
enabledFlag
)
);
std
::
memcpy
(
enabledFlag
,
src
.
enabledFlag
,
sizeof
(
enabledFlag
)
);
#if !JVET_L0664_ALF_REMOVE_LUMA_5x5
lumaFilterType
=
src
.
lumaFilterType
;
#endif
std
::
memcpy
(
lumaCoeff
,
src
.
lumaCoeff
,
sizeof
(
lumaCoeff
)
);
std
::
memcpy
(
lumaCoeff
,
src
.
lumaCoeff
,
sizeof
(
lumaCoeff
)
);
std
::
memcpy
(
chromaCoeff
,
src
.
chromaCoeff
,
sizeof
(
chromaCoeff
)
);
std
::
memcpy
(
chromaCoeff
,
src
.
chromaCoeff
,
sizeof
(
chromaCoeff
)
);
std
::
memcpy
(
filterCoeffDeltaIdx
,
src
.
filterCoeffDeltaIdx
,
sizeof
(
filterCoeffDeltaIdx
)
);
std
::
memcpy
(
filterCoeffDeltaIdx
,
src
.
filterCoeffDeltaIdx
,
sizeof
(
filterCoeffDeltaIdx
)
);
...
...
source/Lib/DecoderLib/VLCReader.cpp
View file @
468efc41
...
@@ -2516,10 +2516,6 @@ void HLSyntaxReader::alf( AlfSliceParam& alfSliceParam )
...
@@ -2516,10 +2516,6 @@ void HLSyntaxReader::alf( AlfSliceParam& alfSliceParam )
xReadTruncBinCode
(
code
,
MAX_NUM_ALF_CLASSES
);
//number_of_filters_minus1
xReadTruncBinCode
(
code
,
MAX_NUM_ALF_CLASSES
);
//number_of_filters_minus1
alfSliceParam
.
numLumaFilters
=
code
+
1
;
alfSliceParam
.
numLumaFilters
=
code
+
1
;
#if !JVET_L0664_ALF_REMOVE_LUMA_5x5
READ_FLAG
(
code
,
"filter_type_flag"
);
alfSliceParam
.
lumaFilterType
=
code
?
ALF_FILTER_5
:
ALF_FILTER_7
;
#endif
if
(
alfSliceParam
.
numLumaFilters
>
1
)
if
(
alfSliceParam
.
numLumaFilters
>
1
)
{
{
for
(
int
i
=
0
;
i
<
MAX_NUM_ALF_CLASSES
;
i
++
)
for
(
int
i
=
0
;
i
<
MAX_NUM_ALF_CLASSES
;
i
++
)
...
@@ -2614,11 +2610,7 @@ void HLSyntaxReader::alfFilter( AlfSliceParam& alfSliceParam, const bool isChrom
...
@@ -2614,11 +2610,7 @@ void HLSyntaxReader::alfFilter( AlfSliceParam& alfSliceParam, const bool isChrom
}
}
// derive maxGolombIdx
// derive maxGolombIdx
#if JVET_L0664_ALF_REMOVE_LUMA_5x5
AlfFilterShape
alfShape
(
isChroma
?
5
:
7
);
AlfFilterShape
alfShape
(
isChroma
?
5
:
7
);
#else
AlfFilterShape
alfShape
(
isChroma
?
5
:
(
alfSliceParam
.
lumaFilterType
==
ALF_FILTER_5
?
5
:
7
)
);
#endif
const
int
maxGolombIdx
=
AdaptiveLoopFilter
::
getMaxGolombIdx
(
alfShape
.
filterType
);
const
int
maxGolombIdx
=
AdaptiveLoopFilter
::
getMaxGolombIdx
(
alfShape
.
filterType
);
READ_UVLC
(
code
,
"min_golomb_order"
);
READ_UVLC
(
code
,
"min_golomb_order"
);
...
...
source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
View file @
468efc41
...
@@ -364,12 +364,6 @@ void EncAdaptiveLoopFilter::alfEncoder( CodingStructure& cs, AlfSliceParam& alfS
...
@@ -364,12 +364,6 @@ void EncAdaptiveLoopFilter::alfEncoder( CodingStructure& cs, AlfSliceParam& alfS
for
(
int
iShapeIdx
=
0
;
iShapeIdx
<
alfFilterShape
.
size
();
iShapeIdx
++
)
for
(
int
iShapeIdx
=
0
;
iShapeIdx
<
alfFilterShape
.
size
();
iShapeIdx
++
)
{
{
m_alfSliceParamTemp
=
alfSliceParam
;
m_alfSliceParamTemp
=
alfSliceParam
;
#if !JVET_L0664_ALF_REMOVE_LUMA_5x5
if
(
isLuma
(
channel
)
)
{
m_alfSliceParamTemp
.
lumaFilterType
=
alfFilterShape
[
iShapeIdx
].
filterType
;
}
#endif
//1. get unfiltered distortion
//1. get unfiltered distortion
double
cost
=
getUnfilteredDistortion
(
m_alfCovarianceFrame
[
channel
][
iShapeIdx
],
channel
);
double
cost
=
getUnfilteredDistortion
(
m_alfCovarianceFrame
[
channel
][
iShapeIdx
],
channel
);
cost
/=
1.001
;
// slight preference for unfiltered choice
cost
/=
1.001
;
// slight preference for unfiltered choice
...
@@ -399,11 +393,7 @@ void EncAdaptiveLoopFilter::alfEncoder( CodingStructure& cs, AlfSliceParam& alfS
...
@@ -399,11 +393,7 @@ void EncAdaptiveLoopFilter::alfEncoder( CodingStructure& cs, AlfSliceParam& alfS
//3. CTU decision
//3. CTU decision
double
distUnfilter
=
0
;
double
distUnfilter
=
0
;
#if JVET_L0664_ALF_REMOVE_LUMA_5x5
const
int
iterNum
=
isLuma
(
channel
)
?
(
2
*
4
+
1
)
:
(
2
*
2
+
1
);
const
int
iterNum
=
isLuma
(
channel
)
?
(
2
*
4
+
1
)
:
(
2
*
2
+
1
);
#else
const
int
iterNum
=
2
*
2
+
1
;
#endif
for
(
int
iter
=
0
;
iter
<
iterNum
;
iter
++
)
for
(
int
iter
=
0
;
iter
<
iterNum
;
iter
++
)
{
{
...
@@ -446,11 +436,7 @@ void EncAdaptiveLoopFilter::alfEncoder( CodingStructure& cs, AlfSliceParam& alfS
...
@@ -446,11 +436,7 @@ void EncAdaptiveLoopFilter::alfEncoder( CodingStructure& cs, AlfSliceParam& alfS
int
ctuIdx
=
0
;
int
ctuIdx
=
0
;
const
int
chromaScaleX
=
getComponentScaleX
(
compID
,
recBuf
.
chromaFormat
);
const
int
chromaScaleX
=
getComponentScaleX
(
compID
,
recBuf
.
chromaFormat
);
const
int
chromaScaleY
=
getComponentScaleY
(
compID
,
recBuf
.
chromaFormat
);
const
int
chromaScaleY
=
getComponentScaleY
(
compID
,
recBuf
.
chromaFormat
);
#if JVET_L0664_ALF_REMOVE_LUMA_5x5
AlfFilterType
filterType
=
isLuma
(
compID
)
?
ALF_FILTER_7
:
ALF_FILTER_5
;
AlfFilterType
filterType
=
isLuma
(
compID
)
?
ALF_FILTER_7
:
ALF_FILTER_5
;
#else
AlfFilterType
filterType
=
isLuma
(
compID
)
?
alfSliceParam
.
lumaFilterType
:
ALF_FILTER_5
;
#endif
short
*
coeff
=
isLuma
(
compID
)
?
m_coeffFinal
:
alfSliceParam
.
chromaCoeff
;
short
*
coeff
=
isLuma
(
compID
)
?
m_coeffFinal
:
alfSliceParam
.
chromaCoeff
;
for
(
int
yPos
=
0
;
yPos
<
pcv
.
lumaHeight
;
yPos
+=
pcv
.
maxCUHeight
)
for
(
int
yPos
=
0
;
yPos
<
pcv
.
lumaHeight
;
yPos
+=
pcv
.
maxCUHeight
)
...
@@ -552,11 +538,7 @@ int EncAdaptiveLoopFilter::getCoeffRate( AlfSliceParam& alfSliceParam, bool isCh
...
@@ -552,11 +538,7 @@ int EncAdaptiveLoopFilter::getCoeffRate( AlfSliceParam& alfSliceParam, bool isCh
}
}
memset
(
m_bitsCoeffScan
,
0
,
sizeof
(
m_bitsCoeffScan
)
);
memset
(
m_bitsCoeffScan
,
0
,
sizeof
(
m_bitsCoeffScan
)
);
#if JVET_L0664_ALF_REMOVE_LUMA_5x5
AlfFilterShape
alfShape
(
isChroma
?
5
:
7
);
AlfFilterShape
alfShape
(
isChroma
?
5
:
7
);
#else
AlfFilterShape
alfShape
(
isChroma
?
5
:
(
alfSliceParam
.
lumaFilterType
==
ALF_FILTER_5
?
5
:
7
)
);
#endif
const
int
maxGolombIdx
=
AdaptiveLoopFilter
::
getMaxGolombIdx
(
alfShape
.
filterType
);
const
int
maxGolombIdx
=
AdaptiveLoopFilter
::
getMaxGolombIdx
(
alfShape
.
filterType
);
const
short
*
coeff
=
isChroma
?
alfSliceParam
.
chromaCoeff
:
alfSliceParam
.
lumaCoeff
;
const
short
*
coeff
=
isChroma
?
alfSliceParam
.
chromaCoeff
:
alfSliceParam
.
lumaCoeff
;
const
int
numFilters
=
isChroma
?
1
:
alfSliceParam
.
numLumaFilters
;
const
int
numFilters
=
isChroma
?
1
:
alfSliceParam
.
numLumaFilters
;
...
@@ -746,12 +728,7 @@ double EncAdaptiveLoopFilter::mergeFiltersAndCost( AlfSliceParam& alfSliceParam,
...
@@ -746,12 +728,7 @@ double EncAdaptiveLoopFilter::mergeFiltersAndCost( AlfSliceParam& alfSliceParam,
int
EncAdaptiveLoopFilter
::
getNonFilterCoeffRate
(
AlfSliceParam
&
alfSliceParam
)
int
EncAdaptiveLoopFilter
::
getNonFilterCoeffRate
(
AlfSliceParam
&
alfSliceParam
)
{
{
#if JVET_L0664_ALF_REMOVE_LUMA_5x5
int
len
=
1
// alf_coefficients_delta_flag
int
len
=
1
// alf_coefficients_delta_flag
#else
int
len
=
1
// filter_type
+
1
// alf_coefficients_delta_flag
#endif
+
lengthTruncatedUnary
(
0
,
3
)
// chroma_idc = 0, it is signalled when ALF is enabled for luma
+
lengthTruncatedUnary
(
0
,
3
)
// chroma_idc = 0, it is signalled when ALF is enabled for luma
+
getTBlength
(
alfSliceParam
.
numLumaFilters
-
1
,
MAX_NUM_ALF_CLASSES
);
//numLumaFilters
+
getTBlength
(
alfSliceParam
.
numLumaFilters
-
1
,
MAX_NUM_ALF_CLASSES
);
//numLumaFilters
...
...
source/Lib/EncoderLib/VLCWriter.cpp
View file @
468efc41
...
@@ -1766,9 +1766,6 @@ void HLSWriter::alf( const AlfSliceParam& alfSliceParam )
...
@@ -1766,9 +1766,6 @@ void HLSWriter::alf( const AlfSliceParam& alfSliceParam )
truncatedUnaryEqProb
(
alfChromaIdc
,
3
);
// alf_chroma_idc
truncatedUnaryEqProb
(
alfChromaIdc
,
3
);
// alf_chroma_idc
xWriteTruncBinCode
(
alfSliceParam
.
numLumaFilters
-
1
,
MAX_NUM_ALF_CLASSES
);
//number_of_filters_minus1
xWriteTruncBinCode
(
alfSliceParam
.
numLumaFilters
-
1
,
MAX_NUM_ALF_CLASSES
);
//number_of_filters_minus1
#if !JVET_L0664_ALF_REMOVE_LUMA_5x5
WRITE_FLAG
(
alfSliceParam
.
lumaFilterType
==
ALF_FILTER_5
?
1
:
0
,
"filter_type_flag"
);
#endif
if
(
alfSliceParam
.
numLumaFilters
>
1
)
if
(
alfSliceParam
.
numLumaFilters
>
1
)
{
{
for
(
int
i
=
0
;
i
<
MAX_NUM_ALF_CLASSES
;
i
++
)
for
(
int
i
=
0
;
i
<
MAX_NUM_ALF_CLASSES
;
i
++
)
...
@@ -1828,11 +1825,7 @@ void HLSWriter::alfFilter( const AlfSliceParam& alfSliceParam, const bool isChro
...
@@ -1828,11 +1825,7 @@ void HLSWriter::alfFilter( const AlfSliceParam& alfSliceParam, const bool isChro
static
int
bitsCoeffScan
[
EncAdaptiveLoopFilter
::
m_MAX_SCAN_VAL
][
EncAdaptiveLoopFilter
::
m_MAX_EXP_GOLOMB
];
static
int
bitsCoeffScan
[
EncAdaptiveLoopFilter
::
m_MAX_SCAN_VAL
][
EncAdaptiveLoopFilter
::
m_MAX_EXP_GOLOMB
];
memset
(
bitsCoeffScan
,
0
,
sizeof
(
bitsCoeffScan
)
);
memset
(
bitsCoeffScan
,
0
,
sizeof
(
bitsCoeffScan
)
);
#if JVET_L0664_ALF_REMOVE_LUMA_5x5
AlfFilterShape
alfShape
(
isChroma
?
5
:
7
);
AlfFilterShape
alfShape
(
isChroma
?
5
:
7
);
#else
AlfFilterShape
alfShape
(
isChroma
?
5
:
(
alfSliceParam
.
lumaFilterType
==
ALF_FILTER_5
?
5
:
7
)
);
#endif
const
int
maxGolombIdx
=
AdaptiveLoopFilter
::
getMaxGolombIdx
(
alfShape
.
filterType
);
const
int
maxGolombIdx
=
AdaptiveLoopFilter
::
getMaxGolombIdx
(
alfShape
.
filterType
);
const
short
*
coeff
=
isChroma
?
alfSliceParam
.
chromaCoeff
:
alfSliceParam
.
lumaCoeff
;
const
short
*
coeff
=
isChroma
?
alfSliceParam
.
chromaCoeff
:
alfSliceParam
.
lumaCoeff
;
const
int
numFilters
=
isChroma
?
1
:
alfSliceParam
.
numLumaFilters
;
const
int
numFilters
=
isChroma
?
1
:
alfSliceParam
.
numLumaFilters
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment