• Steven Robertson's avatar
    avcodec/dnxhddec: Do not overwrite colorspace if the container has set it. · c6a905b9
    Steven Robertson authored
    The existing logic overrides container metadata even in cases where the
    container metadata must be trusted (e.g. HDR). The original spec had no
    provision for specifying color volume, so many files rely on the
    assumption of Rec. 709.
    
    An update to the spec included a 'clv' field for explicitly signaling
    that the container should be trusted in an existing bitfield in the
    frame header, but the default of 0 from old encoders forces Rec. 709,
    which would break any HDR stream. Because there is no place in DNxHR for
    specifying a transfer function, DNxHR HDR files must include
    container-level color information.
    
    This patch maintains the existing behavior of choosing the 709 over the
    601 matrix when container-level information is missing, and allows
    container-level information to win if present.
    Signed-off-by: 's avatarSteven Robertson <steven@strobe.cc>
    Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    c6a905b9
dnxhddec.c 25.2 KB