How can I work with full-range ProRes files in Final Cut? It is broken ATM.

How to work with full-range ProRes files in FCP

Importing ProRes into FC is difficult because several choices are left out.

Importing a full-range 10 bit file with values from 0 - 1023

This is interpreted as being around -10 to 110 IRE. Camera LUTS that rely on the full range to do their thing correctly, when applied clip the signal at 0 and 100 IRE. This is wrong on so many levels.

Is there a way to tell FC to accept full-range files and not force the "legal range" clipping behaviour?

Posted on Nov 28, 2025 5:19 AM

Reply
Question marked as Top-ranking reply

Posted on Nov 28, 2025 6:36 PM

ProRes 422 should normally be encoded and interpreted as video level, aka legal range, not data level aka full range. The licensed ProRes encoders I've seen normally do this. If the file was created by an unlicensed encoder such as FFMpeg and derivative implementations, then anything is possible.


However, there are licensed encoders, such as on Atomos devices, that give users a selectable option to encode at the video level vs. the data level. If the Atomos “legalize vs full” setting doesn’t match what the camera is sending and what post expects, you get a levels mismatch.


Likewise, if a post-production person mistakenly thinks a recording is at the wrong level and (without proper inspection and understanding) changes the level, that could burn in a multiply-stacked incorrect encoding level.


There is another set of issues related to some log formats such as S-Log3 that Sony defines as data levels, yet they are sometimes placed inside a ProRes 422 container which is traditionally defined as video levels. It is further complicated by the levels spec itself being contaminated by an error in an early version that has led to two different level metadata values, one at the essence level and one at the container level.


Looking at an NLE waveform is not always reliable when checking levels. If it shows (say) 109 IRE, that doesn't mean the file is encoded for that. It could instead be incorrect metadata influencing the waveform depiction. The waveform shows the signal as interpreted by the NLE, after it’s already made a decision about whether the clip is legal or full (and after any color management). So you can’t reliably infer the original encoding just from what NLE scopes show.


It's better to examine the code values using a tool like QCTools or a Nobe OmniScope. QCTools is free and can scan the file and present the high and low code values, which, when combined with examining the file metadata with MediaInfo, enable insight into whether the file is properly encoded.


In FCP if you have a ProRes file that seems recorded at the wrong level, you can compensate from full to video or video to full using the free Leeming LUTs designed for this. Those can be located by Googling "leeming lut fixie". Those are 64-point 3D LUTs.


That said, level-shifting LUTs can be a band-aid, not a root-cause fix. It's better to have a DIT, video engineer or experienced post-production person trace the problem back to the source: camera output settings, recorder legal/full toggle, and NLE project/color-management configuration. Otherwise, you risk shipping files where the metadata claims one thing, the actual numbers do another, and multiple “compensations” have been baked in on top of each other.


If the situation is not a downstream flow from ingest to editorial to VFX, but an upstream flow from VFX back to editorial, that is generally in an NLE-friendly format such as ProRes 4444/4444 XQ that FCP can play without issue.


The definitions for the assets that flow down and up the pipeline should be determined by a written spec. That spec is informed by other longstanding common practices. E.g, ARRI says: "Apple specifies that ProRes should be legal range. Our tests have shown that an extended range ProRes file can result in clipping in some Apple programs.” That is why ARRI cameras always encode ProRes (including 4444) in video levels, not data levels.


If the post-production workflow spec says: “ProRes 4444 XQ, Rec.2020 PQ, legal Y′CbCr,” then everyone lives in that world.


If the spec says “ProRes 4444 XQ, RGB, ACEScct, full-range,” then editorial/grade know that in advance and get configured accordingly.


But nothing should ever come back from VFX in some non-specified format that leaves editorial to deal with it. If it's not in the right format, then editorial talks to VFX to work that out.


3 replies
Question marked as Top-ranking reply

Nov 28, 2025 6:36 PM in response to Amotilos

ProRes 422 should normally be encoded and interpreted as video level, aka legal range, not data level aka full range. The licensed ProRes encoders I've seen normally do this. If the file was created by an unlicensed encoder such as FFMpeg and derivative implementations, then anything is possible.


However, there are licensed encoders, such as on Atomos devices, that give users a selectable option to encode at the video level vs. the data level. If the Atomos “legalize vs full” setting doesn’t match what the camera is sending and what post expects, you get a levels mismatch.


Likewise, if a post-production person mistakenly thinks a recording is at the wrong level and (without proper inspection and understanding) changes the level, that could burn in a multiply-stacked incorrect encoding level.


There is another set of issues related to some log formats such as S-Log3 that Sony defines as data levels, yet they are sometimes placed inside a ProRes 422 container which is traditionally defined as video levels. It is further complicated by the levels spec itself being contaminated by an error in an early version that has led to two different level metadata values, one at the essence level and one at the container level.


Looking at an NLE waveform is not always reliable when checking levels. If it shows (say) 109 IRE, that doesn't mean the file is encoded for that. It could instead be incorrect metadata influencing the waveform depiction. The waveform shows the signal as interpreted by the NLE, after it’s already made a decision about whether the clip is legal or full (and after any color management). So you can’t reliably infer the original encoding just from what NLE scopes show.


It's better to examine the code values using a tool like QCTools or a Nobe OmniScope. QCTools is free and can scan the file and present the high and low code values, which, when combined with examining the file metadata with MediaInfo, enable insight into whether the file is properly encoded.


In FCP if you have a ProRes file that seems recorded at the wrong level, you can compensate from full to video or video to full using the free Leeming LUTs designed for this. Those can be located by Googling "leeming lut fixie". Those are 64-point 3D LUTs.


That said, level-shifting LUTs can be a band-aid, not a root-cause fix. It's better to have a DIT, video engineer or experienced post-production person trace the problem back to the source: camera output settings, recorder legal/full toggle, and NLE project/color-management configuration. Otherwise, you risk shipping files where the metadata claims one thing, the actual numbers do another, and multiple “compensations” have been baked in on top of each other.


If the situation is not a downstream flow from ingest to editorial to VFX, but an upstream flow from VFX back to editorial, that is generally in an NLE-friendly format such as ProRes 4444/4444 XQ that FCP can play without issue.


The definitions for the assets that flow down and up the pipeline should be determined by a written spec. That spec is informed by other longstanding common practices. E.g, ARRI says: "Apple specifies that ProRes should be legal range. Our tests have shown that an extended range ProRes file can result in clipping in some Apple programs.” That is why ARRI cameras always encode ProRes (including 4444) in video levels, not data levels.


If the post-production workflow spec says: “ProRes 4444 XQ, Rec.2020 PQ, legal Y′CbCr,” then everyone lives in that world.


If the spec says “ProRes 4444 XQ, RGB, ACEScct, full-range,” then editorial/grade know that in advance and get configured accordingly.


But nothing should ever come back from VFX in some non-specified format that leaves editorial to deal with it. If it's not in the right format, then editorial talks to VFX to work that out.


Nov 29, 2025 4:37 AM in response to Amotilos

Thanks for the detailed write-up, but this doesn’t really address the core problem.


The issue isn’t whether some ProRes encoders historically default to legal range. The issue is that Final Cut Pro still cannot ingest or interpret full-range ProRes without silently clipping it at 0–100 IRE—even when the file is valid, intentional, and widely used in current workflows.


This is not an edge case or a user error. This is a well-known limitation that major DPs, colorists, and workflow engineers have been pointing out for years. Cameras and recorders in 2025 routinely output full-range ProRes for a very simple reason: it preserves more data. That’s the entire purpose of ProRes as a mezzanine/high-quality intermediate format.


Saying “ProRes should be legal range” is basically repeating an analog-era convention that makes no technical sense anymore.

Resolve handles full-range ProRes.

Premiere handles full-range ProRes.

Nuke, Baselight, Assimilate, Scratch—no problem.


FCP alone forces a legacy video-range interpretation and provides no user override. That’s the real problem. You can verify it easily: the moment you apply a LUT that expects full-range values, FCP clips because the import pipeline itself is compressing and clipping before the LUT ever sees the data.

A 64-point “fixie” LUT is not a solution—it’s a workaround for a missing feature.


The point is simple:

Final Cut Pro should allow users to specify whether a ProRes source is full or legal range.

Every modern NLE does.

Apple doesn’t.


This isn’t a metadata issue, or a camera/DIT error, or a lack of pipeline understanding. It’s a missing option in FCP that plenty of professionals have been asking for, because in 2025 full-range ProRes is normal.

It would be helpful if Apple simply acknowledged this limitation instead of treating full-range sources as “wrong” or “non-standard.” They aren’t. They’re standard everywhere except in FCP.


Please help me escalate this to the developers.

Nov 28, 2025 6:16 AM in response to Amotilos

I've researched and found that Apple for nearly 20 years have refused to add a simple checkbox for ProRes Full Range Y/N - assuming that all PRoRes users would limit themselves to "legal range" which only is relevant in DISTRIBUTION and not in the creative pipeline. And why promote ProRes 4444 etc as a consumer distribution format?? The only format that accepts a full range is ProRes Raw. So I understand that I'm left high and dry.

I'm seing this "dumbing down" of Apple software everywhere. From the office suite to web tools. The only beacon of hope is the Logic developers - they seem to manage. I'm so very disappointed.



How can I work with full-range ProRes files in Final Cut? It is broken ATM.

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.