@Dinesh Kumar Reddy - Looks like the patch sent for internal review has been pushed by mistake instead of this. Please find the fix here <https://mailman.videolan.org/pipermail/x265-devel/2019-June/012551.html>.
Thanks, Aruna On Fri, May 24, 2019 at 11:33 AM Dinesh Kumar Reddy < [email protected]> wrote: > # HG changeset patch > # User Aruna Matheswaran > # Date 1558620527 -19800 > # Thu May 23 19:38:47 2019 +0530 > # Node ID b57fe10e387942335fb88bc49e9d746a5d7503f3 > # Parent 220cdb4328a1e2c7419546b50c4d07e652ae1537 > Introducing cli/param to signal content light level SEI. > > Pushed to x265 default repo. > > Thanks & Regards, > Dinesh > > On Fri, May 24, 2019 at 10:10 AM <[email protected]> wrote: > >> # HG changeset patch >> # User Aruna Matheswaran >> # Date 1558620527 -19800 >> # Thu May 23 19:38:47 2019 +0530 >> # Node ID b57fe10e387942335fb88bc49e9d746a5d7503f3 >> # Parent 220cdb4328a1e2c7419546b50c4d07e652ae1537 >> Introducing cli/param to signal content light level SEI. >> >> This patch also fixes indentation issues. >> >> diff -r 220cdb4328a1 -r b57fe10e3879 doc/reST/cli.rst >> --- a/doc/reST/cli.rst Thu May 23 11:28:44 2019 +0800 >> +++ b/doc/reST/cli.rst Thu May 23 19:38:47 2019 +0530 >> @@ -2154,6 +2154,12 @@ >> Note that this string value will need to be escaped or quoted to >> protect against shell expansion on many platforms. No default. >> >> +.. option:: --cll, --no-cll >> + >> + Emit content light level SEI. Enabled automatically when >> :option:`--dolby-vision-profile` 8.1 >> + is specified. When enabled, signals max-cll and max-fall as 0 if >> :option:`max-cll` is unspecified. >> + Default enabled. >> + >> .. option:: --hdr, --no-hdr >> >> Force signalling of HDR parameters in SEI packets. Enabled >> diff -r 220cdb4328a1 -r b57fe10e3879 source/CMakeLists.txt >> --- a/source/CMakeLists.txt Thu May 23 11:28:44 2019 +0800 >> +++ b/source/CMakeLists.txt Thu May 23 19:38:47 2019 +0530 >> @@ -29,7 +29,7 @@ >> option(STATIC_LINK_CRT "Statically link C runtime for release builds" >> OFF) >> mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD) >> # X265_BUILD must be incremented each time the public API is changed >> -set(X265_BUILD 175) >> +set(X265_BUILD 176) >> configure_file("${PROJECT_SOURCE_DIR}/x265.def.in" >> "${PROJECT_BINARY_DIR}/x265.def") >> configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in" >> diff -r 220cdb4328a1 -r b57fe10e3879 source/common/param.cpp >> --- a/source/common/param.cpp Thu May 23 11:28:44 2019 +0800 >> +++ b/source/common/param.cpp Thu May 23 19:38:47 2019 +0530 >> @@ -332,6 +332,7 @@ >> /* SEI messages */ >> param->preferredTransferCharacteristics = -1; >> param->pictureStructure = -1; >> + param->bEmitCLL = 1; >> >> /* SVT Hevc Encoder specific params */ >> param->bEnableSvtHevc = 0; >> @@ -573,10 +574,10 @@ >> param->deblockingFilterBetaOffset = 1; >> param->deblockingFilterTCOffset = 1; >> } >> - else if (!strcmp(tune, "vmaf")) /*Adding vmaf for x265 + >> SVT-HEVC integration support*/ >> - { >> - /*vmaf is under development, currently x265 won't >> support vmaf*/ >> - } >> + else if (!strcmp(tune, "vmaf")) /*Adding vmaf for x265 + >> SVT-HEVC integration support*/ >> + { >> + /*vmaf is under development, currently x265 won't support >> vmaf*/ >> + } >> else >> return -1; >> } >> @@ -1269,6 +1270,7 @@ >> #endif >> OPT("fades") p->bEnableFades = atobool(value); >> OPT("field") p->bField = atobool( value ); >> + OPT("cll") p->bEmitCLL = atobool(value); >> else >> return X265_PARAM_BAD_NAME; >> } >> @@ -2016,7 +2018,8 @@ >> p->vui.defDispWinRightOffset, p->vui.defDispWinBottomOffset); >> if (p->masteringDisplayColorVolume) >> s += sprintf(s, " master-display=%s", >> p->masteringDisplayColorVolume); >> - s += sprintf(s, " max-cll=%hu,%hu", p->maxCLL, p->maxFALL); >> + if (p->bEmitCLL) >> + s += sprintf(s, "cll=%hu,%hu", p->maxCLL, p->maxFALL); >> s += sprintf(s, " min-luma=%hu", p->minLuma); >> s += sprintf(s, " max-luma=%hu", p->maxLuma); >> s += sprintf(s, " log2-max-poc-lsb=%d", p->log2MaxPocLsb); >> @@ -2314,6 +2317,7 @@ >> else dst->masteringDisplayColorVolume = NULL; >> dst->maxLuma = src->maxLuma; >> dst->minLuma = src->minLuma; >> + dst->bEmitCLL = src->bEmitCLL; >> dst->maxCLL = src->maxCLL; >> dst->maxFALL = src->maxFALL; >> dst->log2MaxPocLsb = src->log2MaxPocLsb; >> @@ -2439,7 +2443,7 @@ >> svtHevcParam->frameRateNumerator = 0; >> svtHevcParam->frameRateDenominator = 0; >> svtHevcParam->encoderBitDepth = 8; >> - svtHevcParam->encoderColorFormat = EB_YUV420; >> + svtHevcParam->encoderColorFormat = EB_YUV420; >> svtHevcParam->compressedTenBitFormat = 0; >> svtHevcParam->rateControlMode = 0; >> svtHevcParam->sceneChangeDetection = 1; >> @@ -2477,11 +2481,11 @@ >> svtHevcParam->maxCLL = 0; >> svtHevcParam->maxFALL = 0; >> svtHevcParam->useMasteringDisplayColorVolume = 0; >> - svtHevcParam->useNaluFile = 0; >> - svtHevcParam->whitePointX = 0; >> - svtHevcParam->whitePointY = 0; >> - svtHevcParam->maxDisplayMasteringLuminance = 0; >> - svtHevcParam->minDisplayMasteringLuminance = 0; >> + svtHevcParam->useNaluFile = 0; >> + svtHevcParam->whitePointX = 0; >> + svtHevcParam->whitePointY = 0; >> + svtHevcParam->maxDisplayMasteringLuminance = 0; >> + svtHevcParam->minDisplayMasteringLuminance = 0; >> svtHevcParam->dolbyVisionProfile = 0; >> svtHevcParam->targetSocket = -1; >> svtHevcParam->logicalProcessors = 0; >> @@ -2513,7 +2517,7 @@ >> else if (!strcmp(tune, "ssim")) svtHevcParam->tune = 1; >> else if (!strcmp(tune, "grain")) svtHevcParam->tune = 0; >> else if (!strcmp(tune, "animation")) svtHevcParam->tune = 0; >> - else if (!strcmp(tune, "vmaf")) svtHevcParam->tune = 2; >> + else if (!strcmp(tune, "vmaf")) svtHevcParam->tune = 2; >> else if (!strcmp(tune, "zero-latency") || !strcmp(tune, >> "zerolatency")) svtHevcParam->latencyMode = 1; >> else return -1; >> } >> diff -r 220cdb4328a1 -r b57fe10e3879 source/encoder/encoder.cpp >> --- a/source/encoder/encoder.cpp Thu May 23 11:28:44 2019 +0800 >> +++ b/source/encoder/encoder.cpp Thu May 23 19:38:47 2019 +0530 >> @@ -444,8 +444,6 @@ >> >> m_nalList.m_annexB = !!m_param->bAnnexB; >> >> - m_emitCLLSEI = p->maxCLL || p->maxFALL || (p->dolbyProfile == 81); >> - >> if (m_param->naluFile) >> { >> m_naluFile = x265_fopen(m_param->naluFile, "r"); >> @@ -2462,10 +2460,13 @@ >> >> if (m_param->bEmitHDRSEI) >> { >> - SEIContentLightLevel cllsei; >> - cllsei.max_content_light_level = m_param->maxCLL; >> - cllsei.max_pic_average_light_level = m_param->maxFALL; >> - cllsei.writeSEImessages(bs, m_sps, NAL_UNIT_PREFIX_SEI, list, >> m_param->bSingleSeiNal); >> + if (m_param->bEmitCLL) >> + { >> + SEIContentLightLevel cllsei; >> + cllsei.max_content_light_level = m_param->maxCLL; >> + cllsei.max_pic_average_light_level = m_param->maxFALL; >> + cllsei.writeSEImessages(bs, m_sps, NAL_UNIT_PREFIX_SEI, >> list, m_param->bSingleSeiNal); >> + } >> >> if (m_param->masteringDisplayColorVolume) >> { >> @@ -2711,7 +2712,7 @@ >> p->vui.matrixCoeffs = dovi[doviProfile].matrixCoeffs; >> >> if (dovi[doviProfile].doviProfileId == 81) >> - p->bEmitHDRSEI = 1; >> + p->bEmitHDRSEI = p->bEmitCLL = 1; >> >> if (dovi[doviProfile].doviProfileId == 50) >> p->crQpOffset = 3; >> diff -r 220cdb4328a1 -r b57fe10e3879 source/encoder/encoder.h >> --- a/source/encoder/encoder.h Thu May 23 11:28:44 2019 +0800 >> +++ b/source/encoder/encoder.h Thu May 23 19:38:47 2019 +0530 >> @@ -203,7 +203,6 @@ >> ScalingList m_scalingList; // quantization matrix >> information >> Window m_conformanceWindow; >> >> - bool m_emitCLLSEI; >> bool m_bZeroLatency; // x265_encoder_encode() >> returns NALs for the input picture, zero lag >> bool m_aborted; // fatal error detected >> bool m_reconfigure; // Encoder reconfigure in >> progress >> diff -r 220cdb4328a1 -r b57fe10e3879 source/x265.h >> --- a/source/x265.h Thu May 23 11:28:44 2019 +0800 >> +++ b/source/x265.h Thu May 23 19:38:47 2019 +0530 >> @@ -1780,6 +1780,9 @@ >> >> /* Enable field coding */ >> int bField; >> + >> + /*Emit content light level info SEI*/ >> + int bEmitCLL; >> } x265_param; >> /* x265_param_alloc: >> * Allocates an x265_param instance. The returned param structure is not >> diff -r 220cdb4328a1 -r b57fe10e3879 source/x265cli.h >> --- a/source/x265cli.h Thu May 23 11:28:44 2019 +0800 >> +++ b/source/x265cli.h Thu May 23 19:38:47 2019 +0530 >> @@ -336,6 +336,8 @@ >> { "svt-fps-in-vps", no_argument , NULL, 0 }, >> { "no-svt-fps-in-vps", no_argument , NULL, 0 }, >> #endif >> + { "cll", no_argument, NULL, 0 }, >> + { "no-cll", no_argument, NULL, 0 }, >> { 0, 0, 0, 0 }, >> { 0, 0, 0, 0 }, >> { 0, 0, 0, 0 }, >> @@ -602,7 +604,8 @@ >> H1(" --chromaloc <integer> Specify chroma sample location >> (0 to 5). Default of %d\n", param->vui.chromaSampleLocTypeTopField); >> H0(" --master-display <string> SMPTE ST 2086 master display >> color volume info SEI (HDR)\n"); >> H0(" format: >> G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)\n"); >> - H0(" --max-cll <string> Emit content light level info >> SEI as \"cll,fall\" (HDR)\n"); >> + H0(" --max-cll <string> Specify content light level >> info SEI as \"cll,fall\" (HDR).\n"); >> + H0(" --[no-]cll Emit content light level info >> SEI. Default %s\n", OPT(param->bEmitCLL)); >> H0(" --[no-]hdr Control dumping of HDR SEI >> packet. If max-cll or master-display has non-zero values, this is enabled. >> Default %s\n", OPT(param->bEmitHDRSEI)); >> H0(" --[no-]hdr-opt Add luma and chroma offsets for >> HDR/WCG content. Default %s\n", OPT(param->bHDROpt)); >> H0(" --min-luma <integer> Minimum luma plane value of >> input source picture\n"); >> _______________________________________________ >> x265-devel mailing list >> [email protected] >> https://mailman.videolan.org/listinfo/x265-devel >> > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel >
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
