Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Remy Foray
VVCSoftware_VTM
Commits
951c2ca7
Commit
951c2ca7
authored
Nov 19, 2018
by
Paul Keydel
Browse files
bugfix
parent
66a793a2
Changes
1
Hide whitespace changes
Inline
Side-by-side
source/Lib/EncoderLib/IntraSearch.cpp
View file @
951c2ca7
...
...
@@ -281,6 +281,12 @@ void IntraSearch::estIntraPredLumaQT( CodingUnit &cu, Partitioner &partitioner )
const
TempCtx
ctxStart
(
m_CtxCache
,
m_CABACEstimator
->
getCtx
()
);
const
TempCtx
ctxStartIntraMode
(
m_CtxCache
,
SubCtx
(
Ctx
::
IPredMode
[
CHANNEL_TYPE_LUMA
],
m_CABACEstimator
->
getCtx
()
)
);
#if JVET_L0100_MULTI_HYPOTHESIS_INTRA
const
TempCtx
ctxStartMHIntraMode
(
m_CtxCache
,
SubCtx
(
Ctx
::
MHIntraPredMode
,
m_CABACEstimator
->
getCtx
()
)
);
#endif
#if JVET_L0283_MULTI_REF_LINE
const
TempCtx
ctxStartMrlIdx
(
m_CtxCache
,
SubCtx
(
Ctx
::
MultiRefLineIdx
,
m_CABACEstimator
->
getCtx
()
)
);
#endif
CHECK
(
!
cu
.
firstPU
,
"CU has no PUs"
);
const
bool
keepResi
=
cs
.
pps
->
getPpsRangeExtension
().
getCrossComponentPredictionEnabledFlag
()
||
KEEP_PRED_AND_RESI_SIGNALS
;
...
...
@@ -415,6 +421,12 @@ void IntraSearch::estIntraPredLumaQT( CodingUnit &cu, Partitioner &partitioner )
// NB xFracModeBitsIntra will not affect the mode for chroma that may have already been pre-estimated.
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
IPredMode
[
CHANNEL_TYPE_LUMA
],
ctxStartIntraMode
);
#if JVET_L0100_MULTI_HYPOTHESIS_INTRA
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
MHIntraPredMode
,
ctxStartMHIntraMode
);
#endif
#if JVET_L0283_MULTI_REF_LINE
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
MultiRefLineIdx
,
ctxStartMrlIdx
);
#endif
uint64_t
fracModeBits
=
xFracModeBitsIntra
(
pu
,
uiMode
,
CHANNEL_TYPE_LUMA
);
...
...
@@ -472,7 +484,13 @@ void IntraSearch::estIntraPredLumaQT( CodingUnit &cu, Partitioner &partitioner )
Distortion
sad
=
distParam
.
distFunc
(
distParam
);
// NB xFracModeBitsIntra will not affect the mode for chroma that may have already been pre-estimated.
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
IPredMode
[
CHANNEL_TYPE_LUMA
],
ctxStartIntraMode
);
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
IPredMode
[
CHANNEL_TYPE_LUMA
],
ctxStartIntraMode
);
#if JVET_L0100_MULTI_HYPOTHESIS_INTRA
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
MHIntraPredMode
,
ctxStartMHIntraMode
);
#endif
#if JVET_L0283_MULTI_REF_LINE
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
MultiRefLineIdx
,
ctxStartMrlIdx
);
#endif
uint64_t
fracModeBits
=
xFracModeBitsIntra
(
pu
,
mode
,
CHANNEL_TYPE_LUMA
);
...
...
@@ -526,7 +544,13 @@ void IntraSearch::estIntraPredLumaQT( CodingUnit &cu, Partitioner &partitioner )
Distortion
sad
=
distParam
.
distFunc
(
distParam
);
// NB xFracModeBitsIntra will not affect the mode for chroma that may have already been pre-estimated.
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
IPredMode
[
CHANNEL_TYPE_LUMA
],
ctxStartIntraMode
);
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
IPredMode
[
CHANNEL_TYPE_LUMA
],
ctxStartIntraMode
);
#if JVET_L0100_MULTI_HYPOTHESIS_INTRA
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
MHIntraPredMode
,
ctxStartMHIntraMode
);
#endif
#if JVET_L0283_MULTI_REF_LINE
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
MultiRefLineIdx
,
ctxStartMrlIdx
);
#endif
uint64_t
fracModeBits
=
xFracModeBitsIntra
(
pu
,
mode
,
CHANNEL_TYPE_LUMA
);
...
...
@@ -663,7 +687,13 @@ void IntraSearch::estIntraPredLumaQT( CodingUnit &cu, Partitioner &partitioner )
cs
.
interHad
=
0
;
//===== reset context models =====
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
IPredMode
[
CHANNEL_TYPE_LUMA
],
ctxStartIntraMode
);
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
IPredMode
[
CHANNEL_TYPE_LUMA
],
ctxStartIntraMode
);
#if JVET_L0100_MULTI_HYPOTHESIS_INTRA
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
MHIntraPredMode
,
ctxStartMHIntraMode
);
#endif
#if JVET_L0283_MULTI_REF_LINE
m_CABACEstimator
->
getCtx
()
=
SubCtx
(
Ctx
::
MultiRefLineIdx
,
ctxStartMrlIdx
);
#endif
return
;
}
...
...
Write
Preview
Supports
Markdown
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