View Bug Details

IDProjectCategoryView StatusLast Update
0002525DCP-o-maticBugspublic2023-05-16 22:20
Reporteroverlookmotel Assigned Tocarl  
PriorityimmediateSeveritymajorReproducibilityhave not tried
Status resolvedResolutionfixed 
Platform64-bitOSLinuxOS VersionUbuntu
Product Version2.16.50 
Target Version2.16.57 
Summary0002525: Invalid closed captions XML produced
Description

I have used DCP-o-matic 2.16.55 to rewrap a DCP. The input DCP has the following characteristics:

  • 5 reels.
  • 1 closed captions track.
  • Closed captions only present on reels 2, 3 and 4.
  • Each captioned reel has it's own font TTF file (all identical, but file repeated 3 times)
  • Encrypted.
  • Interop.

I asked DCP-o-matic to rewrap as an unencrypted Interop DCP with only a single reel, and retaining the closed captions track.

Encode completed successfully, but the resulting DCP appears to be faulty.

  • It contains a single sub_....xml file (as expected).
  • No font TTF files included in DCP.
  • Captions XML does not contain any LoadFont nodes.
  • Captions XML includes 3 sections, each wrapped in:
<Font AspectAdjust="1.0" Color="FFFFFF00" Effect="border" EffectColor="FF000000" Id="1_Font1" Italic="no" Script="normal" Size="42" Underlined="no" Weight="normal">
  • Each of those XML nodes has a different Id property ("1_Font1", "2_Font1", "3_Font1").

dcp_inspect believes this to be invalid:

Error: CPL ...: Reel 1: DCSubtitle: Multiple Font Ids referenced: ["1_Font1", "2_Font1", "3_Font1"]
Error: CPL ...: Reel 1: DCSubtitle: No Font Id declared via LoadFont but referenced Font Ids found: ["1_Font1", "2_Font1", "3_Font1"]
Steps To Reproduce

Unfortunately I can't provide files to reproduce, as the content is very sensitive. Hopefully the above info may be enough to guess what the problem might be, but if not let me know and I'll see if I can replicate it with some other content to create a repro case that I can share.

TagsNo tags attached.
Branch2525-interop-ccap
Estimated weeks required
Estimated work requiredUndecided

Relationships

related to 0002533 acknowledgedcarl De-duplicate font files 

Activities

overlookmotel

2023-05-11 14:22

developer   ~0005673

Do you think above info is enough to work with Carl? Or would a repro case be helpful?

overlookmotel

2023-05-11 14:25

developer   ~0005674

Oh, by the way, I got some of the details above wrong. This DCP was created on Mac OS 10.14.6, not Ubuntu. Not sure if that's relevant.

carl

2023-05-11 14:28

administrator   ~0005675

@overlookmotel the info is perfect, thanks, I see it - a fix is in the works.

carl

2023-05-12 18:25

administrator   ~0005678

@overlookmotel https://dcpomatic.com/build/2525-interop-ccap/5c8e5ea should fix this, if you want to try it out.

carl

2023-05-12 21:14

administrator   ~0005680

83d63bb331190db4372de4d0aaf8413c51f1eee4

overlookmotel

2023-05-16 13:07

developer   ~0005686

Confirmed fixed in 2.16.56. I ran the same project through with same settings, and this time there are no invalid font IDs. DCP passes dcp_inspect's checks.

However... this time there was a LoadFont node in the XML, and a font TTF was included in the DCP.

My understanding from https://dcpomatic.com/mantis/view.php?id=2505 was that there's not intended to be a font file included for closed captions. Or is that only the case for SMPTE DCPs? (this DCP - both input and output - is Interop).

overlookmotel

2023-05-16 13:53

developer   ~0005687

I tried outputting as SMPTE too with 2.16.56.

Resulting DCP does pass dcp_inspects checks, and captions XML is valid but, this time:

  • 3 x LoadFont nodes in the XML (with Ids 1_Font1, 2_Font1, 3_Font1).
  • 3 x Font nodes (each containing captions from 1 of the 3 captioned reels in original DCP), each referencing 1_Font1, 2_Font1, 3_Font1.
  • 3 x TTF font files included in the MXF (and all identical).

So it looks like this change may have reverted https://dcpomatic.com/mantis/view.php?id=2505, at least in this test case.

A couple of other things which don't make a difference here, but might make a difference for OCAP/subtitled DCPs, if they behave the same:

  1. In the output Interop DCP, the font TTF used is Liberation Sans, whereas when output as SMPTE the fonts TTFs are the originals from input DCP. The SMPTE behavior of retaining original font seems preferable.
  2. In the input DCP, all 3 reels with captions have their own font TTF, but all are identical. When converting a multi-reel DCP to a single reel DCP, it would be nice if DCP-o-matic recognised that all the TTFs are identical, and de-duplicated them.

The 2nd point is very much a "nice to have" and not at all essential, but thought I'd mention it, since I noticed it.

carl

2023-05-16 15:08

administrator   ~0005688

Last edited: 2023-05-16 15:25

Interesting - so the DCP that you started with has fonts for the CCAPs? But maybe DCP-o-matic should get rid of them. I'd forgotten about the MXF-size angle. And in fact even newly-created CCAP (e.g. from .srt) get fonts now, with this change. Oh dear.

overlookmotel

2023-05-16 16:12

developer   ~0005689

Yes, the DCP we received from filmmakers has font TTFs for the closed captions. That DCP was made by Postworks New York and made with a Clipster (v5.10.0.17 - no idea if that's recent). But Postworks are one of the big DCP players in US, as far as I can see. You'd think they'd be getting it right, although I've also learned not to defer too much to authority. We've received bad DCPs from even the mighty Deluxe on occasion.

In any case, size of captions MXFs doesn't come into it on this one, as their DCP is Interop. But, as I commented on 0002505, I'm not sure there's a size limit on the MXFs anyway, from my reading of the ISDCF docs.

So, the change in 2.16.56 is overall good - fixes a definite bug in favour of regressing a maybe bug!

Bug History

Date Modified Username Field Change
2023-05-10 22:36 overlookmotel New Bug
2023-05-11 00:49 carl Priority normal => immediate
2023-05-11 00:49 carl Status new => acknowledged
2023-05-11 00:49 carl Target Version => 2.16.56
2023-05-11 00:49 carl Estimated work required => Undecided
2023-05-11 01:42 carl Assigned To => carl
2023-05-11 01:42 carl Status acknowledged => confirmed
2023-05-11 01:42 carl Status confirmed => in progress
2023-05-11 01:42 carl Branch => 2525-interop-ccap
2023-05-11 09:45 carl Severity minor => major
2023-05-11 14:22 overlookmotel Note Added: 0005673
2023-05-11 14:25 overlookmotel Note Added: 0005674
2023-05-11 14:28 carl Note Added: 0005675
2023-05-12 18:25 carl Note Added: 0005678
2023-05-12 21:14 carl Status in progress => resolved
2023-05-12 21:14 carl Resolution open => fixed
2023-05-12 21:14 carl Note Added: 0005680
2023-05-16 13:07 overlookmotel Note Added: 0005686
2023-05-16 13:53 overlookmotel Note Added: 0005687
2023-05-16 15:08 carl Note Added: 0005688
2023-05-16 15:12 carl Relationship added related to 0002533
2023-05-16 15:25 carl Note Edited: 0005688
2023-05-16 16:12 overlookmotel Note Added: 0005689
2023-05-16 22:14 carl Status resolved => confirmed
2023-05-16 22:15 carl Target Version 2.16.56 => 2.16.57
2023-05-16 22:20 carl Status confirmed => resolved