Skip to content

Perceptual difference between scale and zscale after the OCIO filter #120

Description

@johnjoumaa

When following the FfmpegOcio.md guidance to convert from RGB (OCIO filter output) to YCbCr using the scale filter, I noticed a perceptible difference from the EXR source. Swapping scale for zscale resolved it and much closer to the source in my testing.

Example:

ffmpeg -y -framerate 24 -start_number <STARTFRAME> -i SOURCEFRAMES.%05d.exr \
   -c:v prores_ks -profile:v 1 -pix_fmt yuv422p10le \
   -vf "ocio=input=ACEScg:output=ACEScct:format=rgb48,zscale=matrix=709:primaries=709:primariesin=709:transfer=unspecified:transferin=unspecified:rangein=pc:range=limited" \
   -movflags +faststart+write_colr -vendor apl0 OUTPUTFILE.mov

I don't have CLA clearance setup yet, so sharing my branch here instead: ffmpeg-ocio-zscale-command on my fork, which adds a zscale note + alternate examples to FfmpegOcio.md alongside the existing scale-based ones. Happy to edit, have someone pick it up, or I can open the PR myself once CLA is sorted.

Let me know what your prefer,

Cheers!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions