Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 3, 2025

Conversation

bbeny123
Copy link
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

@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
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.

@quietvoid
Copy link
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
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
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.

@bbeny123
Copy link
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)

@quietvoid quietvoid merged commit 465f1bb into quietvoid:main Jun 3, 2025
1 check passed
@quietvoid
Copy link
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