Skip to content

Commit f508ab3

Browse files
VickyZenggintel-mediadev
authored andcommitted
[VP] HDR Tone Mapping Curve Change on 3dlut kernel Softlet
HDR Tone Mapping Curve Change on 3dlut kernel Softlet.
1 parent 5a6b7d0 commit f508ab3

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

media_softlet/agnostic/common/vp/hal/packet/vp_render_vebox_hdr_3dlut_kernel.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ MOS_STATUS VpRenderHdr3DLutKernel::SetupSurfaceState()
254254
kernelSurfaceParam.isOutput = false;
255255
m_surfaceState.insert(std::make_pair(SurfaceType3DLutCoef, kernelSurfaceParam));
256256

257-
VP_RENDER_CHK_STATUS_RETURN(InitCoefSurface(m_maxDisplayLum, m_maxContentLevelLum, m_hdrMode, false));
257+
VP_RENDER_CHK_STATUS_RETURN(InitCoefSurface(m_maxDisplayLum, m_maxContentLevelLum, m_hdrMode));
258258

259259
return MOS_STATUS_SUCCESS;
260260
}
@@ -360,7 +360,7 @@ MOS_STATUS VpRenderHdr3DLutKernel::GetWalkerSetting(KERNEL_WALKER_PARAMS &walker
360360
return MOS_STATUS_SUCCESS;
361361
}
362362

363-
MOS_STATUS VpRenderHdr3DLutKernel::InitCoefSurface(const uint32_t maxDLL, const uint32_t maxCLL, const VPHAL_HDR_MODE hdrMode, bool needTMCurveChange)
363+
MOS_STATUS VpRenderHdr3DLutKernel::InitCoefSurface(const uint32_t maxDLL, const uint32_t maxCLL, const VPHAL_HDR_MODE hdrMode)
364364
{
365365
VP_FUNC_CALL();
366366
float *hdrcoefBuffer = nullptr;
@@ -389,7 +389,7 @@ MOS_STATUS VpRenderHdr3DLutKernel::InitCoefSurface(const uint32_t maxDLL, const
389389
{
390390
CalcCCMMatrix();
391391
MOS_SecureMemcpy(ccmMatrix, sizeof(float) * 12, color_matrix_calculation, sizeof(float) * 12);
392-
if ((maxDLL > 800) && needTMCurveChange)
392+
if (maxDLL > 800)
393393
{
394394
tmMode = (TONE_MAPPING_MODE)TONE_MAPPING_MODE_H2H;
395395
}
@@ -583,7 +583,7 @@ MOS_STATUS VpRenderHdr3DLutKernelCM::SetupSurfaceState()
583583
kernelSurfaceParam.isOutput = false;
584584
m_surfaceState.insert(std::make_pair(SurfaceType3DLutCoef, kernelSurfaceParam));
585585

586-
VP_RENDER_CHK_STATUS_RETURN(InitCoefSurface(m_maxDisplayLum, m_maxContentLevelLum, m_hdrMode, true));
586+
VP_RENDER_CHK_STATUS_RETURN(InitCoefSurface(m_maxDisplayLum, m_maxContentLevelLum, m_hdrMode));
587587

588588
return MOS_STATUS_SUCCESS;
589589
}

media_softlet/agnostic/common/vp/hal/packet/vp_render_vebox_hdr_3dlut_kernel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ class VpRenderHdr3DLutKernel : public VpRenderKernelObj
197197
return true;
198198
}
199199
virtual MOS_STATUS GetWalkerSetting(KERNEL_WALKER_PARAMS &walkerParam, KERNEL_PACKET_RENDER_DATA &renderData) override;
200-
virtual MOS_STATUS InitCoefSurface(const uint32_t maxDLL, const uint32_t maxCLL, const VPHAL_HDR_MODE hdrMode, bool needTMCurveChange);
200+
virtual MOS_STATUS InitCoefSurface(const uint32_t maxDLL, const uint32_t maxCLL, const VPHAL_HDR_MODE hdrMode);
201201

202202
protected:
203203
virtual MOS_STATUS SetupSurfaceState() override;

media_softlet/agnostic/common/vp/hal/packet/vp_render_vebox_hdr_3dlut_l0_kernel.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,14 @@ MOS_STATUS VpRenderHdr3DLutL0Kernel::InitCoefSurface(const uint32_t maxDLL, cons
456456
CalcCCMMatrix();
457457
MOS_SecureMemcpy(ccmMatrix, sizeof(float) * 12, color_matrix_calculation, sizeof(float) * 12);
458458

459-
tmMode = (TONE_MAPPING_MODE)TONE_MAPPING_MODE_H2S;
459+
if (maxDLL > 800)
460+
{
461+
tmMode = (TONE_MAPPING_MODE)TONE_MAPPING_MODE_H2H;
462+
}
463+
else
464+
{
465+
tmMode = (TONE_MAPPING_MODE)TONE_MAPPING_MODE_H2S;
466+
}
460467
oetfCurve = (OETF_CURVE_TYPE)OETF_SRGB;
461468
tmSrcType = (TONE_MAPPING_SOURCE_TYPE)TONE_MAPPING_SOURCE_PSEUDO_Y_BT709;
462469
}

0 commit comments

Comments
 (0)