Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - megapolis

#76
Post-processing Workflow / Re: fastcinemadng
March 25, 2018, 11:51:22 AM
We carry on with further development and optimization of Fast CinemaDNG Processor and here you can see the latest improvements which are present in the current release:
1. In the previous version of the software on NVIDIA GeForce GTX 1080, to apply 3D LUT HSV with size 36x57x61 to 16-bit 4K image, we spent ~8.5 milliseconds. Now we can do the same at just ~0.8 milliseconds. Quite often such a 3D LUT is a part of DCP profile.
2. Previously, on NVIDIA GeForce GTX 1080, we applied 64x64x64 RGB LUT to 16-bit 4K image at ~8.8 milliseconds. Now the same 3D LUT can be applied within ~0.6 milliseconds. Processing time of a particular 3D LUT can be seen in the benchmark window, where all stages of image processing pipeline are displayed.
3. The maximum size of 3D LUT is 256 now. Processing time to apply such a 3D RGB LUT on GeForce GTX 1080 varies in the range of 4-8 milliseconds for 16-bit 4K image. Some users do work with such LUTs, one have to remember that such a large LUT needs around 500 MB of GPU memory. By default, we are working with 3D LUTs with cube size up to 64.
4. We've improved software stability in the case of insufficient GPU memory size. Nevertheless, mining on the GPU during image processing is not recommended :(.
5. GPU memory consumption for Unsharp Mack algorithm is reduced by three times.

Link to download the latest release of Fast CinemaDNG Processor:
http://www.fastcinemadng.com/download/download.html
#77
Post-processing Workflow / Re: fastcinemadng
March 07, 2018, 03:38:05 PM
We've implemented interoperability between 3DLUT Creator and Fast CinemaDNG Processor. Now we can create 3D LUTs with 3DLUT Creator and immediately include them into image processing pipeline to fulfill color grading on GPU.

Basically, user starts from choosing current DNG frame which could be a good source to create 3D LUT. Then Fast CinemaDNG software runs 3DLUT Creator which is responsible for 3D LUT design. This is very powerful and popular software with thousands of users all over the world. We actually send to 3DLUT Creator our 16-bit TIFF which will the basis to create/edit 3D LUT. Finally, we automatically get 3D LUT file in cube format from 3DLUT Creator and insert it into image processing pipeline on GPU. This is the way to get final grading in realtime at the same workflow with DNG processing.
#78
Post-processing Workflow / Re: fastcinemadng
February 19, 2018, 11:37:03 AM
At the following page
http://www.fastcinemadng.com/download/download.html
we've created a list of direct links to download sample files and sequences of DNG or CinemaDNG footages. All the links are currently valid and they correspond to raw data from Blackmagic Design, Ikonoscop, DJI, Kinefinity, AXIOM, etc. We utilize these footages for testing of our software for realtime DNG processing. Please let us know if we missed any interesting CinemaDNG footages which are available on the net.
#79
Post-processing Workflow / Re: fastcinemadng
February 16, 2018, 12:09:29 PM
The latest release is more stable and reliable, we've improved the performance, several bugs were removed. Now one can switch on/off every curve (RAW, RGB, HSV) to see the difference.

We've also added GUI to work with external 3D LUTs (RGB) in cube format. They could be applied via GPU in realtime. Duration in milliseconds of that stage of image processing could be seen at Benchmarks widget. Maximum cube size is 65x65x65. In order to switch on 3D LUT module, close current project, go to Options dialog, choose tab "Output and Extensions" and check the box for 3D LUTs module. All your luts should be placed in the folder C:\Users\User\Fastvideo\3D LUTs. On NVIDIA GeForce GTX 1060 processing time is around 2.5 milliseconds to apply 3D LUT 32x32x32 to 16-bit image with 4K resolution.

You can download the latest release of Fast CinemaDNG Processor here: http://www.fastcinemadng.com/download/download.html
#80
Post-processing Workflow / Re: fastcinemadng
December 19, 2017, 09:25:48 AM
When we do GPU-based image processing with Fast CinemaDNG Processor software, we have to bear in mind that performance of CPU and SSD also play an important role in this process, since for any image we have to read, to download, to parse, to decode DNG, and only then we can upload uncompressed raw data into GPU memory for image processing and display.

The main bottleneck for CPU is fast DNG decoding. Typically DNG images are encoded with lossless compression algorithm and usually this is Lossless JPEG.
Lossless JPEG algorithm is essentially serial, so GPU can't help at decoding. To speed up decompression on CPU, it is possible to do decoding of each tile or of the entire image in a separate thread, and one can accelerate Huffman decoding algorithm on CPU.

We have implemented both methods, so we can do lossless jpeg decoding at multi-threaded mode, and we have also optimized the process of DNG decoding on CPU. It's difficult to say how fast that new DNG decoder, because decoding performance strongly depends on image content. Here you can see some benchmarks which correspond to the best and the worst cases of Lossless JPEG decoding for multithreaded applications. These examples illustrate the idea of multithreading performance for lossless jpeg decoding on multicore CPU.

16-bit image, compression ratio 10.4 bpp (lossless compression)
   LJ92 (library liblj92): 266 MPix/s
   Fastvideo LJ Decoder: 407 MPix/s

12-bit image, compression ratio 5.6 bpp (lossless compression)
   LJ92 (library liblj92): 284 MPix/s
   Fastvideo LJ Decoder: 475 MPix/s

These results show that fast DNG decoding on CPU is possible in realtime for DNG series with 4K resolution and more. Decoding optimization, vectorization and multithreading are key factors to achieve high performance decoding.

At the following link there is more detail concerning benchmarks and other info about lossless jpeg decoding on CPU:
http://www.fastcinemadng.com/info/jpeg/lossless-jpeg-decoder.html

Our new DNG decoder helps to reduce CPU load. Earlier, due to lack DNG decoding speed on CPU, we ran into problems with smooth video playback for 4.6K footages from BMD URSA, and now we don't have these jerks on good PC even in the case if we switch on gpu-based denoiser.
#81
Post-processing Workflow / Re: fastcinemadng
December 14, 2017, 11:21:53 AM
Thanks for your suggestions. We do have such plans, but we are going to implement them in a way of Windows Explorer shell extension, that would generate thumbnails for MLV files while viewing folder content. It shouldn't be time consuming procedure as soon as image processing pipeline for such a task is very simple. The same feature is implemented in Adobe DNG Codec for Windows. It will be done later, because currently we are working on MLV support and on fast DNG decoding.
#82
Post-processing Workflow / Re: fastcinemadng
December 13, 2017, 08:25:56 AM
IDA_ML,
Thanks for sharing your thoughts. This is exactly what we are doing now and we hope to release direct support of MLV format soon. We are going to open MLV instantly from Explorer without running MLVFS and without convertion to cDNG.
#83
Post-processing Workflow / Re: fastcinemadng
December 12, 2017, 11:56:19 AM
Thanks a lot for your MLV file and for your feedback. On my PC (Core i7-3820 3.6 GHz, RAM 16 GB, NVIDIA GeForce GTX 580), which is quite old, it takes 5-6 seconds to load your project. I agree that 20 s is not acceptable, but generally, for DNG image processing we need to have good CPU, GPU and SSD, so the PC should be quite powerful. We always load new project without offloading previous one. We will check why it causes crash.

The first run of each software takes around 2-4 seconds, so it's not surprising. For GPU-based image processing we also have to initialize CUDA and allocate GPU memory, which are not very fast procedures. That's why 5-6 seconds for such a task at the first run should be reasonable. To insure fast loading for the next project we need to optimize our software and I hope to cope with that in a couple on weeks.

Interface to work with FFmpeg is quite simple, you just need to put there right command line. We have prepared a list of frequently used command lines, so it should be not very difficult, you can find that info in the manual.

The main idea of our software is to insure fast image processing and smooth output for 4K with maximum possible options like high quality debayering, denoising, undistortion, geometry transforms, 3D LUTs, etc. We think that it could be done on GPU in realtime with GeForce GTX 1060 or better.
#84
Post-processing Workflow / Re: fastcinemadng
December 11, 2017, 11:00:28 AM
Sorry, the latest release of Dokany could be downloaded here:
https://github.com/dokan-dev/dokany/releases/download/v1.1.0/DokanSetup_redist.exe

This is a benchmark for GPU-based image processing of MLV which was loaded via MLVFS, processing is done with Fast CinemaDNG Processor on NVIDIA GeForce GTX 580 (PCI-Express x16 Gen2):

Total memory 1536 MB, free 179 MB, allocated 109 MB
Input image: 1280x720 pixels
Host-to-device transfer = 0.47 ms
Linearization LUT = 0.35 ms
White balance = 0.03 ms
Raw curve = 1.06 ms
Debayer = 1.15 ms
ProPhoto space transform = 0.09 ms
RGB Lut = 0.21 ms
Output color space transform = 0.09 ms
Crop time: 0.00 ms
Resize = 0.00 ms
16 to 8 bit transform = 0.06 ms
Histogram = 1.20 ms
RGB parade = 2.31 ms
Viewport crop = 0.00 ms
Viewport resize = 0.88 ms
Total GPU = 7.90 ms
Total GPU + CPU = 10.95 ms

P.S. Could you please give me a link to 4K MLV footage for testing?
#85
Post-processing Workflow / Re: fastcinemadng
December 07, 2017, 10:46:53 AM
As I know, usually there is no need to have beefy video card for image processing of DNG images with resolutions less than 2K. If I haven't understood you correctly, please advise. If our software is working slow, please send me a link to your MLV file for evaluation.

You can test your MLV files by running MLVFS and Fast CinemaDNG Processor. What you need in Windows-7/10 (64-bit):
1. Download Fast CinemaDNG Processor: http://www.fastcinemadng.com/download/FastCDNG_x64_Setup.exe
2. Download Dokany: https://github.com/dokan-dev/dokany/releases/download/v1.0.3/DokanSetup_redist.exe
3. Download MLVFS: http://www.dropbox.com/s/4ymbt8xxfrwtn1h/MLVFS.zip?dl=0
4. Run the following command: mlvfs -f Z: --mlv-dir=\mlvdir

Then from Windows Explorer you can click with right button on your MLV file and choose in the context menu "Preview with Fast CinemaDNG". Actually we haven't done anything here. Transform from MLV to DNG is done by MLVFS.
#86
Post-processing Workflow / Re: fastcinemadng
December 06, 2017, 10:58:25 AM
It's difficult to agree that
QuoteAll of this is available in Resolve or in ACR as well.
Just try to play DNG series with 4.6K resolution and Denoiser option on, you could hardly get smooth video output with ACR. It's much better with Resolve, but still this is a problem.
The most frequent usage of that software is preview of DNG series. You just need to choose a folder with DNG in Windows Explorer to see realtime video. This is fast and simple. The latest release is working with our new CPU-based Lossless JPEG decoder which is faster than decoders from dcraw, libraw, lj92, Adobe DNG SDK.
P.S. Unfortunately MLV support is not yet ready.
#87
Post-processing Workflow / Re: fastcinemadng
November 09, 2017, 08:50:39 AM
New features in the latest release:
1. Project templates to save current set of parameters and settings. Now one can utilize that template to process next DNG series with the same parameters. Have a look at Project templates widget.
2. DNG player is working with audio from wav-file.
3. This is the first release with accelerated lossless jpeg decoder on CPU. We will publish more info about that soon.

Download link to Fast CinemaDNG Processor:
http://www.fastcinemadng.com/download/FastCDNG_x64_Setup.exe
#88
Post-processing Workflow / Re: fastcinemadng
August 15, 2017, 11:14:58 AM
Current version is working with Windows only. At the moment we need to design and to implement on CUDA quite a lot of algorithms for DNG image processing. Other OS will be a subject for implementation in the future, but not now.
#89
Post-processing Workflow / Re: fastcinemadng
August 11, 2017, 02:56:04 PM
In the latest release of Fast CinemaDNG Processor we've fully redesigned CUDA code for Histogram/Parade module and Denoiser (which is working before debayer). We have also implemented some more features for image processing on GPU:
1. Rotation to arbitrary angle in realtime.
2. Now we can work with LCP (lens profiles) to do undistortion and CA removal. We utilize ready LCP or prepare them from Adobe Lens Profile Creator.
You can download the latest version from www.fastcinemadng.com
#90
Post-processing Workflow / Re: fastcinemadng
June 02, 2017, 12:03:35 PM
Could you please share a link to "new" 4k raw?
At the moment we support DNG/CinemaDNG only. MLV support is expected soon.
#91
Post-processing Workflow / Re: fastcinemadng
May 31, 2017, 11:00:41 AM
Fast CinemaDNG Processor is currently used in the Aeon Motion Scanning System for 3D scanning and 4D capture with 20 MPix industrial cameras:
http://ir-ltd.net/introducing-the-aeon-motion-scanning-system/

This is comparison with Adobe Lightroom for DNG image processing performance:
«FastVideo is lightning fast. It's still in early development but it can process sequence data on the fly, on the GPU in real-time in ms, rather than in minutes per frame. This means we can now process a 28,800 image sequence set in under 10 minutes, instead of 10 hours. Literally a game changer.»
#92
Post-processing Workflow / Re: fastcinemadng
April 28, 2017, 09:38:18 AM
QuoteI'm not sure where you got your Cinelog profile(s) from? - but Cinelog-C profiles don't contain HSV luts and they will only work correctly in Adobe Camera Raw.
Thanks, I will check that. I tested profiles from ACR and RT. Cinelog profile was tested by our customer. If it doesn't work, I will definitely remove it from the list of supported profiles.

QuoteEven though you can read/apply Cinelog profiles in RawTherapee or other apps they will only produce Cinelog-C colorspace in Adobe Camera Raw because the profiles contain compensation for a limitation that is unique to ACR when it is used in conjunction with After Effects. Using the profiles in any other raw app (i.e. raw apps without that limitation i.e. any raw app that isn't ACR) you will be introducing a new issue.
Thanks for the info.

QuoteI'm not sure why you would even want to use a fixed colorspace management DCP anyway as your app is built on GPU accelerated shaders!?
That application is built on CUDA and we can utilize any colorspace management in realtime. Currently we are working on DCP support. What approach would you suggest to implement?
#93
Post-processing Workflow / Re: fastcinemadng
April 27, 2017, 01:03:29 PM
@hyalinejim: In the latest release of Fast CinemaDNG Processor software we've implemented support for external DCP profiles. Now it's possible to utilize any DCP profile from Adobe ACR, RawTherapee, Cinelog, etc. User can create his own DCP profile with any profiler and then add it to the current project. All computations for 1D and 3D LUTs from DCP are done on GPU in real time. Timing for each stage of DNG image processing on GPU is shown in the Benchmark window.

We've also added check boxes for GUI to switch on/off  Hue/Saturation Map, LookTable and Tone Curve to see what we can really get from DCP profile. Default path for a folder with DCP profiles are defined at Options section.

The latest release of Fast CinemaDNG Processor can be downloaded here:
http://www.fastcinemadng.com/download/FastCDNG_x64_Setup.exe
#94
Post-processing Workflow / Re: fastcinemadng
March 16, 2017, 11:37:31 AM
@hyalinejim: Thanks again for your image and your question. I've checked your image and your solution once more and I can see the following:

You've solved the problem by applying Cinelog DCP profile for Canon 5D. Inside that profile one can see ToneCurve (log-like gamma) and HSV 3DLUT. It means that in Adobe ACR the task of Highlights Recovery was solved after debayering by applying gamma to RGB and 3D LUT to HSV. That solution makes sense and we see good result. We will be able to utilize that method, as soon as we add DCP support to our software in the near future. Anyway, there is also another possible solution.

One can do Highlights Recovery before debayering and it seems to be a better approach. If we remove highlights before debayer, then image quality after debayering will be better because this is the way to avoid interpolations with clipped pixels. We've added to Fast CinemaDNG software widget "Raw Curve" to be able to apply curves to RAW data before debayering. There is a master curve which is always applied to all three channels of RAW data, and individual curves for each color channel.

Here you can have a look at your image which is processed with curves before debayering:


What Fast CinemaDNG software is doing before demosaicing:
1. Multithreaded reading and parcing of all DNGs in the current folder
2. Multithreaded DNG decoding for compressed data
3. Data copy from CPU to GPU (host to device transfer)
4. DNG crop
5. Data linearization according to 1D LUT from DNG
6. Black and white points from DNG
7. WB coefficients for R, G, B
8. Exposure correction
9. Composite raw curve (the same curve for all three channels)
10.  Individual curve for each raw channel
11.  Raw bayer denoiser
12.  Debayer HQLI, DFPD or MG with Enhance option

All these stages from image processing pipeline one can see at Benchmarks widget to check timing on GPU for each stage. To get fast result, we need to have powerful CPU, GPU and SSD.

Please let me know your opinion about suggested pipeline and about the results of our software for DNG image processing both in terms of quality and performance. You can download the latest release of Fast CinemaDNG software with "Raw Curve" module from www.fastcinemadng.com
#95
Post-processing Workflow / Re: fastcinemadng
March 04, 2017, 04:07:36 PM
@hyalinejim: Thanks for your image and for your comparison.
I agree with you, but please note that for that specific image the job was done due to Cinelog camera profile which removed the problem with highlights in red on arms and candle flame. We see the only solution here – to process red channel with a curve before debayering.

Here you can see an example of processing with Fast CinemaDNG:
https://yadi.sk/i/z3VXLSw13F2Uzr
Everything was set to its default value, we just reduced Red channel down (it's applied before debayer) and changed R curve to avoid highlights crashing in R channel. RGB Parade would help you in making proper settings.

We expect to release some features for solving such problems (3D LUT support, highlights recovery, DCP profiles support, LUTs for RAW data) within 2-3 months and we will check your image after that once more.

I also agree that panel docking is not working well. We got that module from QT and it seems to be not the best choice.
#96
Post-processing Workflow / Re: fastcinemadng
March 03, 2017, 08:04:19 PM
@hyalinejim: In order to be able to work with weak GPUs with 1-1.5 GB memory, we've implemented image processing pipeline manager. This is the way to exclude some image processing stages from the pipeline. You need to run the software without loading any project (or you can close current project) and click on Options button, then go to "Output and Extensions" tab. You will see there denoising, sharpening and other options for image processing which are excluded from the pipeline. Check necessary modules and try to open new project. If you have enough GPU memory, it should work. To get the same colors as ACR, please try both RGB and HSV LUTs as well. Manual in PDF you can find at the same folder as the software.
Usually we set "Enhance level" around 2.5-3.0 or even less. I think that 5 is often too much.
Could you please supply a link to DNG source image?
#97
Post-processing Workflow / Re: fastcinemadng
March 03, 2017, 12:45:01 PM
@reddeercity: We've checked the issue with Exposure Time and have found that it's changed by a function from Adobe DNG SDK. Actually the software has found right value for Exposure Time in the original DNG and then compared it with predefined list of values. The closest one to 53 is 50, so 1/53 was switched to 1/50. Sure, we can fix that function, but there is a question. Does exist Exposure Time 1/53 s at your camera?

P.S. Please have a look at debayer quality for MG algorithm with enhance option.
#98
Post-processing Workflow / Re: fastcinemadng
March 02, 2017, 03:17:42 PM
@reddeercity: We've fixed the issue with framerate tag, now it's working. Please check that once more.

In the latest release we've added two significant improvements for CinemaDNG processing:

1. For all demosaicing algorithms we've added "Enhance level" option and this improvement removed many debayer artifacts that we used to have. To compare with our previous debayer versions, you can set "Enhance level" = 1. That value is individual for each image and it's up to you what to choose. Actually we've added some more image processing stages before and after debayering to get the result.

Please test that software and share your experience with us. We would be interested to find out your results of comparison with demosaicing algorithms from ML, Davinci Resolve, Adobe Premiere Pro, ACR, Lightroom, etc.

2. We've improved Lossless JPEG decoder on CPU. This is one of the most important bottlenecks to overcome, before we could get smooth output in Player window. As soon as we don't use proxies and do all image processing for full-frame images, this is not simple, especially for 4K and 4.6K resolutions.

With new decoder on PC with NVIDIA GeForce GTX 1080 and CPU Intel Core i7 5930 we can process CinemaDNG footage with 4.6К resolution smoothly, with full image processing pipeline, including MG debayer, denoiser and unsharp mask.
#99
Post-processing Workflow / Re: fastcinemadng
February 25, 2017, 09:40:47 AM
@reddeercity
Quote@megapolis can Fast CinemaDng use multiply GPU's, 2 or more (I have 2 gtx580 installed)
Current version of Fast CinemaDNG is working with just one GPU, though our core SDK can work with multiple NVIDIA GPUs as well. We think that for resolutions like 2K and 2.5K, one GPU should be enough for full image processing in realtime. 4K and 4.6K resolutions could be processed on just one GPU GeForce GTX 1070 or 1080. We are still working on optimization issues for CPU/GPU, and final solution should be faster.

We plan to use the second GPU for more complicated denoising or for JPEG2000 encoding and decoding (instead of ProRes or DNxHD/HR). These algorithms need a lot of computations and GPU memory, and it's difficult to incorporate them into existing pipeline on the first GPU in realtime.

QuoteAlso do you or will you have support for a Capture/Playback card/device for monitoring on a external calibrated Grading HDMI & or HDSDI monitor?
At the moment we support just one monitor which is connected to the same GPU. We take into account ICC-profile of the monitor and you can define corresponding profile in the software settings. We do that color correction on CUDA and send processed data to the monitor.
You can work with multiple monitors, which are connected to the same GPU, but the software will take into account just one ICC profile.
We are also considering a task of 10-bit monitor support, but at the moment NVIDIA is offering that feature only for the latest Quadro GPUs, which are quite expensive.

QuoteSince to have already integrated some blackmagic stuff maybe have support for there USB 3.0 device "UltraStudio SDI" has HDMI & HDSDI playback/output and or any of the blackmagic PCIe capture cards
In order to support any external USB3 device, we need developer kit and API to work with such a device. At the moment we don't have that.
As far as concerns Blackmagic PCIe capture cards, we have such an experience and we can use them as input to offer realtime image acquisition and processing. That feature is not yet released and if you need it, please specify the task in more detail.
#100
Post-processing Workflow / Re: fastcinemadng
February 24, 2017, 07:53:22 AM
QuoteTried running this on OS X 10.12.3 under Wine and got up to the point where it's 80% installed this error pops up...

Unfortunately we haven't tested the setup on OS X under Wine yet. We will definitely check that soon. The message says that one can't register dll which is responsible for context menu in Windows Explorer. We've already seen such a situation and in all cases Windows was corrupted.

Haven't seen any NVIDIA GPU in your hardware. The software can't work with Intel built-in GPU (Intel HD Graphics 4000).