Don't try to verify encrypted JPEG2000 bitstreams.
[libdcp.git] / doc / design
1
2 Read an existing DCP, adjust it, write it back out again, preserving things we didn't adjust;
3 perhaps being variably strict and pointing out errors.
4 Read multiple DCPs and pull bits out
5 Create a new DCP without having to remember to fill in every detail
6
7 Structures & their unique (important) components
8
9 -- CPL
10 "playlist"; entry points, durations of assets, frame rates, aspect ratios
11
12 -- PKL
13 Hashes, sizes
14
15 -- ASSETMAP
16 MXF filenames (also CPL/PKL filenames)
17
18 -- VOLINDEX
19 Nothing (unless we support multiple volumes)
20
21 -- MXFs
22 actual data
23
24
25 Approaches
26
27 1.
28 Load a DCP -> we get some assets [each with hash, size, filename] and a CPL (pointing to assets via real pointer or ID)
29 CPL its own class; then we can do things like 
30 cpl = new CPL
31 cpl->add_asset (picture, ...)
32 DCP dcp (cpl);
33 dcp.write_xml ();
34
35 Can't see a drawback with this, and it's pretty much what is happening now.