x265 3.0: unable to propagate max-cll=0,0 to SEI

Issue #474 new
Marek Gaik created an issue

After trying to encode with x265 3.0, I noticed the CLL metadata is now missing if specifying max-cll=0,0 In e.g. x265 2.8, setting max-cll=0,0 was possible and the information was propagated to SEI.

max-cll with non-zero values works perfectly. I found no information about change of behavior for this parameter.

I've tried also adding explicitly 'hdr' option but it doesn't help. If I'll add dolby-vision-profile=8.1, then the max-cll=0,0 starts to work, but I wouldn't want to limit this option to specific DoVi profile.

I've verified this on the official x265 3.0 (https://bitbucket.org/multicoreware/x265/downloads/x265_3.0.tar.gz)

Thank you, Marek

Comments (3)

  1. Marek Gaik reporter

    Digging deeper into this I see that now:

        if (m_param->bEmitHDRSEI)
        {
            if (m_emitCLLSEI)
            {
                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);
            }
    

    but m_emitCLLSEI is set to true only in case of:

    m_emitCLLSEI = p->maxCLL || p->maxFALL || (p->dolbyProfile == 81);
    

    This looks inconsistent with the documentation of 'hdr' parameter and others. Perhaps m_emitCLLSEI is not needed, or m_emitCLLSEI should be set to true also in case of 'hdr'

    I don't think the maxCLL/FALL=0 should be allowed as specific to dolbyProfile == 81 overall.

  2. Pradeep Ramachandran Account Deactivated

    Thanks for the report. This changeset (fef63866bb60) was the culprit; we introduced emit-hdr-sei cli option to force emitting these even when max-cll or max-fall were 0. I have backed out the changeset now (changeset 636258ebc7a9) and pushed it. Can you please confirm if things are ok?

  3. Log in to comment