MrKepzie / Natron

Open-source compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
www.natron.fr
GNU General Public License v2.0
1.49k stars 163 forks source link

Request: new node to separate color space #78

Closed adallafontana closed 9 years ago

adallafontana commented 10 years ago

RGB to YUV YUV to RGB

RGB to YCrBr YCrBr to RGB

devernay commented 10 years ago

What's the motivation behind this? OpenFX only supports RGB anyway, so such conversions are usually handled by readers/writers.

fPaglia commented 10 years ago

it could be useful for color restoration on matte that hard to pull. For example converting the color from a RGB to YUV enable us to do some trick on color of the edges leaving unchanged the luminance.

2014-07-03 12:33 GMT+02:00 Frédéric Devernay notifications@github.com:

What's the motivation behind this? OpenFX only supports RGB anyway, so such conversions are usually handled by readers/writers.

— Reply to this email directly or view it on GitHub https://github.com/MrKepzie/Natron/issues/78#issuecomment-47890806.

Francesco Paglia Vfx and Production Supervisor

mobile +39 347.82.12.473 e-mail f.paglia.80@gmail.com

adallafontana commented 10 years ago

yes Francesco, for restore 4:2:0 but also for 4:2:2. Or for create some kind of masks, ...or sharp the Y but not the chroma....

fPaglia commented 10 years ago

yes, I just wrote the first example that passed through my mind :) There could be much more application... like the one said by you

2014-07-03 16:17 GMT+02:00 adallafontana notifications@github.com:

yes Francesco, for restore 4:2:0 but also for 4:2:2. Or for create some kind of masks, ...or sharp the Y but not the chroma....

— Reply to this email directly or view it on GitHub https://github.com/MrKepzie/Natron/issues/78#issuecomment-47935182.

Francesco Paglia Vfx and Production Supervisor

mobile +39 347.82.12.473 e-mail f.paglia.80@gmail.com

blackearth2014 commented 10 years ago

FPaglia has a very good point. You won't always have good footage to pull keys from in 4.2.0 or 4.2.2 color sampling. Most codec are heaving in compression. When you are filming a green screen in AVCHD or MPEG formats your edges are smeared. Having a converter that goes from RGB to YUV and vice versa is mandatory. You apply a blur of 2 to 4 pixels to the U and V channels then you convert that from YUV to RGB. Your edges will look a lot smoother when you do an edge matte for lightwrap. Even the mighty Nuke has this feature. We can't always assume that everybody will have great uncompressed footage and thats why those tools are necessary.

See attached images.

colorspace_convertion

This is the Nuke Setup to show the need for the colorspace conversion on compressed material.

nukecolorspaceconversion

devernay commented 10 years ago

I understand the need for YUV conversion.

Does TuttleColorspace do the job for you? The TuttleOFX people are color specialists (of Mikros Imaging fame), you can blindly faith anything they do color-wise.

do you expect to also be able to visualize YUV images?

see also why YUV support was deprecated in OFX: http://openeffects.org/standard_changes/214

blackearth2014 commented 10 years ago

I don't need this feature specifically. I was just showing an example for newbies who still using files from that colorspace. But what can help solve this edge problems is dialate/erode node that does a good matte choking.

adallafontana commented 10 years ago

"Does TuttleColorspace do the job for you? The TuttleOFX people are color specialists (of Mikros Imaging fame), you can blindly faith anything they do color-wise."

Hummmm..... I have tried Tuttle on Mac, for me the only way for see Tuttle on Natron UI now, yes TuttleColorSpace should to convert in YCrBr and other spaces (...if works, not on my mac now), but is too complicate. For me the best node based compositing software remains Shake, simple nodes, one, two parameters, but if you are a good compositor can do almost all without plugins, with some more nodes but without bugs, version problem, etc..... Natron seems a very good project but for now is based to much on external plugin. The core must have the essential, plugins for me are over this.

blackearth2014 commented 10 years ago

Hi,

Using the OpenFX plugin architecture is what makes Natron so great. It is not a closed format. The Natron developers can spend more productive hours on its core engine or kernel. It is important to have solid core for inputs and outputs for your composite. The plugins in my opinion are important by secondary. Plugins aren't worth anything is the core app engine has limited abilities or buggy.

Anyone with good coding skills and imaging signal processing knowledge can write good OpenFX plugins.

The Natron engine is 100% compatible and built on the OpenFX API. Therefore, any OpenFX plugin would not be considered as external, just open for all to learn and enjoy.

Just my 2 cents.

This is your season Omar Brown Blessed House Media

On Jul 4, 2014, at 11:49 AM, adallafontana notifications@github.com wrote:

"Does TuttleColorspace do the job for you? The TuttleOFX people are color specialists (of Mikros Imaging fame), you can blindly faith anything they do color-wise."

Hummmm..... I have tried Tuttle on Mac, for me the only way for see Tuttle on Natron UI now, yes TuttleColorSpace should to convert in YCrBr and other spaces (...if works, not on my mac now), but is too complicate. For me the best node based compositing software remains Shake, simple nodes, one, two parameters, but if you are a good compositor can do almost all without plugins, with some more nodes but without bugs, version problem, etc..... Natron seem a good project but for now is based to much on external plugin. The core must have the essential, plugins for me are over this.

— Reply to this email directly or view it on GitHub.

MrKepzie commented 10 years ago

Wouldn't say it better myself! On Jul 4, 2014, at 6:33 PM, Omar Brown notifications@github.com wrote:

Hi,

Using the OpenFX plugin architecture is what makes Natron so great. It is not a closed format. The Natron developers can spend more productive hours on its core engine or kernel. It is important to have solid core for inputs and outputs for your composite. The plugins in my opinion are important by secondary. Plugins aren't worth anything is the core app engine has limited abilities or buggy.

Anyone with good coding skills and imaging signal processing knowledge can write good OpenFX plugins.

The Natron engine is 100% compatible and built on the OpenFX API. Therefore, any OpenFX plugin would not be considered as external, just open for all to learn and enjoy.

Just my 2 cents.

This is your season Omar Brown Blessed House Media

On Jul 4, 2014, at 11:49 AM, adallafontana notifications@github.com wrote:

"Does TuttleColorspace do the job for you? The TuttleOFX people are color specialists (of Mikros Imaging fame), you can blindly faith anything they do color-wise."

Hummmm..... I have tried Tuttle on Mac, for me the only way for see Tuttle on Natron UI now, yes TuttleColorSpace should to convert in YCrBr and other spaces (...if works, not on my mac now), but is too complicate. For me the best node based compositing software remains Shake, simple nodes, one, two parameters, but if you are a good compositor can do almost all without plugins, with some more nodes but without bugs, version problem, etc..... Natron seem a good project but for now is based to much on external plugin. The core must have the essential, plugins for me are over this.

— Reply to this email directly or view it on GitHub. — Reply to this email directly or view it on GitHub.

blackearth2014 commented 10 years ago

The TuttleFX are find, but seems to be limited. I think that there should be an expansion to the shuffle node. Something like a separate and combined node. The read node brings everything in as RGB. You can have a YCrCb or YUV separate nodes to process each channel individually. Then have a YCrCb or YUV combine node that converts back to RGB internally. You will have far more flexibility.

This is your season Omar Brown Blessed House Media

On Jul 4, 2014, at 11:49 AM, adallafontana notifications@github.com wrote:

"Does TuttleColorspace do the job for you? The TuttleOFX people are color specialists (of Mikros Imaging fame), you can blindly faith anything they do color-wise."

Hummmm..... I have tried Tuttle on Mac, for me the only way for see Tuttle on Natron UI now, yes TuttleColorSpace should to convert in YCrBr and other spaces (...if works, not on my mac now), but is too complicate. For me the best node based compositing software remains Shake, simple nodes, one, two parameters, but if you are a good compositor can do almost all without plugins, with some more nodes but without bugs, version problem, etc..... Natron seem a good project but for now is based to much on external plugin. The core must have the essential, plugins for me are over this.

— Reply to this email directly or view it on GitHub.

adallafontana commented 10 years ago

"Anyone with good coding skills and imaging signal processing knowledge can write good OpenFX plugins."

Omar I have tested Tuttle on Mac Maverick and now on Ubuntu 14.04 with Natron and also on Buttle, works 1 nodes on 10, if is so simple why I can't find on line one free Gaussian Blur node that works: I write myself the PixelShaderFX for Lightworks, for convert RGB2YUV just 15 lines of code, I can compile on Lightworks on all system, this is my concept of simple. I take a look to the OFX API and are not so simple for me, but I'm not a developer just a VFX artist.

Anyway I understand the filosophy of Natron, wasn't clear in my brain, thanks.

blackearth2014 commented 10 years ago

That's cool that you were able write some code for lightworks. I use that software for both my Mac and PC primarily. The thing is about pixel shader programming is that it is base on the graphics card being used. NVidia and ATI are the main developers of graphics cards that uses the pixel shader language and they may differ based on the card. OpenFX API is not like the pixel shader programming and maybe far from it. OpenFX is CPU compiled with with ability to be hardware excelled.

No disrespect to you and your coding skills, but OpenFX does require some kind of imaging science background. TuttleFX and ButtleFX were based on digital imaging and computer vision scientist students project using the OpenFX API.

Major effects companies are investing time in this OpenFX product because in the long run, it will be cheaper to develop for cross platform. OpenFX is still new to the market compared to Adobe and Avid effects. We need more passionate programmers who are willing to take on this API. Then later we will see the rewards of their work.

The Gaussian blur node you are looking for does exist in commercial packages unfortunately. In the TuttleFX node there is a blur node. You would just have to chain them together by applying an increased value of blur to the lower value of blur to try to simulate the effect.

You can use the shuffle node to output a channel and blur that channel. Connect the output of the blur channel and pipe that to another shuffle nodes input with the non blured image on the B input. Just have the A input channel swap with B input channel. See if that helps. It may not. But that is what so great about OpenFX, you are not limited in the level of processing.

I am no programmer either and far from it. I am just an editor, videographer and musician. I hope one day I can just look through the code and spot bugs in the code like you do.

Just my 2 cents.

This is your season Omar Brown Blessed House Media

On Jul 4, 2014, at 3:53 PM, adallafontana notifications@github.com wrote:

"Anyone with good coding skills and imaging signal processing knowledge can write good OpenFX plugins."

Omar I have tested Tuttle on Mac Maverick and now on Ubuntu 14.04 with Natron and also on Buttle, works 1 nodes on 10, if is so simple why I can't find on line one free Gaussian Blur node that works: I write myself the PixelShaderFX for Lightworks, for convert RGB2YUV just 15 lines of code, I can compile on Lightworks on all system, this is my concept of simple. I take a look to the OFX API and are not so simple for me, but I'm not a developer just a VFX artist.

Anyway I understand the filosophy of Natron, wasn't clear in my brain, thanks.

— Reply to this email directly or view it on GitHub.

adallafontana commented 9 years ago

I think you can close this, with new nodes RGB2LAB, LAB2RGB etc.... I believe we could be happy.