AcademySoftwareFoundation / AcademySoftwareFoundation/EncodingGuidelines

Perceptual difference between `scale` and `zscale` after the OCIO filter

Open Beginner friendly
#120 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dockerfile
Stars
55
Forks
8
PR merge metrics
No merged PRs in 30d

Description

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 -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`](https://github.com/johnjoumaa/EncodingGuidelines/commit/0ca5457c3ad7a989aa77c7b59ffed3068f458940) 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!

Contributor guide

Open the contributing guide

Research direction

Start with FfmpegOcio.md and compare its existing scale-based guidance with the linked ffmpeg-ocio-zscale-command commit. Confirm the zscale note and alternate examples accurately reflect the reported difference, and consider the documentation complete when those additions are incorporated and the examples remain consistent with the existing guidance.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.