diff --git a/Source/Lib/Codec/EbDefinitions.h b/Source/Lib/Codec/EbDefinitions.h index a1700a758..ae7d712fd 100644 --- a/Source/Lib/Codec/EbDefinitions.h +++ b/Source/Lib/Codec/EbDefinitions.h @@ -54,8 +54,8 @@ extern "C" { typedef int errno_t; #endif /* _ERRNO_T_DEFINED */ - - +// To sharpen frame background. +#define USE_SOURCE_REFERENCE 0 //Maximum 8192x4320 #define EB_TILE_COLUMN_MAX_COUNT 20u diff --git a/Source/Lib/Codec/EbPictureDecisionProcess.c b/Source/Lib/Codec/EbPictureDecisionProcess.c index 6b9863408..717ed2725 100644 --- a/Source/Lib/Codec/EbPictureDecisionProcess.c +++ b/Source/Lib/Codec/EbPictureDecisionProcess.c @@ -1020,9 +1020,15 @@ void* PictureDecisionKernel(void *inputPtr) pictureControlSetPtr->disableTmvpFlag = sequenceControlSetPtr->staticConfig.unrestrictedMotionVector == 0 ? EB_TRUE : EB_FALSE; + // FIXME: work around the increased BDBR regression issue induced by the + // tile group implementation (PR #348), when ImproveSharpness is used. +#if USE_SOURCE_REFERENCE pictureControlSetPtr->useSrcRef = (sequenceControlSetPtr->staticConfig.improveSharpness && pictureControlSetPtr->temporalLayerIndex > 0) ? EB_TRUE : EB_FALSE; +#else + pictureControlSetPtr->useSrcRef = EB_FALSE; +#endif SignalDerivationMultiProcessesOq( sequenceControlSetPtr,