fbpx
3 Post Moderation Rule for New Boarders (25 Jan 2021)

New boarders will have their posts moderated - Don't worry if you cannot see your post immediately.

ProRes Banding in Quicktime Player - Not in Motion or FCPX

More
24 May 2013 07:10 - 24 May 2013 07:57 #26242 by Doug Suiter
I just spent three hours troubleshooting an issue with Banding GFX coming out of Motion 5 to use with FCPX.

VERY long story short: If I open the renders in Quicktime banding is visible in areas of shallow gradient. By default the renders open in Quicktime and for hours I tried to trouble shoot the export process. However, I found by accident that if i brought those renders into FCPX or Motion, the banding was non-existant and on the same files that showed banding in QT. I did have to set playback to High Quality in the FCPX playback preferences but there are no such preferences in QT.

I guess what I'm asking is - what on Earth is going on here? Any theories or even better - knowledge?

Here is a small (5 frame) 1080 ProRes HQ render - 2.5 MB. If you open in in QT you should see banding. Then try opening it in Motion or FCPX and see what happens.

www.fcptalent.com/uploads/images/sample.mov

Thanks :)

PS - if your interested here are some images of a simple gradient as a demo of what I mean... They are large for clarity.

www.fcptalent.com/uploads/images/1.png
www.fcptalent.com/uploads/images/2.png
www.fcptalent.com/uploads/images/3.png
www.fcptalent.com/uploads/images/4.png
Last edit: 24 May 2013 07:57 by Doug Suiter.

Please Log in to join the conversation.

More
24 May 2013 11:08 #26246 by simonpwood
Try to open the movie in VLC as a control test first, just to see if its QT that is the problem or not.

Please Log in to join the conversation.

More
24 May 2013 11:24 #26248 by Doug Suiter
The banding is apparent in VLC - also in Premiere and After Effects. It seems to be apparent in anything except FCPX and Motion5

Please Log in to join the conversation.

More
24 May 2013 12:43 #26249 by Tom Wolsky
Not sure what you're trying to prove here. Internally Motion uses 32-bit float for calculations. ProRes 422 is 10-bit. It's almost impossible to get an absolutely clean, unbanded gradient like this with standard video bit depths. ProRes 4444 is 12-bit without transparency. Animation is lossless and can be any bit depth based on the original. Of course Animation is really a digital intermediate, and you can't deliver anything in it.

Please Log in to join the conversation.

More
24 May 2013 13:42 - 24 May 2013 13:44 #26253 by Doug Suiter

Not sure what you're trying to prove here.


Well... I'm not trying to 'prove' anything, I'm simply looking for an explanation.
Go ahead and create a gradient within Motion similar to what my images show. When exported to ProRes HQ at highest quality render settings you'll see banding in Quicktime Player.
Bring that same clip into After Effects or Premiere and you'll still see the banding.
However, bring that same clip back into Motion or FCPX (at highest playback settings) and the banding is no longer apparent - as in this image: www.fcptalent.com/uploads/images/4.png

Why would that be?
Last edit: 24 May 2013 13:44 by Doug Suiter.

Please Log in to join the conversation.

More
24 May 2013 14:28 #26254 by Tom Wolsky
The explanation is that the bit depth isn't sufficient for that fine a gradient. Increasing the data rate will not affect the bit depth. Applications that work internally at high bit depths like Motion and FCP won't show the banding, which is sort of deceptive as it will be there on output. A common way to treat this is to add a little noise to the image, which will break up the encoding and actually make the gradient look better.

Please Log in to join the conversation.

More
24 May 2013 14:47 #26255 by Doug Suiter
I understand what you are saying. And yet, this screen grab (linked below) seems to contradict what you are saying.

www.fcptalent.com/uploads/here.png

It is showing two gradients in a split screen exported as ProRes 422 from Motion. In the project, the top half of the screen is an animation codec clip. The lower half is a gradient produced by a Motion Generator. Both halves looked fine in Motion. Both halves look fine when exported as an Animation Mov. However when exported ProRes 422 (Highest Settings) the lower half shows banding. Only the lower half.

The point is that the upper half proves that ProRes 422 is perfectly sufficient for that fine a gradient.

The lower half suggests there is a problem somewhere else. The final twist is that if I bring that clip back into Motion or FCPX the lower half shows no banding. The banding remains in other application I have tried (VLC, Premiere and After Effects) on two different Macs.

I am having difficultly understanding why that could be.

Please Log in to join the conversation.

More
24 May 2013 15:01 #26256 by Tom Wolsky
Most likely this is happening because the Animation produced file is slightly different, and the way its processed by ProRes makes the banding less apparent, while the very clean gradient generated in Motion makes the banding more apparent.

I should also point out that the images you're posting are being scaled on your computer from their actual size, so there's no way to tell what artifacting that introduces on the screen.

Please Log in to join the conversation.

More
24 May 2013 15:26 - 24 May 2013 15:42 #26258 by Doug Suiter

Most likely this is happening because the Animation produced file is slightly different, and the way its processed by ProRes makes the banding less apparent, while the very clean gradient generated in Motion makes the banding more apparent.


I would agree that is clearly the case, and would say that's pretty much self evident. But that doesn't explain why it is happening.

Remember: the animation file was created with a generator in Motion to start with.

If a generator out put to ProRes cannot produce as clean a gradient as that very same generator output to Animation, brought back in to Motion and then re-output to ProRes then something is wrong. And really, it's not acceptable.

If ProRes itself is capable of rendering so fine gradient (as it clearly is as demonstrated by my screenshot) then this issue cannot be put down to the limitations of ProRes.

I should also point out that the images you're posting are being scaled on your computer from their actual size, so there's no way to tell what artifacting that introduces on the screen.


They have been posted actual size. My guess is they are being scaled in your browser. Perhaps right click, download as and inspect in Preview. In any case, I can reduce the scale to 25% and the artifacting difference is still clearly apparent.
Last edit: 24 May 2013 15:42 by Doug Suiter.

Please Log in to join the conversation.

More
24 May 2013 15:48 #26260 by Tom Wolsky
It's probably happening because Animation is a lossless codec it is compressing the video and introducing a tiny amount of noise.

I'm sorry the last image you posted clearly showed in the movie inspector that it was scaled in the QT player. The actual size is 1920x1080 and that was not the display size in QuickTime.

ProRes has its limitations, especially 422 and HQ. 4444 might work better.

Anyway I'm kind of done with this. Have a great day,

Please Log in to join the conversation.

More
24 May 2013 16:06 #26261 by Doug Suiter

The actual size is 1920x1080 and that was not the display size in QuickTime.


Really? ...scaling from 1920 horizontal to 1888 is going to produce artifacting that prevents you from seeing how clearly different the two rendered gradients are? That doesn't seem reasonable.

ProRes has its limitations, especially 422 and HQ. 4444 might work better.


I'm looking back at your comments.

The explanation is that the bit depth isn't sufficient for that fine a gradient.

I have demonstrated that is clearly is, yet your still saying "ProRes has its limitations, especially 422 and HQ. 4444 might work better."

This is not a ProRes limitation.

Anyway I'm kind of done with this. Have a great day,


I'm sorry you're "kind of done with this". It seems to me to be fundamentally important and a possible major issue.

Anyone else?

Please Log in to join the conversation.

More
25 May 2013 00:58 #26279 by Doug Suiter
Hi all - sorry the tone of this thread went a little south for a moment there.

I'd like to reset this conversation at this point because I think it's really important. I'm not up against a deadline, I'm just trying to get to the bottom of a troubling issue.

What we have is

• Motion seems to be unable to export a gradient in PreRes422HQ that PreRes422HQ has been demonstrated to be able to handle (so this is not a limitation of ProRes issue)
• Open the export in QT, After Effects, Premiere and all show the banding.
• Open the export in FCPX (high quality playback) or Motion and the banding is no longer there.


Here is a link to a copy of the Motion5 project so anyone who want to participate can and we all have the same gradient.

www.fcptalent.com/uploads/Testing.motn

PS - I am posting this in the FCPX forum and not Motion because the trouble is common to both apps (sharing the same render engine) but I am using Motion to demonstrate it because it's the clearest example.

Please Log in to join the conversation.

More
25 May 2013 08:39 #26290 by BenB
Gradient banding is a topic as old as digital video itself. 10-bit is just very limiting for gradients. Motion specifically has always had this banding issue. You're simply discovering what the rest of us found long ago. Not sure what else to tell you.

Please Log in to join the conversation.

More
25 May 2013 08:47 - 25 May 2013 08:47 #26293 by Seanus
Agree I've done outputs for big screen projection and was shocked to see so much banding in sunsets and the like in the QuickTime file after export. Then when I watched the footage on the big screen - not a trace.

I just go by what I see in FCP X nothing else.

Sean Lander - Editing since 1982 - AVID 1991 - FCP 1999 - FCPX 2011
Last edit: 25 May 2013 08:47 by Seanus.

Please Log in to join the conversation.

More
25 May 2013 09:19 #26296 by Doug Suiter
Thank you to everyone who has contributed so far.

To answer the following:

Gradient banding is a topic as old as digital video itself. 10-bit is just very limiting for gradients. Motion specifically has always had this banding issue. You're simply discovering what the rest of us found long ago. Not sure what else to tell you.

I have been aware of gradient limitation in various bit depth for many years. I am perfectly happy to accept that a codec may not be capable of rendering particularly fine gradients. But i have two concerns:

1. I have established that ProRes is definitely 100% capable of rendering the gradient shown in my example. I know this because if you export the gradient first in the animation codec, then transcode that to ProRes, it looks perfectly fine in QT. Therefore any explanation that attributes the banding to the limitations of ProRes cannot be correct. Am I wrong in that assessment? If so - how so? If Motion cannot export a gradient from it's generators that takes full advantage of the capabilities of ProRes to render the gradient this is not something we should accept. Apple should be made aware and should address it as a major issue.

2. The banding that shows up in QT, After Effects and Premiere does not show up in Motion And FCPX. This begs an explanation.

Seanus:

I've done outputs for big screen projection and was shocked to see so much banding in sunsets and the like in the QuickTime file after export. Then when I watched the footage on the big screen - not a trace.

So your final play-out to the big screen is via FCPX, not QT - correct?

Lastly...

I want to say that I am aware that any help given or shared on this forum is shared freely and in good faith. I appreciate your patience. Like anyone else, I don't know everything there is to know and I am 100% willing to be corrected on any of my assumptions, so thank you all again.

Please Log in to join the conversation.

More
25 May 2013 12:03 #26298 by Tom Wolsky
I think I have tried to offer you an explanation for this. Adding noise is a common solution for reducing banding on 8- and 10-but codecs. Animation, while a lossless codec, is nonetheless introducing some noise to the gradient. When this is re-encoded in ProRes the result is the apparent reduction in gradient banding at the expense of additional noise.

Once again I'm not clear on what your point is in this exercise. Some applications are 32-bit float internally and will appear very clean throughout the process until export, others are not.

Please Log in to join the conversation.

More
25 May 2013 12:55 #26300 by Doug Suiter
Thanks Tom - I just had a "Light Bulb Moment".

Previously i did not understand what you were trying to say and I took your references to adding noise to be a way to fix the issue rather than to explain the issue. My mistake.

Moving on:

Some applications are 32-bit float internally and will appear very clean throughout the process until export, others are not.


OK - please stay with me here - when I view the gradient (once a generator in Motion and now a ProRes Mov) in QT I am seeing banding. But if I bring that very same ProRes file back in to Motion or FCPX there's no banding. So it seems that ProRes is fine to render the gradient provided that it is being viewed in an application using 32 bit float.

Is that correct?

Please Log in to join the conversation.

More
25 May 2013 17:01 #26305 by Tom Wolsky
Right. Those are applications designed for production. I believe AE does it as well, 32-bit float internally, but doesn't display it, which is probably the way it should be.

Please Log in to join the conversation.

More
26 May 2013 00:29 - 26 May 2013 00:30 #26324 by Doug Suiter
Right!

I feel like I've really learned something in this thread and it has set me up to be able to understand things on a new level.

I hope it helps others too because I suspect many people who use Motion are not expert in the finer points of how different applications handle and display things.

OK, so finally I have to ask why it is that other applications - especially Quicktime Player - don't display in 32 bit float?

It is really what caused my confusion in the first place. Motion defaults to opening fresh renders in QT, which is (as you have described) displaying at a lower bit depth. This led me to the conclusion that Motion was exporting incorrectly, when in fact is was a limitation of QT not displaying at the bit depth Motion was. I'm sure others must be just as confused.

I feel after so much help in this thread I'd prefer to do my own research rather than keep bothering everyone ;) If anyone has any suggestions on good resources they can direct me to I'd be more than appreciative. Other than that, it's me and Google.
Last edit: 26 May 2013 00:30 by Doug Suiter.

Please Log in to join the conversation.

More
26 May 2013 12:32 - 26 May 2013 12:32 #26335 by Disproportionate Pictures
I've had success reducing banding in my Motion comps by Exporting lossless QT via Compressor. Apparently there's a bug where even if you export lossless via the native Motion exporter, banding persists.

Doing this, banding disappears in FCPX and is greatly reduced in my final output.
Last edit: 26 May 2013 12:32 by Disproportionate Pictures.

Please Log in to join the conversation.