Skip to content

Add L2/L8 plots and extend summary info/plots with L5 offsets, L8 trims, and L9 MDP#353

Merged
quietvoid merged 6 commits into
quietvoid:mainfrom
bbeny123:plots_info
Jun 3, 2025
Merged

Add L2/L8 plots and extend summary info/plots with L5 offsets, L8 trims, and L9 MDP#353
quietvoid merged 6 commits into
quietvoid:mainfrom
bbeny123:plots_info

Conversation

@bbeny123

Copy link
Copy Markdown
Contributor

This MR introduces two functional updates:

1. --plot-type option for plot

Adds support for plotting based on L2 and L8 metadata.

  -p, --plot-type <PLOT_TYPE>
          Sets the DV metadata level to plot

          [default: l1]

          Possible values:
          - l1:  L1 Dynamic Brightness
          - l2:  L2 Trims
          - l8t: L8 Trims (CM v4.0 RPU required)
          - l8s: L8 Saturation Vectors (CM v4.0 RPU required)
          - l8h: L8 Hue Vectors (CM v4.0 RPU required)

2. Extended metadata info in summary and plots

Additional metadata fields are now included in both the info -s and plot annotations:

  • L5 offsets
  • L8 trims (for CM v4.0 RPUs only)
  • L9 MDP (for CM v4.0 RPUs only)

Examples:

1. info -s

Current CM v2.9:

Summary:
  Frames: 147955
  Profile: 8
  DM version: 1 (CM v2.9)
  Scene/shot count: 1348
  RPU mastering display: 0.0001/1000 nits
  RPU content light level (L1): MaxCLL: 10000.00 nits, MaxFALL: 43.04 nits
  L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 0 nits, MaxFALL: 0 nits

Current CM v4.0:

Summary:
  Frames: 147955
  Profile: 8
  DM version: 2 (CM v4.0)
  Scene/shot count: 1348
  RPU mastering display: 0.0001/1000 nits
  RPU content light level (L1): MaxCLL: 1023.27 nits, MaxFALL: 92.36 nits
  L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 1023 nits, MaxFALL: 92 nits
  L2 trims: 100 nits

New CM v2.9 + L5 0:

Summary:
  Frames: 147955
  Profile: 8
  DM version: 1 (CM v2.9)
  Scene/shot count: 1348
  RPU mastering display: 0.0001/1000 nits
  RPU content light level (L1): MaxCLL: 10000.00 nits, MaxFALL: 43.04 nits
  L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 0 nits, MaxFALL: 0 nits
  L5 offsets: TOP: 0, BOTTOM: 0, LEFT: 0, RIGHT: 0

New CM v2.9 + L5 Standard:

Summary:
  Frames: 147955
  Profile: 8
  DM version: 1 (CM v2.9)
  Scene/shot count: 1348
  RPU mastering display: 0.0001/1000 nits
  RPU content light level (L1): MaxCLL: 10000.00 nits, MaxFALL: 43.04 nits
  L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 0 nits, MaxFALL: 0 nits
  L5 offsets: TOP: 42, BOTTOM: 42, LEFT: 0, RIGHT: 0

New CM v2.9 + L5 Variable Top/Bottom:

Summary:
  Frames: 147955
  Profile: 8
  DM version: 1 (CM v2.9)
  Scene/shot count: 1348
  RPU mastering display: 0.0001/1000 nits
  RPU content light level (L1): MaxCLL: 10000.00 nits, MaxFALL: 43.04 nits
  L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 0 nits, MaxFALL: 0 nits
  L5 offsets: TOP: (0 - 280), BOTTOM: (0 - 280), LEFT: 0, RIGHT: 0

New CM v4.0 + L5 Null:

Summary:
  Frames: 147955
  Profile: 8
  DM version: 2 (CM v4.0)
  Scene/shot count: 1348
  RPU mastering display: 0.0001/1000 nits
  RPU content light level (L1): MaxCLL: 1023.27 nits, MaxFALL: 92.36 nits
  L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 1023 nits, MaxFALL: 92 nits
  L5 offsets: TOP: N/A, BOTTOM: N/A, LEFT: N/A, RIGHT: N/A
  L2 trims: 100 nits
  L8 trims: 100 nits
  L9 MDP: DCI-P3 D65

New CM v4.0 + L5 Variable:

Summary:
  Frames: 147955
  Profile: 8
  DM version: 2 (CM v4.0)
  Scene/shot count: 1348
  RPU mastering display: 0.0001/1000 nits
  RPU content light level (L1): MaxCLL: 1023.27 nits, MaxFALL: 92.36 nits
  L6 metadata: Mastering display: 0.0001/1000 nits. MaxCLL: 1023 nits, MaxFALL: 92 nits
  L5 offsets: TOP: (0 - 280), BOTTOM: (0 - 280), LEFT: (0 - 60), RIGHT: (0 - 60)
  L2 trims: 100 nits
  L8 trims: 100 nits
  L9 MDP: DCI-P3 D65

2. plot

Current CM v2.9:
L1_CM29

Current CM v4.0:
L1_CM40

New CM v2.9 + L5 0:
L1_CM29_L5-0

New CM v2.9 + L5 Variable Top/Bottom:
L1_CM29_L5-VARIABLE-TB

New CM v4.0 + L5 Null:
L1_CM40_L5-NULL

2. plot --plot-type l2

New CM v2.9 + L5 Standard (flat chart, no manual trims):
L2_CM29_L5-STANDARD

New CM v4.0 + L5 Variable:
L2_CM40_L5-VARIABLE

New CM v4.0 + L5 Standard:
L2_CM40_L5-STANDARD

3. plot --plot-type l8t

L8-trims_plot

4. plot --plot-type l8s

L8-saturation_plot

5. plot --plot-type l8h

L8-hue_plot

@manuelrn

Copy link
Copy Markdown

@bbeny123 thanks again for also adding plot for L8 metadata.

One last request:
Would it be possible to add in the top information of the plots information related to L9 metadata?
I mean something similar to what is shown in the plots generated with the DoVi_Scripts tool of R3S3t9999:
image

I also noticed that in the examples you show for Summary (info -s), if it is CM v4.0 it shows the L2/L8 trims but if it is CM v2.9 it does not show any trims.
I guess ideally when it is CM v2.9 it should also show the L2 trims.

@bbeny123

Copy link
Copy Markdown
Contributor Author

@manuelrn
Regarding the L9 metadata in the top information of the plots — I can definitely add that, as long as @quietvoid is okay with it.

As for the info -s, the reason L2 trims aren't shown for CM v2.9 in that example is simply because the RPU doesn't contain any. When they're present, they are displayed as expected.

Comment thread src/dovi/rpu_info.rs Outdated
Comment thread src/dovi/rpu_info.rs
@quietvoid

Copy link
Copy Markdown
Owner

Regarding the L9 metadata in the top information of the plots — I can definitely add that, as long as @quietvoid is okay with it.

It seems fine to me however L9 is also dynamic.

@bbeny123

Copy link
Copy Markdown
Contributor Author

I’ve added the L9 metadata to the top information of the plots. If it’s dynamic, it will be displayed in the format:
<MDP-alias> (<number-of-frames>), <MDP2-alias> (<number-of-frames>)

Example (static L9):
L8-trims_plot

@quietvoid

Copy link
Copy Markdown
Owner

Eventually I think it will be worthwhile to have an extra CLI config to limit the trim fields because the current L8 trims are way too crowded.

Comment thread src/dovi/rpu_info.rs Outdated
Comment thread src/dovi/rpu_info.rs Outdated
Comment thread src/dovi/rpu_info.rs Outdated
@bbeny123

Copy link
Copy Markdown
Contributor Author

Changes:

  • Fixed info formatting for L5 offsets
  • Added support for excluding series in L2/L8 trims plots
  • L2/L8 trims plots can now be generated for 100/300/600/1000 nits target (default: 100 nits)

Comment thread src/commands/plot.rs
@quietvoid quietvoid merged commit 465f1bb into quietvoid:main Jun 3, 2025
@quietvoid

Copy link
Copy Markdown
Owner

Couldn't manage to push to the branch so merge it is.
Thank you for the feature, I will add documentation and make a new release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants