fastcinemadng

Started by katrikura, February 22, 2017, 12:17:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

12georgiadis

Quote from: megapolis on August 27, 2018, 12:04:45 AM
@12georgiadis
Thanks a lot for your info. You can use my email from https://www.fastcinemadng.com/contacts/contacts.html
or you can send PM to me.
check on MLV app threads. Features have been implemented with FCPXML. Still some tests to do from Resolve => Pr CC / Avid MC to convert fcpxml to xml/aaf.

megapolis

@bouncyball
Yes, August has gone, but Linux solution is not yet ready. I'm sorry about that. I will let you know as soon as it's ready.

@12georgiadis
Thanks, I've read this thread. I will write here when we could do that.

megapolis

@12georgiadis
For your suggested workflow we need the following for testing: several MLVs, corresponding proxies, and fcpxml that you got from these proxies. Could you please send us several examples?

Kharak

Just downloaded latest v.0.2.5 - Win 8 64 bit

These are my "first" impressions/findings. A lot of this might come down to user error.

First of I cant import anything, when I click to find a file path, be it add files to project or change the 3D Lut Directory the program stops responding and I have to exit. I can basically only choose which features I want, set up the project, go to options and change anything except Path's.

The only way I get to play around with the program is by opening an old project from an older version (ver. from Early Summer) where I have a DNG sequence imported, sucks as its not a very flattering shot. But I cant figure out how to change the current project settings, seems like one cant change Project settings in existing projects. So to change settings I need to make a new project which will require me to import files again and that will crash the program.

I am very interested in importing an MLV to test out the MG debayering. So far I only have the DNG sequence to play with and that one is already converted from mlv_dump with Amaze. Now I am not sure if the Amaze debayering is baked in the DNG's and therefore applying MG Algorithm is messing with the image. I say this, because when watching the sequence in Fast CinemaDNG the Red Channel is messed up badly with round/circle Dots all over it. But when I export it again as DNG sequence and either preview a frame in Windows photo viewer or Resolve, the dots are gone, this is perhaps down to how Photo Viewer and Resolve debayer the DNG's.. I don't know. But I'd like to make a direct comparison between the output of MLV_dump and Fast CinemaDNG.
I also think the WB is skewed after exporting DNG, as the shot I am playing with is daylight WB so around 5500, but to get accurate WB I have to push it to 4800k in Resolve. (kinda like MLV App does when viewing MLV's).

I also tried De-noising to see if I could remove the dots in the red channel. Tried a combination of all the options, denoise, raw denoise etc.. It seems to help a little with the Dots but ends up being detrimental to the rest of the image. Also because the 5 vertical sliders dont have any information I am not entirely sure what they do, what is positive or negative value? As the Sliders start in a centered position, I can assume that the slider furthest to the left is High Frequency and furthest to the right is Low frequency as that is how the image seems to react, but cant be entirely sure. Also in the Common tab, with the two Wavelet Types I dont notice any difference, except a few ms in the benchmark, decomp level, higher is more aggresive?

Does Increasing Max Y. Treshold in Common make the increments finer or does it increase the power of the threshold?

The Help System is well categorized, but the Denoise info is confusing as it seems you've changed the names of the two denoise methods, also according the the embeded images in the Help Systems which have different names again than the Text ensues.
Quote
5.13  Denoising

in the software there are two denoising modules which could be applied independently. Both of them are wavelet-based, but the first one (RAW spatial denoiser) is applied for RAW data before demosaicing and the second one (RGB spatial denoiser) is applied to color data right after demosaicing. Denoiser in time domain is under development and is expected soon.

It is possible to suppress spatial noise for each channel of Raw Bayer image before applying demosaicing. We split Raw Bayer image into 4 planes according to Bayer pattern and then remove spatial noise for each plane separately. Parameters: wavelet name, threshold function, number of DWT resolution levels, array of denoising thresholds for each wavelet band.

There is also an opportunity to suppress spatial noise for luma and chroma. We convert RGB data to YCbCr before denoising. Parameters: wavelet name, threshold function, number of DWT resolution levels, array of denoising thresholds for each color component and for each wavelet band.

Which of the Denoisers is the RAW Spatial denoiser and which one is RGB? in the Help System it says the first denoise is RAW Spatial denoising, but in the Denoising tab, RAW Denoiser is second and the first one is just called Denoiser. And again, the lack of information on the sliders is confusing. I would prefer them with their proper names or something more specific e.g. "Raw Spatial Denoising" or "Pre-Debayering Noise reduction". And a suggestion, not that I know exactly how your De-Noiser works, but in my experience separate R G B channel de-noising always works wonders with Bayer patterns as the Canon Bayer patterns (and most others I believe) always contain more Green pixels than red and blue, so green channel always has way less noise than red and blue channel. Just something I found gave good results in Neat Video, lowering the Green channel curve which has helped retaining a lot of information..

Just a general question. Are there any parameters that will not affect the picture if exporting to DNG? will colour space affect the DNG output? Like MLV App has a bunch of parameters that will not affect the image if exporting to DNG as the output will be RAW, how is it with Fast CinemaDNG? Which parameters if so?

Other than that, the program is very fast! with or without Denoising it runs at full speed.

Let me know if you want some Screenshot or anything, I will PM you then.
once you go raw you never go back

megapolis

@Kharak
Thanks for your info. Yes, please send me your links to MLVs and screenshots here or to PM, as you like.

QuoteFirst of I cant import anything, when I click to find a file path, be it add files to project or change the 3D Lut Directory the program stops responding and I have to exit. I can basically only choose which features I want, set up the project, go to options and change anything except Path's.

You are right – this is the way to open DNG series from selected folder, but it doesn't work for MLV files. Usually we drag-n-drop MLV file or folder with DNGs from Windows Explorer to player window of our software. Or you can do right button click on MLV file or on folder with DNGs to load data via context menu. Folder for 3D LUTs is correct and this is the path for 3D LUTs that we supply with our software. You can choose another path to a folder with your 3D LUTs in .cube format.

To get direct comparison between the output of MLV_dump and Fast CinemaDNG, please send us your files. Or you can download MLVs via drag-n-drop, it's working.

QuoteI also think the WB is skewed after exporting DNG, as the shot I am playing with is daylight WB so around 5500, but to get accurate WB I have to push it to 4800k in Resolve. (kinda like MLV App does when viewing MLV's).

When we do DNG export, we don't change any raw data, WB or color matrixes. Actually we can do that, but we don't. Please show me your example for checking.

As far as concerns denoising, we apply wavelet-based algorithm. If we say "Raw denoise", it means that it's applied to raw data. Usual denoiser is also based on wavelets and we apply it to RGB. You are right, RAW Denoiser should be on the left. We will also check the content in the Help for denoising. Thank you.

I'm sorry, noise suppression for a separate raw channel is not working at the moment. Interface for that solution is quite complicated and we haven't done it yet. The software is ready, but the interface is not. There is also one more opportunity to control raw data by applying raw curves before raw denoising. It's working.

QuoteRaw Spatial Denoising" or "Pre-Debayering Noise reduction".

These names are ok, but they are too long for tabs. We will check what could be done here.

QuoteJust a general question. Are there any parameters that will not affect the picture if exporting to DNG? will colour space affect the DNG output? Like MLV App has a bunch of parameters that will not affect the image if exporting to DNG as the output will be RAW, how is it with Fast CinemaDNG? Which parameters if so?

At the moment we export DNGs as is, without any raw transforms, we can just change compression method and we can cut raw image. Though some users ask us to include raw curves and raw denoiser to DNG export pipeline. I think we will do that in the future, it makes sense in some situations.

megapolis

In the latest release of Fast CinemaDNG Processor we've added new names for denoising algorithms (Raw denoise and RGB denoise), menu for new MLV project and some bug fixes. You can download the latest version from the following link: https://www.fastcinemadng.com/download/download.html

megapolis

Development of the first stable release of Fast CinemaDNG Processor software is over – version 1.0.0 is ready and it could be downloaded here:
https://www.fastcinemadng.com/download/download.html

bouncyball

Sad. There is still no Linux version available...

megapolis

We've added dark frame subtraction and flat-field correction to Fast CinemaDNG Processor software. Currently we can use prepared images in PGM format for dark frame and PPM/TIFF for flat-field, GUI for calibration procedures will be added soon.
The latest version is here:
https://www.fastcinemadng.com/download/download.html
to @bouncyball: we do remember about Linux version, sorry for the delay.

Lars Steenhoff

Would love a Mac version too  :)

megapolis

We will do that as soon as Apple start to work with NVIDIA. For our software we need PC/laptop with NVIDIA GPU.
https://www.forbes.com/sites/marcochiappetta/2018/12/11/apple-turns-its-back-on-customers-and-nvidia-with-macos-mojave/#12df8b7337e9

Lars Steenhoff

Nvidia works on High sierra with pascal Nvidia GPU's for example 1080 ti works with Nvidia web drivers in E-gpu enclosure or in Mac pro 5.1
Cuda also works in high Sierra

( I have tried both and they work well )

I hope Nvidia will be able to release the web drivers for the 2080 cards soon.
because it's a shame how apple is dealing with this situation, I understand your not willing to invest time in an uncertain platform.

But I love my MacBook Pro and I have a 1080ti ordered for my sonnet e-GPU enclosure.

megapolis

The latest version of Fast CinemaDNG Processor is here:
https://www.fastcinemadng.com/download/download.html
Now it's based on CUDA-10, so please update your NVIDIA driver before running the software.

megapolis

We've implemented a new version of dark frame subtraction and flat-field correction in Fast CinemaDNG Processor software. As usual, everything is done on GPU, so it's quite fast.

We can apply flat-field correction (FFC) and dark frame subtraction by providing two corresponding linear RAW images in PGM or DNG format. To prepare these images from DNG files we can use dng_validate.exe utility from DNG SDK.
This is a command line to get FFC image: dng_validate -16 -2 FFC <path\to\dng>

This will extract 16-bit linear RAW data into FFC.tiff. The FFC and dark frame width and height must be exactly the same as width and height of the processed RAW file. Otherwise the correction will not work.
To supply FFC and dark frame files, click "..." buttons next to "Dark frame" or "FFC frame" field. To temporary disable correction, uncheck "Enable dark frame and flat field correction" check box.
To disable whole FFC and dark frame corrections, uncheck "Dark frame and flat field correction" check box in the application processing options.

The latest version of Fast CinemaDNG Processor is here:
https://www.fastcinemadng.com/download/download.html

theBilalFakhouri

Hi @megalopolis

Will there be GPU Dual ISO processing for MLV in future? Any plans for that?

megapolis

Dual ISO feature is very interesting, but I'm not sure that we will be able to implement it soon on GPU. Hopefully, we will release soon some other features like automatic bad pixels correction, defringe and some more.

We are doing quite a lot of other projects with GPU image processing, not only for MLV/DNG. You can see more info here:
https://www.fastcompression.com/blog/content.htm

theBilalFakhouri

Cool

Why it's so hard to add H.264 export settings or Prores ? :'(

Also The audio isn't synced when exporting MotionJPEG , when viewing MLV in fastcinemadng.exe it's synced properly , also what method are you using to fix focus pixels ? it's make the app very slow (viewing the MLV) when enabling it and isn't it better to add support for focus pixels maps instead of processing the whole image ? , it would be cool!

Also playback MLV or DNGs with audio mute is very smooth but when the audio on it's skipping frames or choppy , is the audio needs a lot of processing or something else happening ?

Thanks
Sorry for the Alsos  :P

megapolis

@theBilalFakhouri
Thanks for your info. At the moment H.264 or ProRes could be added via external FFmpeg only. It's not really hard. You need to specify output format as FFmpeg and then set correct command line for FFmpeg. Not ideal, but looks acceptable.

Thanks, we will check audio output synchronization for Motion JPEG. It's also done via FFmpeg.

Focus pixels we are correcting on CPU and you are right that it's slow. We haven't finalized the algorithm yet, so we don't have GPU version.

Currently we are doing Bad Pixel Correction (BPC) on CPU as well. This is adaptive averaging over 5x5 window for RAW data. Within a couple of weeks GPU-based version should be ready. At the moment we are utilizing CPU version for testing.

I think that dynamic BPC is much better than pixel maps. There are different types of bad pixels (hot, dead, bright, etc) which could be seen in different situations. So it's quite difficult to create precise map for all these cases. There is also image sensor degradation, so we have new bad pixels to come out. Our BPC is working as impulse noise filter and quite often it corrects 5,000-10,000 pixels per 10-20 Mpix image, which we think to be good. We expect that total time for BPC will be really small on GPU, though right now we do that on CPU and it's slow.

MLV (DNG) playback with audio implies that for a particular audio packet we will process corresponding RAW frame without any delay. This is not always the case even on GPU and this is the reason why we see such jerks. We could probably do some prefetching to fix that issue. Audio doesn't need a lot of processing and at the second run it should work smoothly.

megapolis

We've added the following fixes and new features to the Fast CinemaDNG Processor software:

1. Dynamic bad pixel correction on GPU. There is no need to have a list of bad pixel coordinates, the software can find and interpolate bad pixels in realtime at RAW domain. On NVIDIA GeForce GTX 980 we need around 1 ms to remove bad pixels from 12-bit 12-MPix image. We used to have that feature on CPU and now we've implemented it on GPU. It's working with 8-16 bit raw images (bayer and grayscale).
2. Apple licensed their ProRes encoder to us, so we've included Apple ProRes support on CPU. Now we can export processed frames to original Apple ProRes 422 LT, 422, 422 HQ, 4444, 4444 XQ. We can offer MLV to ProRes and DNG to ProRes transforms.
3. Motion JPEG output encoding on GPU now is working well with audio.
4. We can store JPEG and TIFF images to SSD in a separate thread after GPU processing, so total processing time is better now.

The latest version of Fast CinemaDNG Processor is here:
https://www.fastcinemadng.com/download/download.html

megapolis

In the latest version of Fast CinemaDNG Processor software we've implemented native support of BRAW format from Blackmagic Design. Apart from BRAW Player, there is an option for BRAW export to CinemaDNG. It's working quite well, but not perfect. To the best of our knowledge, this is the only solution for raw export from BRAW footages. Please download and test the software. Your feedback is welcome.
https://www.fastcompression.com/blog/braw-player.htm

ilia3101

wow! I have heard Blackmagic say BRAW is an open standard, but I can't find any info or specifications about it, so I am starting to suspect it is not true. Did you find the spec? Or did you figure out how it works by yourself?

Also glad to hear that it's not actually "partially debayered", I guess they just say that to avoid trouble with RED (fair enough).

megapolis

I can't really call BRAW to be an open standard. Unfortunately we can't find BRAW format specification either, we can see just Blackmagic SDK manual, that's all. The manual doesn't include that spec, this is the problem.
Sure, you can do a lot with Blackmagic SDK, but you are supposed to work with processed images because Blackmagic has already done decoding and raw processing. This is the idea they are trying to push.
As far as concerns "partially debayered" data, it also sounds strange, because hardware capabilities of BMD cameras just can't be compared to modern CPU or GPU, so this could hardly be partial debayering. It looks like an approach for specific data representation which is more suitable for fast lossy compression in camera hardware.
If I remember it right, RED has patented in-camera compression with wavelets, so the situation with BMD doesn't look the same.

ilia3101

Thanks for confirming my suspicion that it is not an open standard. So Blackmagic are kind of lying. Also I asked on the BM forum and just got a response today: https://forum.blackmagicdesign.com/viewtopic.php?f=12&t=100646

I see on your website that you figured out that is a custom MOV container. Are you using blackmagic SDK with some hacks to get bayer data? Or have you figured out all the BRAW reading yourself?

Luther

Quote from: Ilia3101 on October 18, 2019, 10:18:41 PM
got a response today: https://forum.blackmagicdesign.com/viewtopic.php?f=12&t=100646
Heh, they have no clue what "open" means. This is why you can't let marketing guys take care of technical terms.
Quote
Blackmagic RAW is defined as an Open Standard because it is cross-platform and open for anybody to include in their products/develop with using our free SDK.

megapolis

We've released open source project PGM2DNG to transform raw images from PGM format to DNG. You can get more info and source codes at
https://github.com/fastvideo/pgm2dng
We need to convert PGM to DNG to be able to process them with our Fast CinemaDNG Processor software. Usually this is the case with machine vision and industrial cameras.