Difference in colors between Mercury Software and CUDA accelerated

New Here ,
May 03, 2021 May 03, 2021

Copy link to clipboard

Copied

I've noticed a behavior I don't quite understand. Probably the reason is my lack of knowledge about what the "Vide Rendering and Playback" setting exactly does. So to feed my curiosity I'd like to present results of my little research. At the same time hoping someone will explain why only one particular combination of settings works for me.


I have an input video material encoded with nVidia NVENC (h.264; 4:2:0). I experience color changes when exporting from PP. Yes, I am aware re-encoding alters overall quality, etc. But take a look at the picture attached. There is one combination (Mercury Software & Hardware Encoding) that does not alter the material that much.


What you see in the picture are differences (red pixels) between the reference and the exported material that differ more than 1% for each settings combination.


The question is what "Mercury setting" changes and why does it alter exports which have their own settings?

 

cmp.png

 

TOPICS
Export, Hardware or GPU

Views

174

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
May 03, 2021 May 03, 2021

Copy link to clipboard

Copied

If the footage is variable framerate convert to constant framerate with Handbrake before bringing into Premiere.

 

Post screenshot original image.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 03, 2021 May 03, 2021

Copy link to clipboard

Copied

The input is const 60 FPS. Here's detailed ffprobe output:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\reference.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.45.100
  Duration: 00:00:54.22, start: 0.000000, bitrate: 115797 kb/s
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 115628 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 195 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]

 

Original files in attachment.

 

The yellow text is washed out. In the reference material it is a very saturated yellow HSL: (30;206;146) vs. (30;200;149). These screenshots are not an exception. Color degradation affects all exported materials.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
May 03, 2021 May 03, 2021

Copy link to clipboard

Copied

Some extra info for your research: All Mercury Hardware (CUDA, METAL, OpenCL) Renderers process images in 32-bit float. Mercry Software Only processes images in 8bit (unless you chech the Maximum Bit Depth checkbox in Sequence Settings).

As I can't judge te oringinal and I don't know the specificat of the original codec. Nor do I know what codec your are transcoding to, I can't give you more help.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 03, 2021 May 03, 2021

Copy link to clipboard

Copied

Sure, I understand. I did not know what info would be valuable. So, to be more precise:

 

Input

Video: h264 (High) (avc1 / 0x31637661), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 115628 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc (default)
encoder: Lavf58.45.100

Output

H.264
23840x2160 (1.0), 60 fps, Progressive, Hardware Encoding, Nvidia Codec, 00:03:07:32
VBR, 1 pass, Target 130.00 Mbps
AAC, 320 kbps, 48 kHz, Stereo

"Use Maximum Render Quality" turned off.

 

What I am concerned about is colors being washed out. For some reason all settings but Mercury Software paired with Hardware Nvidia Encoding produce incorrect colors/alter the output in a significant way.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 03, 2021 May 03, 2021

Copy link to clipboard

Copied

Edit:

I meant "Maximum Bit Depth" instead of "Use Maximum Render Quality".

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
May 03, 2021 May 03, 2021

Copy link to clipboard

Copied

Please use MediaInfo and post outcome in treeview.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 03, 2021 May 03, 2021

Copy link to clipboard

Copied

LATEST

Okay, so here come three logs.

 

  1. Original .flv source file.
  2. ffmpeg remuxed to .mp4.
    Command used: ffmpeg -i input.flv -codec copy output.mp4​
  3. VLC remuxed to .mp4.
    Audio/video streams copied.

 

I see that ffmpeg remux is reported as variable fps (https://trac.ffmpeg.org/ticket/7927 tells it is nothing abnormal in case of .mp4 and its timestamps). VLC is const. Though both remuxes are affected by the color degradation issue.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines