Welcome to our community

Be a part of something great, join today!

  • Hey all, just changed over the backend after 15 years I figured time to give it a bit of an update, its probably gonna be a bit weird for most of you and i am sure there is a few bugs to work out but it should kinda work the same as before... hopefully :)

So... how do I do it?

Hm, I hope I don't get in trouble for this.
While at NAB at one of the demos I was present, I overheard couple of manufacturers talking. First, one complained of being screwed by another manufacturers, that had decided to break the rules and do ARRI RAW debayer in strictly GPU, which was expressly prohibited, but they did it anyway. They demoed ARRIRAW debayer in real time with only GPU. Then another manufacturer complained about the same thing with RED. They even said, that they had managed to do an almost real time debayer of Red RAW without technically breaking the GPU rule, but apparently it was just a clever trick. Something about multiple copies of libraries... I'm not an engineer, so I have no idea what that means. Anyway, they had mentioned, that it was very difficult to have a conversation with Gramme about any kind of SDK implementation, other than Red's way. I guess, it's not that surprising:-) But now I'm curious, Gramme, is it possible to do debayer in GPU?:-)

ARRI views their RAW debayer process the same as RED -- they want control and want to provide the tools that perform the debayer process. The primary reason behind this is to guaranty the same results and quality within any application that debayers their footage. If you remember back to the early days, circa NAB '08, companies like CineForm were attempting to deconstruct R3D files and provide their own debayer tools, even though Jim had asked everyone not to. Others were mostly doing this out of desperation to release new products and they did not want to wait around for the SDK. But there are a few side effects to this approach. First and foremost, not being officially supported by RED, inconsistent quality of debayer from different software creators, software that breaks every time the format gets updated, etc.. ARRI is going through many of these pains right now.

As for the GPU support, yes it's possible to debayer on a GPU. But frankly, it's best not to. GPUs are always in a constant state of flux with new products and core processor designs. If you optimize for CUDA on the GT-2xx platform, it may run dog-slow under CUDA on Fermi. If you want to support more GPUs, or anything other than nVidia, you have to use OpenCL, which has its own share of quirks and issues. Or you can forego both standardized GPU APIs and hit the metal yourself... Which no one in their right mind is going to even think of attempting. Not with dozens of GPU flavors commonly in use today.

Keeping the debayer process based on the CPU makes a lot more sense. It's more stable and has more room to scale with newer CPUs and increased numbers of cores. The RED SDK is rather simple and straight-forward, it's pretty darn easy to integrate R3D support into a new application and not so bad adding it to existing applications, if your software is written in a way to add new formats without breaking everything else. The big problem I currently see with R3D integration is not the CPU-based debayer process, it's the software developers' continued misunderstanding multithreaded design. Adobe is getting it and we're seeing some pretty good performance out of MPE. Looks like Apple is finally stepping into the current era with FCP-X. Avid? Uh, well, MC5 barely scales efficiently between two CPU cores, so who knows... Current i7-based (or Westmere Xeon based) systems should be able to play back 4K REDCODE in real-time and still have some resources left to spare, if multithreaded playback is decently written. I wrote a simple R3D player app when I first got the SDK and it gave me real-time playback at half-res high scaled to 2K on an '08 Mac Pro 2.8GHz quad-core. Of course, that was just playback and nothing else going on and not particularly optimized, just written as part of a few tests to get my head around the SDK when they released it. I just used the standard Mac GDI and didn't touch any of the Core libraries or OpenGL for performance.

GPU could still be used for a lot of operations that take place after the debayer process. This happens on a small scale with REDCINE-X. Adobe is using the GPU within MPE for colorimetry, GPU-accelerated FX, scaling and transformation options, etc.. In fact, it's pretty easy to saturate the GPU in CS5 what what it supports -- best to keep all those CPU cores under the hood churning away on the decompression, decoding and/or debayer of your footage. There is a lot going on in MPE and even with all that is going on, I can cut 2 or 3 streams of 4K REDCODE quite comfortably on a Macbook Pro or similar system and not feel like I've got the system pushed to the max.

As for the other post comments, etc.. I see that too, especially regarding colorists. I've been essentially repeating what RED has been saying since the beginning. Think of R3D as your film neg. You want to stay RAW as long as possible. Avoid REC-709, there's a reason you now have to specifically turn it on in the advanced options within RC-X. Don't transcode to DPX at the start of your color workflow. In fact, don't use DPX at all unless you have support for 16bit log DPX. 10bit DPX is so 2008 at this point. And I personally waved goodbye to QT proxies and transcoding to edit for most of my projects about 2 years ago. I don't have the camera generate/record QT proxies in most situations. They just confuse most of my clients, who are PC based, and run Avid or Premiere.
 
ARRI views their RAW debayer process the same as RED -- they want control and want to provide the tools that perform the debayer process. The primary reason behind this is to guaranty the same results and quality within any application that debayers their footage. If you remember back to the early days, circa NAB '08, companies like CineForm were attempting to deconstruct R3D files and provide their own debayer tools, even though Jim had asked everyone not to. Others were mostly doing this out of desperation to release new products and they did not want to wait around for the SDK. But there are a few side effects to this approach. First and foremost, not being officially supported by RED, inconsistent quality of debayer from different software creators, software that breaks every time the format gets updated, etc.. ARRI is going through many of these pains right now.

As for the GPU support, yes it's possible to debayer on a GPU. But frankly, it's best not to. GPUs are always in a constant state of flux with new products and core processor designs. If you optimize for CUDA on the GT-2xx platform, it may run dog-slow under CUDA on Fermi. If you want to support more GPUs, or anything other than nVidia, you have to use OpenCL, which has its own share of quirks and issues. Or you can forego both standardized GPU APIs and hit the metal yourself... Which no one in their right mind is going to even think of attempting. Not with dozens of GPU flavors commonly in use today.

Keeping the debayer process based on the CPU makes a lot more sense. It's more stable and has more room to scale with newer CPUs and increased numbers of cores. The RED SDK is rather simple and straight-forward, it's pretty darn easy to integrate R3D support into a new application and not so bad adding it to existing applications, if your software is written in a way to add new formats without breaking everything else. The big problem I currently see with R3D integration is not the CPU-based debayer process, it's the software developers' continued misunderstanding multithreaded design. Adobe is getting it and we're seeing some pretty good performance out of MPE. Looks like Apple is finally stepping into the current era with FCP-X. Avid? Uh, well, MC5 barely scales efficiently between two CPU cores, so who knows... Current i7-based (or Westmere Xeon based) systems should be able to play back 4K REDCODE in real-time and still have some resources left to spare, if multithreaded playback is decently written. I wrote a simple R3D player app when I first got the SDK and it gave me real-time playback at half-res high scaled to 2K on an '08 Mac Pro 2.8GHz quad-core. Of course, that was just playback and nothing else going on and not particularly optimized, just written as part of a few tests to get my head around the SDK when they released it. I just used the standard Mac GDI and didn't touch any of the Core libraries or OpenGL for performance.

GPU could still be used for a lot of operations that take place after the debayer process. This happens on a small scale with REDCINE-X. Adobe is using the GPU within MPE for colorimetry, GPU-accelerated FX, scaling and transformation options, etc.. In fact, it's pretty easy to saturate the GPU in CS5 what what it supports -- best to keep all those CPU cores under the hood churning away on the decompression, decoding and/or debayer of your footage. There is a lot going on in MPE and even with all that is going on, I can cut 2 or 3 streams of 4K REDCODE quite comfortably on a Macbook Pro or similar system and not feel like I've got the system pushed to the max.

As for the other post comments, etc.. I see that too, especially regarding colorists. I've been essentially repeating what RED has been saying since the beginning. Think of R3D as your film neg. You want to stay RAW as long as possible. Avoid REC-709, there's a reason you now have to specifically turn it on in the advanced options within RC-X. Don't transcode to DPX at the start of your color workflow. In fact, don't use DPX at all unless you have support for 16bit log DPX. 10bit DPX is so 2008 at this point. And I personally waved goodbye to QT proxies and transcoding to edit for most of my projects about 2 years ago. I don't have the camera generate/record QT proxies in most situations. They just confuse most of my clients, who are PC based, and run Avid or Premiere.
Isn't RR a GPU device?
I'd seen reports of RR having an inferior debayer quality in comparison to CPU, but that doesn't deter people from using RR.
 
10bit DPX is what all Arri Film recorders take, they do not take 16bit Log DPX as far as I know.

With any shots need VFX work you have to transcode as there is no way to composite in RAW and save in RAW.
CPU deybayer is much finer then with the RR. You can also denoise with the CPU which the RR does but does differently and in my opinion not as good as CPU.

DPX is still a valid format which yields outstanding results.
 
Isn't RR a GPU device?
I'd seen reports of RR having an inferior debayer quality in comparison to CPU, but that doesn't deter people from using RR.

Yes, I suppose you could call it a "GPU", but it's also purpose-specific for dealing with R3D data. Not an off the shelf GPU from a third-party. There have been intermittent issues reported with inconsistencies between software and RR debayer as everything has developed. Seems pretty consistent and stable lately.

10bit DPX is what all Arri Film recorders take, they do not take 16bit Log DPX as far as I know.

I'm not up to speed on the latest film recorder options, so don't know. I would be surprised if their latest systems were still locked into 10bit space. That aside, if that's what it is for final delivery, that's one thing. What you most certainly don't want to be doing is pushing yourself into 10bit log space for grading and finishing when there are other better options. Just sayin'

With any shots need VFX work you have to transcode as there is no way to composite in RAW and save in RAW.

Yes, unfortunately that is the case. At some point here I would really like to see a working codec from RED. Perhaps the upcoming RGB-capable .RED format can also be used for this purpose and not just delivery. Or maybe they will have an intermediate codec too. I do 32bit TIFF or EXR here for VFX work. As much as I preach the RAW mantra, as soon as you extract that first roto shape or start building composites, you have transcended your RAW original.
 
Last edited:
Actually I don't want "RAW" even in the primary. I want float RGB. Definitely for he secondary... Wha would be nice though, is he ability to set different metadata for specific purposes in a project. Like having a "general" development, while still accessing the RAW file and set optimised metadata for mattes (if I don't want to use the general development for those purposes).

That would be taking RAW to a new level, while still keeping the clear advantages of RGB workflows for finnishing.

Think nodes where the metadata was a separate node which is not fixed to the file.

Cheers

G
 
Hm, I think you're onto something there Gunleik with the metadata tags.

But it seems to me that one can't really talk of using RAW data in a primary color correcting room (or tab or whatever) - color correctors are by their very nature in a color space. RAW footage needs to be debayered and interpreted into a color space before color correction can happen. Yes, in the first phase, the Red SDK enables us to adjust the FLUT and color temperature, etc., but I'm curious to hear if that adjustment is made AFTER it is interpreted into a color space or if it is more dynamic than that - ie is the RAW data debayered differently depending on Color temp, FLUT, etc. (Graeme?...)

But your question brings up an interesting idea - would there be any benefit to having a color space specifically designed to work in green screen or blue screen? You one might pull in the fill layer with redcolor2 and the matte layer with "VFXgreen" or something?

Working in AE>Colorista (though not a perfect solution by any means) does get one close to this: 32-bit float, lin color space and import settings custom to each clip that can be adjusted dynamically.

Actually, speaking of nodes, Nuke gets close to this, too, I think. And probably others that I am not as familiar with. It's an interesting data pipeline issue.

Thanks -
 
To be clear:

The mantra of working "RAW" is basically flawed... You record "RAW" you process "RGB".

One of the biggest FUs of the first incarnations of Color and Scratch RAW workflows, whas that the primaries were messing with the metadata, which led to bad results, even when the metadata was done "right".

It worked well, though, if you used the primary as a "technical pass" and started the grade in the scaffolds/secondaries...

We really want to have a fixed RGB signal in float out of the RAW data, but we could use some different focus of that data for different purposes... Without adding multiple instances of the original file.

well That would be RAW power... :-)

Signalchain is always the thing that makes the difference: What is done in which part of the processing...
 
One of the biggest FUs of the first incarnations of Color and Scratch RAW workflows, whas that the primaries were messing with the metadata, which led to bad results, even when the metadata was done "right".

Are you referring to metadata here as the debayer and color space settings that feed RGB to the color or Scratch or whatever?

As Graeme explained the Apple Color data path to me, I don't see how the Primary was getting anything other than a 16bit image file from the Red SDK...
 
Last edited:
Log images look ugly!

I actually really like the way RedlogFilm looks, it's has a lot of vibe and raw mojo! :)

I'm more of an audio guy getting into film now, but i must say on the r3d's i have seen, the redlogfilm feels very "analog" and gives me that warm and fuzzy feeling. You guys did a great job with this. :)
 
Are you referring to metadata here as the debayer and color space settings that feed RGB to the color or Scratch or whatever?

As Graeme explained the Apple Color data path to me, I don't see how the Primary was getting anything other than a 16bit image file from the Red SDK...

It does work diferently currently.

With the latest Color plug, Color is really working really very well with RAW...
 
Yes, unfortunately that is the case. At some point here I would really like to see a working codec from RED. Perhaps the upcoming RGB-capable .RED format can also be used for this purpose and not just delivery. Or maybe they will have an intermediate codec too. I do 32bit TIFF or EXR here for VFX work. As much as I preach the RAW mantra, as soon as you extract that first roto shape or start building composites, you have transcended your RAW original.
[/QUOTE]

Here is another way of dealing with sending RAW to VFX and back.
http://reduser.net/forum/showthread...seriously-quot&p=750900&viewfull=1#post750900
Assimilate, FilmLight and BM all are talking to Foundry. I wonder why?:-)
 
I would alter two things... 1st, agree with REDlogFilm (the improved version of REDlog) and 2nd, use REDcolor2 instead of CameraRGB. REDcolor2 corrects the sensors color imperfections. Adjust Saturation to taste and then hit the render button.

Jim

When we started doing this on an NBC show I was working on (after finding out the workflow had changed without myself or the DP knowing), grading an episode took about 25% of the time it did with the original workflow. I set the Color Temp and Tint value on set after capture, set RLF and RC2 and everything worked like a charm.

Tim
 
Mark, if you want to use cameraRGB you've decided that you want to handle colorimetry yourself. You may like the look of it for aesthetic reasons, but I'd not advise using it - you'll get much more accurate colours to start grading from if you use REDColor2. There is also no reason not to use REDLogFilm either.

Graeme

Hi Graeme,
Because your the most consistent at red with tech knowledge and I completely respect your advice. You can consider me in REDLOGFILM and REDGAMMA2 from now on in.

Ill post you some cool stuff very soon. (we are on an EPIC job as I speak) ... actual.. not shooting on EPIC.. just the job is EPIC.

Actually don't get me started on EPIC!!!!
oooh.. and if you know any one with an EPIC (M) thats just playin with it like a toy, I'll gladly take care of your real world beta testing for you :)

Cheers.
 
Actually I don't want "RAW" even in the primary. I want float RGB. Definitely for he secondary... Wha would be nice though, is he ability to set different metadata for specific purposes in a project. Like having a "general" development, while still accessing the RAW file and set optimised metadata for mattes (if I don't want to use the general development for those purposes).

That would be taking RAW to a new level, while still keeping the clear advantages of RGB workflows for finnishing.

Think nodes where the metadata was a separate node which is not fixed to the file.

Cheers

G

Agreed!
 

Here is another way of dealing with sending RAW to VFX and back.
http://reduser.net/forum/showthread...seriously-quot&p=750900&viewfull=1#post750900
Assimilate, FilmLight and BM all are talking to Foundry. I wonder why?:-)[/QUOTE]

I would rephrase that to to say here's another possible way at some point to be determined in the future. The plugin does not exist yet, except inside Filmlight, and will not be finalized or ship for some time.

In all if my years of attending NAB - and I've been to a LOT of them - I still don't understand why people think things they see there are real, tested, and immediately available when that has never been the case.
 
I would rephrase that to to say here's another possible way at some point to be determined in the future. The plugin does not exist yet, except inside Filmlight, and will not be finalized or ship for some time.

In all if my years of attending NAB - and I've been to a LOT of them - I still don't understand why people think things they see there are real, tested, and immediately available when that has never been the case.
I did say that in so many words, Mike:-) I point that out in my earlier post, that it's just a demonstration technology and a work in progress. Here it is:
http://reduser.net/forum/showthread...seriously-quot&p=750791&viewfull=1#post750791
 
Mike & Jake, I think both of you share the same vision. You just express it in different way ;-)

JMHO.
 
They stay in REDCODE RAW as long as possible. Whether you use REDCINE-X or Pablo, stay in REDCODE RAW until the very end. Don't make DPX files 1st and then grade. Limiting the color space, range and white balance right off the bat is not a good thing. Don't do it. This is true if the final output is a DCP package or a film print. For VFX... use Log space and 16 bit EXRs. The very LAST thing you should do for a DCP output is make DPX files.

Jim
Sorry, but I need to ask, I'm a bit confused...

On RED's website, the recommended RED/Adobe workflow is all about DPX for finishing (See page 3).

Is the Adobe workflow just old and therefor should be ignored ?

Thanks for clarifying this one. :-)
 
Back
Top