+
+2018-10-15 - 2.10.31
+ o NOTE: Use of MXFGCGenericEssenceMultipleMappings in AS-02 files is not
+ defined by standards and will soon be withdrawn from this library. If you
+ would like to experience this change now, define the macro
+ ASDCP_GCMULTI_PATCH
+ o Removed PIMD support (unused prototype)
+ o Returned the DataEssenceCoding UL version byte to "5" in Atmos files
+ o Fixed ColorPrimaries_ACES UL version byte
+ o Added "FSKSync" audio channel label to the MCA label generator
+ o SMPTE RDD 45 requires a minimum BER encoding length of five (5) bytes for
+ Content Element packets. The Write_EKLV_Packet() API has been modified to
+ allow the specification of this value. All existing wrapping modules have
+ been changed to conform to the new API, and all continue to use four (4)
+ as the minimum BER encoding length. Write_EKLV_Packet() will continue to
+ generate BER encodings with a length greater than the specified minimum for
+ payloads that are larger than values encoded using the specified minimum.
+
+
+2018-09-14 - 2.9.30
+ o Fixes wrong MajorVersion in Preface
+ o Adds VideoLineMap also to RGBA essence descriptor
+ o Adds VideoLineMap to RGBA and CDCI descriptor only when option -l
+ is present (disputable - but distinguished value {0, 0} is not
+ allowed in closed and complete partitions)
+ o Fixes issue with IndexRate not set in AS-02 J2K files
+ o Additional fixes to minor version number in AS-02 partition packs
+ o CMake brought up to date
+ o Fixed erroneous WAV RF64 header interpretation
+ o ACES AS-02 ST 2065-5 wrapper
+ o ACES AS-02 ST 2065-5 unwrapper
+ o ST 2067-50 Subdescriptors support
+ o ST 2067-50 Target Frame wrapping support
+ o ST 2067-50 Target Frame unwrapping support
+ o Command line tools as-02-wrap, as-02-unwrap and as-02-info extended to
+ support ACES, App#5 subdescriptors and Target Frames
+ o Beta support for ST2065-5 AS_02 ACES wrapping and unwrapping including
+ ST 2067-50 Subdescriptors and Target Frame support
+ o Please report ACES-related issues to wolfgang.ruppel@hs-rm.de
+
+
+2018-08-08 - 2.8.29
+ o Modified AS_02::ST2052_TextParser::OpenRead signature
+ o Fixed partition version error in AS-02 interior body partitions
+ o Changed StartTimecode to 0 (zero) in the Source Package
+ o Remove use of BN_init in OpenSSL API
+ o XML parser now works correctly with Xerces-c 3.x
+ o Improved MCA sound field expression parser
+ o Added support for IMF Numbered Source Channel labels in MCA
+ o Added CLI switches for MCAAudioContentKind and MCAAudioElementKind
+ o Re-assigned asdcp-wrap option '-g' to '-x', added new option '-g'
+ o Added TLM marker check to j2c-test
+ o Added to kmrandgen options '-C', '-w', '-W'
+ o Added support for SMPTE RDD 47 "ISXD Track File"
+ o Added generic support for SMPTE RP 2057 "Text-Based Metadata Carriage in MXF"
+ o Re-factored AS-02 frame-wrap index write to use a common implementation
+ o Re-factored support for SMPTE ST 410 to use a common implementation (affects
+ AS-DCP and AS-02 timed-text MXF (SMPTE 429-5)
+ o Patched several ambiguous integer casts.
+ o Added new essence type identifiers ESS_AS02_ISXD and ESS_AS02_ACES
+ o Fixed a bug wherein the Generic Container data track clip was instead being
+ written as a DM track
+ o Fixed UL values DCDataDescriptor and ContainerConstraintSubDescriptor to have
+ a byte 6 value of 0x53 (Tag Set) instead of 0x07 (coding sentinel)
+ o Added UL values 468 - 511 to the dictionary (including added ACES UL values)
+ o Added ApplicationSchemes and ConformsToSpecifications to the Preface set
+ o Added default initializer to MXF::LineMapPair
+ o Added sets DescriptiveFramework, DescriptiveObject, TextBasedDMFramework,
+ TextBasedObject, GenericStreamTextBasedSet and ISXDDataEssenceDescriptor,
+ ACESPictureSubDescriptor, TargetFrameSubDescriptor
+ o Added ISXD support, options '-c', '-g', '-G', '-v', '-q', '-u' to as-02-wrap
+ o Added ISXD support and option '-g' to as-02-unwrap
+ o Cleaned up definition of UL WaveAudioDescriptor_PeakEnvelopeData (currently
+ unused)
+ o Moved ReferenceAudioAlignmentLevel from WaveAudioDescriptor to
+ GenericSoundEssenceDescriptor
+
+
+2016-12-10 - MDD bug fix 2.7.19
+ o The previous version (2.7.18) contained incorrect MDD.cpp and MDD.h
+ files which affect the PIMF and JP2KEssenceCompression labels.
+
+
+2016-12-10 - bug fixes 2.7.18
+ o Fixed *all* Partiton version numbers in AS-02 files (the previous attempt
+ only affected the header partition)
+ o Improved IMSC-1 profile detection. May not yet be perfect, experimentation
+ encouraged!
+ o Added IMF App2e UL values and new MXF data types ColorPrimary and
+ ThreeColorPrimaries (contributed by Schleich)
+ o Added picture descriptor elements MasteringDisplayPrimaries,
+ MasteringDisplayWhitePointChromaticity, MasteringDisplayMaximumLuminance,
+ and MasteringDisplayMinimumLuminance
+ o Added -o and -O options to as-02-wrap
+ o Fixed as-02-wrap option -p when making 4:4:4 files
+ o Simplified as-02-wrap syntax description
+
+
+2016-12-01 - bug fixes 2.6.17
+ o Fixed Partiton and Preface version numbers in AS-02 files
+ o Replaced WIN32 directory scanner with dirent_win.h
+ o The NamespaceURI property of AS-02 timed text files has been exposed in the API
+ and via as-02-wrap -P. This behavior replaces previous bad behavior, but puts
+ responsibility for selecting the correct value on the operator.
+ o Exposed CreatePNGNameId and CreateFontNameId subroutines in AS_02::TimedText
+ o Adjusted UUID generation based on PNG and font names to exclude paths by
+ inserting a call to PathBasename at each Id generation site
+ o Fixed AS-02 timed text index partition
+ o Fixed contents of generic partiton EssenceContainers property in AS-DCP timed
+ text files
+ o Added PixelLayout to RGBAEssenceDescriptor (contributed by Schleich)
+ o Cleared up MXFGCP1FrameWrappedPictureElement / MXFGCP1FrameWrappedPictureElement
+ ambiguity. PHDR continues to use MXFGCP1FrameWrappedPictureElement.
+ MXFGCI1FrameWrappedPictureElement is supported for interlace.
+ o Added support for 192, 200 and 240 fps images, includes 96, 100 and 120 fpe stereo
+ o Added missing MCA properties to MCALabelSubDescriptor (contributed by Ruppel)
+ o New MXF data type: LineMapPair
+ o Added default 0,0 VideoLineMap value when wrapping CDCI with as-02-wrap
+ o Added VideoLineMap property to GenericPictureEssenceDescriptor
+ o Added timed text unwrap support to as-02-unwrap (contributed by Ruppel)
+ o Added prototype PIDM dynamic metadata wrapping, config with --enable-phdr
+ (Not for production use, caveat emptor, not the droids, etc.)
+
+
+2016-08-11 - bug fixes, 2.5.15
+
+ o Modified as-02-wrap to pass WhiteRefLev, BlackRefLev and ColorRange
+ (contributed by Elmer Musser / Rod Bogart)
+ o Fixed a bug in the index reader that allowed an out-of-bounds vector index
+ to be used.
+ o Modified the IndexEntry parser to ignore additional bytes belonging to slice
+ values.
+
+
+2016-05-06 - bug fixes, 2.5.14
+
+ o Release 2.5.12 caused two problems with Atoms and DTS-X wrapping that are
+ addressed by this release. The UL values that were changed to correct the
+ DCData (ST 429-14) implementation had two unintended side-effects:
+ 1. v2.5.12 cannot read old DCData (and thus DTS-X) track files
+ 2. v2.5.12 creates broken Atmos track files (incorrect ULs)
+ The fix for this involved the following changes:
+ 1. ASDCP::DCData::(MXFReader|MXFWriter) are no longer base classes of
+ ASDCP::ATMOS::(MXFReader|MXFWriter).
+ 2. New UL values have been added to carry the original Atoms UL values:
+ a. DolbyAtmosDCDataWrappingFrame
+ b. DolbyAtmosDCDataEssence
+ c. DolbyAtmosDCDataDescriptor
+ 3. ASDCP::ATMOS::(MXFReader|MXFWriter) have been modified to use the
+ DolbyAtmosDCData* UL values.
+ 4. ASDCP::DCData::MXFReader will parse files having either DCData* or
+ DolbyAtmosDCData* UL values.
+ 5. ASDCP::DCData:: MXFWriter continues to use DCData* UL values from ST
+ 429-14
+ o Some optional parameters of the MXF metadata packs were being erroneously
+ initialized with a value of zero (0), such as GenericPictureEssenceDescriptor
+ ::SignalStandard, GenericPictureEssenceDescriptor::SampledXOffset(0), etc.
+ o Added higher edit rates (96, 100, 120) to the cinema TimedText_Parser
+
+ o Defined bool ASDCP::UL::operator<(const UL& rhs) const, which is needed to
+ carry out the version-insensitive lookup policy when searching for ULs in a
+ std::map<> of UL entries.
+ o New files: src/info.in src/CMakeLists.txt
+ o Removed filess: AS_DCP_DCData_internal.h
+
+
+2016-03-17 - bug fixes, 2.5.12
+ o Changed default UNIX file permissions to "666"
+ o Changed default UNIX file permissions to "777"
+ o Added missing initializer for caltime::offset
+ o Fixed UL values for Aux Data files (per ST 429-14)
+ o Added support for default TTML fonts (ST2052_TextParser)
+ o Added Solaris patch to KM_fileio (Thanks Mikey!)
+ o Fixed the version byte in UL DataEssenceCoding
+ o Fixed duplicate linkage error for symbol MIME2str
+ o Big patch from Wolfgang Ruppel:
+ o Corrected erroneous fixed-tag values in ActiveHeight, ActiveWidth,
+ ActiveXOffset, ActiveYOffset UL definitions.
+ o Provided a stub implementation for Kumu::DirScannerEx (A real
+ implementation will follow soon.)
+ o Added as-02-info program
+ o Added Seek() method to PCM parsers
+ o Added CMakeLists.txt
+
+
+2015-11-10 - bug fixes, IMF text, pink noise, 2.5.11
+ o I moved personal dev environment from older gcc to newer clang. Many
+ small changes were made to satisfy the new compiler:
+ - Altered many printf format codes to use the correct format for the
+ given integer type.
+ - Parenthesized some expressions to clarify previously ambiguous
+ expectation about precedence.
+ - Created macro KM_MACOSX for use in OS-specific code selection.
+ - Removed last uses of the old C-language abs(), now using Kumu::xabs().
+ - Removed last uses of the old C-language atoi(), not using strtol().
+ o Added platform-independent call Kumu::GetExecutablePath() (to be tested
+ on win32).
+ o Added new capabilities to Result_t.
+ o Added imlementation of SMPTE ST 2092-1 pink noise generator.
+ o Added pinkwave CLI utility.
+ o Added font support to the IMF timed-text wrapper.
+ o Fixed a bug that was causing Array properties to be written without
+ the (count, length) header (from PAL).
+ o General review of Batch/Array distinction throughout the project.
+ o Cleaned up definitions of optional properties in all MXF metadata packs.
+ o Fixed Win32 build (from Crowe).
+ o Fixed a bug that caused incorrect failure when parsing JPEG 2000
+ codestreams having fewer than five decomposition levels. (from Korneder).
+ o Fixed missing UUID generation in some instances of the MCALinkID property.
+ o Added -w option to asdcp-wrap to support use of WTF label with MCA.
+ o Altered asdcp-wrap to recognize "-C <UL>" when MCA is being used.
+ o Fixed broken -A <w>/<h> option in as-02-wrap and phdr-wrap.
+ o asdcp-wrap and as-02-wrap now allow split channel groups in MCA labels.
+
+
+2015-02-23 - bug fixes, 2.4.10
+ o Fixed a new bug introduced by the fix to large numbers of subtitle ancillary
+ resources.
+ o Added support for generic Aux Data (ST 429-14) to asdcp-wrap.
+
+
+2015-02-19 - PHDR feature, bug fixes, 2.4.9
+ o Modified PCMParser and PCMParserList to return partial frame buffers at the
+ end of a WAV input file. This was needed to allow wrapping all samples into
+ an AS-02 audio file (which is clip-wrapped) in the case where the input file
+ has an odd number of samples with respect to the frame buffer size being
+ used. If there is more than one input file the length of the last buffer
+ will be determined by PCMParserList to be the shortest of the input files.
+ Prior to this change, partial samples in an input WAV file have been
+ abandoned (i.e., not written out to the MXF file). As a result, AS-DCP
+ applications will have to decide whether to abandon the partial last frame
+ (usually detected by testing frame_buffer.Size() != frame_buffer.Capacity())
+ or write it to the MXF file. Programs written to the old API will write the
+ partial frame (i.e., new behavior.) This should not be harmful since the
+ remainder of the buffer is zeroed and the output file will contain one
+ additional edit unit compared to the previous version.
+ o asdcp-wrap has been modified to test for the partial buffer and by default
+ will complain and abandon the buffer (i.e., same behavior but with a warning
+ message.) A new command line switch (-g) alters this behavior and writes
+ the buffer to the MXF file (it still warns the user that this condition is
+ present.)
+ o as-02-wrap now wraps all samples from the input file to the MXF file. There
+ is no padding, the clip is exactly the set of samples from the input.
+ o as-02 unwrap is temporarily restricted to creating wav files that are
+ aligned with the frame buffer size. This means that the output file will
+ be longer than the original WAV input in the case where the input file has
+ an odd number of samples with respect to the frame buffer size being used.
+ The pad samples are zero (silence).
+ o Modified CalcFramesFromDurationInSamples() to increment the count by one for
+ the case where the input file has an odd number of samples with respect to
+ the frame buffer size being used (previously it truncated the odd samples.)
+ o Fixed ST 429-5 / ST 2067-5 wrapping to increase header space when ancillary
+ resources are present (fixes a bug that cause the header to overflow the
+ allotted space when large numbers of PNG files were present.)
+ o Refactored GetXMLDocType() to use the XML parser.
+ o Added ParseFirstFromString() method to Kumu::XMLElement
+ o Removed Kumu::StringIsXML from the API.
+ o Added ASDCP::MXF::RGBALayout type
+ o Added J2CLayout property to JPEG2000PictureSubDescriptor
+ o Changed km_token_split() to retain empty elements in the output list
+ o Added PHDR wrapping for AS-02.
+ o Added J2CLayout property to the JPEG2000PictureSubDescriptor. This
+ support is preliminary: the Raw data type is being used instead of
+ RGBALayout type, which will be in the next release.
+
+
+2014-10-2 - Bug fixes and enhancements, 2.2.6
+ o Fixed erroneous 377-4 MCA identifier in AS_DCP_PCM dump routine
+ o Fixed erroneous byte 13 in
+ WaveAudioDescriptor_ReferenceAudioAlignmentLevel label
+ o Added missing implementation of -W option to as-02.unwrap
+ o Fixed erroneous use of d-cinema ChannelAssignment label in as-02-wrap
+
+
+2014-10-01 - Bug fixes and enhancements, 2.2.5
+ o Finished AS-02 text wrap/unwrap
+ o Fixed fractional seconds parsing for Timestamp objects
+ o Updated KLVPacket to use 64-bit length; allows huge packets
+ in AS-02 PCM files
+ o cleaned up use of atoi() in the library
+
+
+2014-07-09 - Additional IMF/AS-02 support, bug fixes and enhancements, 2.1.4
+ o Added IMF App 2 edit rates in AS_02 namespace: EditRate_29_97,
+ EditRate_59_94.
+ o Revised AEC CBC context objects to copy the key rather than
+ keep the reference passed in to it.
+ o Addressed a bug that would allow unimpeded iteration of component
+ values in a JP2K::PictureDescriptor object.
+ o Addressed a bug that was incorrectly recording the sequence Duration
+ in MXF Track objects.
+ o Added ASDCP::AtmosSyncChannelMixer::AppendSilenceChannels()
+ o Added a QCD decoder to the j2c parser.
+ o Altered ASDCP::KLVPacket::HasUL() to use version-blind matching.
+ o Fixed an uninitialized variable in MemIOReader::ReadString() that
+ caused unbounded reads.
+ o Fixed broken ByteString::ArchiveLength() method
+ o Fixed broken version numbers on SoundfieldGroupLinkID and
+ GroupOfSoundfieldGroupsLinkID UL values.
+ o Added DBOXMotionCodePrimaryStream and DBOXMotionCodeSecondaryStream UL
+ values to the internal dictionary.
+ o Added optional prefix handling to MCA label generator.
+ o Re-factored MCA label generator to include additional
+ metadata (Thanks to Mike Radford).
+ o Added new options to as-02-wrap.
+
+
+2014-01-06 – Additional IMF/AS-02 support, bug fixes 2.1.1
+ o Fixed missing-index-partion bugs for AS-02 files.
+ o Moved LocalFilenameResolver into the AS_DCP public API so that it
+ can be used by other modules including AS-02.
+ o Did further refactoring of AS-02 Writer classes to separate CBR
+ and VBR indexing implementations.
+ o Fixed wave wrapping UL in clip-wrapped AS-02 files. Renamed some
+ UL constants to reflect "clip" or "frame" wrapping.
+ o Re-factored JP2K_PDesc_to_MD() and MD_to_JP2K_PDesc() to work
+ with GenericPictureEssenceDescriptor objects.
+ o Fixed a bug that was suppressing PictureComponentSizing,
+ CodingStyleDefault and QuantizationDefault when writing the
+ essence descriptor in a JP2K file (AS-DCP and AS-02).
+ o Fixed the version byte on the following UL values:
+ StereoscopicPictureSubDescriptor
+ GenericPictureEssenceDescriptor_ColorPrimaries
+ GenericPictureEssenceDescriptor_ActiveHeight
+ GenericPictureEssenceDescriptor_ActiveWidth
+ GenericPictureEssenceDescriptor_ActiveXOffset
+ GenericPictureEssenceDescriptor_ActiveYOffset
+ o Added some essence descriptor options to as-02-wrap.
+ o Changed bit rate display in asdcp-info from mebi-bits/s to
+ mega-bits/s.
+ o Added "SMPTE" / "Interop" format type display to asdcp-info.
+ o Improved integration of ST 377-4 MCA concepts with ST 429-2 static
+ labels.
+ o Modified asdcp-wrap to assume -L when wrapping timed-text (since
+ there is no MXF text wrapping for Interop.)
+ o Added new EssenceType_t values for IMF/AS-02 track files.
+ o Added detection for AS-02 track files to ASDCP::EssenceType()
+ o Changed lots of "const char*" to "const std::string&" in the
+ APIs defined by KM_fileio.h and AS_DCP.h.
+ o Fixed VBR Delta Segment entries to correctly flag progressive
+ material.
+ o Fixed PCM unwrapping bugs in as-02-unwrap.
+ o Fixed missing return statement in ArchivableString::ArchiveLength
+ (thanks to both Kristof Provost and Franck Chopin)
+ o Fixed broken sample alignment in RF64Writer (thanks to Wolfgang
+ Woehl and Dolby)
+ o Fixed win32 build (thanks to Dolby)
+ o fixed a bug that caused blackwave to only produce 96kHz WAV files.
+ (thanks to Stephane W)
+
+
+2013-07-02 – IMF/AS-02 support, bug fixes 2.0.0
+ o Massive refactoring of internals to allow easier implementation
+ of AS-02. Some API changes were made as well (note that
+ OPAtomHeader is now OP1aHeader and RIP is no longer part of the
+ OP1aHeader.) If you are using this project as a library (and
+ especially if you are keeping patches against it) PLEASE TAKE
+ TIME TO EVALUATE THIS RELEASE THOUROUGHLY BEFORE ADDING IT TO
+ YOUR RELEASE PATH.
+ o Final integration of Fraunhoffer IIS code contribution. AS-02
+ files are now fully supported with some TODOs and two major
+ exceptions: LEAD indexes are not supported by the MXF writers
+ and interlace images are not yet supported.
+ o Added support for MCA labels (ST 428-12) to asdcp-wrap. Note
+ that this project is still in the early stages of interop testing
+ so errors are likely present and don't expect any server to
+ make use of this feature.
+
+
+2013-07-01 - Bug fixes, enhancements 1.12.50
+ o Fixed missing return statement in ArchivableString::ArchiveLength
+ (thanks to both Kristof Provost and Franck Chopin)
+ o Fixed broken sample alignment in RF64Writer (thanks to Dolby)
+ o Fixed win32 build (thanks to Dolby)
+
+
+2013-04-12 - Dolby Atmos support and more audio labels 1.11.49
+ o Significant code contribution from Dolby Laboratories to add
+ support for generic data track files as proposed in ST 21DC
+ and also Dolby Atmos track file support as a specialization.
+ o Added Dolby-contributed code to support generating the external
+ sync signal for d-cinema as proposed in ST 21DC.
+ o Added Dolby-contributed code to support RF64 WAVE files.
+ o Fixed UL error in ST 429-5 DM encoding (contributed by Dolby).
+ o Added ULs for ST 428-12 and Amd. 429-2 2013. Please check!
+
+
+2013-02-20 - bug fixes, enhancements 1.10.48
+ o Refactored internals of the AS-DCP file readers. While no
+ changes in behavior are intended, users are cautioned to test
+ thouroughly before use in production.
+ o Fixed a bug in ReadAncillaryResource that was causing bogus HMAC
+ failures when reading resources from a file.
+ o Fixed premature-release bug in the Expat version of the XML parser.
+ Thanks to Carsten Feldheim (IIS) for the tip.
+ o Fixed -W option in asdcp-unwrap. Thanks to RGB.
+ o Added P-HFR support to asdcp-wrap (see URL for details:
+ http://isdcf.com/papers/ISDCF-HighFrameRate-DCP.pdf).
+ o Added support for SMPTE ST 428-21 "Archival Frame Rates".
+ o Added -P option to asdcp-wrap (inserts arbitrary UL into the
+ PictureEssenceCoding property when wrapping JP2K files.)
+ o Added support for 96 kHz files to blackwave.
+ o Added new path and string manglers to Kumu.
+ o Updated MCA ULs (I warned you...). Again please take some
+ time to proof this work against ST 477-4 including the latest
+ drafts of the registries.
+ Changed the version byte (8 0f 16) to 0x0e:
+ MCALabelSubDescriptor
+ AudioChannelLabelSubDescriptor
+ SoundfieldGroupLabelSubDescriptor
+ GroupOfSoundfieldGroupsLabelSubDescriptor
+ GroupOfSoundfieldGroupsLinkID
+ Changed bytes 8 and and 13 of SoundfieldGroupLinkID
+ Added items to the UL dictionary:
+ MCAPartitionKind
+ MCAPartitionNumber
+ MCATitle
+ MCATitleVersion
+ MCATitleSubVersion
+ MCAEpisode
+ MCAAudioContentKind
+ MCAAudioElementKind
+
+
+2012-08-07 - bug fix, 1.10.46
+ o Added missing zero-initializers to time values when parsing a
+ timestamp string (in the case where the optional [Thh:mm.[:ss]]
+ syntax is not present in an encoded string).
+
+2012-03-06 - bug fixes, enhancements 1.9.45
+ o Removed ASDCP::Timestamp, all items that were of that class are now
+ of class Kumu::Timestamp
+ o Refactored Kumu::Timestamp to use KM_tai for internal representation
+ (replaced public Y M D, h, m, s variables)
+ o Refactored Kumu::Timestamp to use KM_tai for WIN32 builds
+ o Added UTC offset awareness to Kumu::Timestamp
+ o Replaced "long GetSecondsSinceEpoch(void) const" with
+ "ui64_t GetCTime() const"
+ o Corrected UL version segment in "7.1 DS" and "WTF" audio format
+ labels (corresponds with publication of ST 429-2:2011).
+ o Exposed MXF object interface (MXF.h, Metadata.h) via ASDCP MXFReader
+ and MXFWriter classes.
+ o Added UL values from ST 377-4:2012. >>>>NOTE: These are preliminary
+ values, subject to change upon final publication of not only ST 377-4
+ but also the relevant registries. This is a good time to compare them
+ to the standard and complain if you think they are wrong!
+ o Added MCALabelSubDescriptor, AudioChannelLabelSubDescriptor,
+ SoundfieldGroupLabelSubDescriptor, and
+ GroupOfSoundfieldGroupsLabelSubDescriptor (from ST 377-4:2012) to
+ Metadata.h
+ o Changed some internals to make MXFWriter::OPAtomHeader() work correctly.
+ o Split asdcp-test into several different programs to help relieve
+ the impenetrable-list-of-arguments problem. asdcp-wrap, asdcp-unwrap
+ and asdcp-info take the place of asdcp-test's -c, -x and -i options,
+ respectively. asdcp-util contains the remaining functions. Note that
+ asdcp-test is now DEPRECATED, new functionality and bug fixes will be
+ aimed at the new tools. Also note that some options and calling
+ conventions are different for the new tools as compared to asdcp-test.
+ Please read the synopses and make sure you understand the new idioms.
+ o asdcp-wrap has a new argument, -C <UL>, that writes the given UL to the
+ ChannelAssignment item in the WaveAudioDescriptor (only useful when
+ writing PCM essence).
+
+
+2011-11-30 - bug fixes v1.8.44
+ o Corrected a wrong decryption UL selection when unwrapping MXF.
+
+
+2011-10-27 - bug fixes v1.8.43
+ o Corrected broken Essence UL matching. (Thanks to Michael Loder).
+
+
+2011-08-31 - bug fixes v1.8.42
+ o Added missing HFR support for PCM essence reader/writer.
+
+
+2011-08-30 - bug fixes, enhancements v1.8.41
+ o UL version byte now ignored when comparing UL values.
+ o Changed the version byte in the TimedTextEssence UL to 0x01. There
+ is no published Essence Keys registry so it can't have a maintained
+ version number.
+ o JP2K Sequence Parser modified to skip directory entries that
+ are not files in the case where the parser is initialized with
+ a directory path. When initialized with a list of file names
+ this check is not performed. Based on a hint by Steve Quartly.
+ o Increased the size of the MPEG header parser buffer.
+ o Added missing FrameType() implementation to ASDCP::MPEG2::MXFReader.
+ o Added missing Close() implementations to MXF reader classes.
+ o Added missing Timestamp::Timestamp(const char* datestr) implementation.
+ (Thanks to Matt Sheby for this and the previous three items.)
+ o Fixed error in Kumu::FortunaRNG::FillRandom() that was returning the
+ end of the random buffer instead of the front (Thanks to Mike Radford).
+ o Added support for proposed sound channel format identifiers
+ '7.1DS' and 'WTF'. Optimistically chose version '0x0c'.
+ o Added support for stereoscopic images in JP2K files at edit
+ rates of 48, 50 and 60 eups (96, 100 and 120 fps).
+
+
+2010.11.15 - bug fixes, enhancements v1.7.40
+ o Fixed bug in long KLV packet support (Thanks to Jim Radford).
+ o Fixed AvgBps in PCM files, *again*. Sorry for the crazy.
+ o More fixes and changes in support of 25, 30, 50, 60 fps.
+ (Thanks to Hans K. for the TC rate bug).
+ o Updated KLVFill UL version element to 0x02.
+ o Type change to support Xerces-C 3.x. (Thanks to Matt Sheby).
+ o Some internal API changes to KLV types. Does not affect
+ operation.
+ o Added NetworkLocator type to MXF metadata types.
+ o Added file offset display to klvwalk.
+
+
+2010.09.09 - bug fixes, enhancements, v1.7.39
+ o Fixed bug in JP2K PictureDescriptor initialization in
+ JP2K::MXFReader::OpenRead() and JP2K::MXFSReader::OpenRead()
+ o Once again fiddling with AvgBbs. How can something so simple
+ be such a constant cause of trouble? Tested with 1-, 2- and
+ 6-channel input Wav files.
+ o asdcp-test now accepts a directory name when making PCM
+ files (-c). The directory name should be the only filename
+ argument. All files in the directory must be Wav files
+ (mixed channel sizes OK). Files are sorted alphabetically by
+ filename. Hint: use numeric name infix to define order:
+ my_movie_00_L.wav
+ my_movie_01_R.wav
+ my_movie_02_C.wav
+ my_movie_03_LFE.wav
+ my_movie_04_LS.wav
+ my_movie_05_RS.wav
+
+
+2010.07.20 - bug fixes, v1.6.37
+ o Fixed TimedTextResourceSubDescriptor UL value.
+
+
+2010.06.16 - bug fixes, v1.6.36
+ o Added support for new Edit Rates to asdcp-test.cpp.
+ o Expanded timed-text file reader in asdcp-test.cpp.
+ o Fixed large BER value encoding (plaintext) and decoding
+ (plaintext and ciphertext). This feature was introduced in
+ v1.5.31).
+ o Fixed AvgBps value for multi-channel Wave input.
+
+
+2010.05.13 - bug fixes, enhancements, v1.6.34
+ o ST 429-5 files have corrected ULs for DCTimedTextDescriptor and
+ GenericStream DataElement. Files made with previous versions of
+ the library are incompatible with this and future versions.
+ o Fixed File Package TrackNumber values. Th
+anks to Sankar.
+ o Added edit rate constants to AS_DCP.h (25, 30, 50, 60).
+ o Changed AudioDescriptor "SampleRate" element name to "EditRate"
+ to make it consistent with the other types.
+ o Now builds with XercesC 3.x.
+ o KM_memio.h has better const behavior.
+ o Fixed a bug in KM_memio.h string archiving.
+
+
+2010.01.05 - bug fixes, enhancements, v1.5.32
+ o Re-fixed swapped Interop and SMPTE OP Atom UL values. The swap
+ introduced in v1.5.31 was done in error.
+ o Added -z,-Z options to asdcp-test (j2c parameter checking)
+ o Reformed jp2k-test as j2c-test, added help and list processing,
+ added to standard install target.
+
+
+2009.12.31 - bug fixes, enhancements, v1.5.31
+ o Fixed swapped Interop and SMPTE OP Atom UL values.
+ o Added get_BER_length_for_value() subroutine.
+ o Modified ASDCP::h__Writer::WriteEKLVPacket() to allow larger BER
+ lengths for KLV packets larger than 16 MB. This was required to
+ support large font files in the SMPTE 429-5 implementation.
+
+
+2009.11.06 - bug fixes, enhancements, v1.5.29
+ o Fixed a bug that could cause HMAC values to be incorrectly
+ stored in MXF files. Files created with versions of asdcplib
+ prior to this version may have incorrect HMAC values.
+ o Improved handing of XML files for MXF wrapping.
+ o Jpeg2000 codestream EditRate and SampleRate mismatches
+ now warns instead of returning an error.
+ o Improved error handling in Jpeg2000 sequence parsing routines.
+ o Added two methods to Kumu::Timestamp, AddSeconds(), to add (or
+ subtract) seconds to a time value, and GetSecondsSinceEpoch()
+ to get the number of seconds since the unix epoch.
+ o Added new option to asdcp-test, '-a', to specify a UUID when
+ creating MXF files.
+ o Added support for specifying the intrinsic duration of MXF files
+ containing timed text.
+ o Added new option to wavesplit, '-i', to display WAV file metadata.
+
+
+2009.05.21 - bug fixes, v.1.4.24
+ o Fixed a bug that caused incorrect SubDescriptors UL values to be
+ written into interop format MXF track files. Note that this involved
+ a substantial reorganization of MXF internals. Please test thoroughly
+ in your application before using in production. Note that this is a
+ significant bug fix and track files created with 1.4.22 may be incompatible
+ with other systems.
+
+
+2009.04.09 - SMPTE format fixes, enhancements and bug fixes, v.1.4.22
+ o asdcplib now uses GNU autotools on POSIX systems to configure
+ and build. See "./configure" for details. Note that two options,
+ --enable-freedist and --with-python are not enabled in the free
+ version of asdcplib and should not be used.
+ o Added build option (CONFIG_RANDOM_UUID) to enable mixed case UUID
+ generation when environment variable KM_USE_RANDOM_UUID is defined.
+ o Fixed a condition that could cause an error to occur when wrapping
+ SMPTE format timed text track files that do not define a starting
+ frame.
+ o Updated ULs for SMPTE format track files.
+ o SampleRate added to JP2K metadata
+ o Support for wrapping 96kHz WAV files added.
+ o Updated ULs for audio channel formats (ChannelFormat)
+ o Updated font subdescriptor MIME Types for TimedText Trackfiles.
+ o Changed time implementation to support dates beyond Jan 19th, 2038.
+ o Xerces-C XML parser support added.
+ o New build method for Windows (see win32/README.txt for details).
+ o Added new functionality in Kumu to recursively create and delete files
+ and directories, and get free disk space for a given volume path.
+ o Added a method to Kumu::Timestamp, AddMinutes(), to add (or subtract)
+ minutes to a time value.
+ o Improved how Kumu::Timestamp parses timestamps with offsets.
+ o Fixed a bug that caused incorrect HMAC values to be calculated.
+
+
+2008.02.16 - SMPTE format fixes, bug fixes v.1.3.18
+ o Added correct SMPTE UL for StereoscopicPictureSubDescriptor.
+ o Exposed JP2K metadata parser as ParseMetadataIntoDesc().
+ o Added simple stereoscopic framebuffer to support paired ReadFrame()
+ and WriteFrame() methods (allows simpler integration with other
+ single-buffer code).
+ o Improved detection of JPEG Interop stereoscopic files.
+ o Win32 build fixes (Thanks to Mike Crowe at DTS).
+ o Added the WITH_MD macro to the makefile. Set this value to one
+ to build Win32 with /MD[d] instead of /MT[d].
+ o The Generic Container UL has been added to the EssenceContainers
+ set in the header partition pack for encrypted files. It has always
+ been there in plaintext files.
+ - Below this point the changes are internal and should not affect you
+ unless you use Kumu directly.
+ o Major refactoring of KM_log.[h|cpp].
+ o Fixed buffer re-sizing issue in Kumu::ByteString.
+ o Replaced type IdentifierList with ArchivableList.
+ o Added COPYING file to the release bundle.
+
+
+2007.12.13 - Bug fixes v.1.2.17
+ o Changed Result_t implementation to use int instead of long, which
+ was causing trouble on some 64 bit platforms.
+ o Fixed EKLV HMAC. NOTE: Breaks backward compatibility with older
+ Interop files. To validate these files, use asdcplib-1.1.14. This
+ should not cause too much trouble since files with broken and
+ non-broken HMAC have been in the wild for years without issue.
+ o Fixed HMAC sequence numbering in encrypted stereoscopic files.
+ o Finished stereoscopic test targets in the makefile.
+ o Fixed the win32 build, now expects VS2005 compiler by default,
+ use WITH_VC6=1 top get VC6 flags.
+ o Stereoscopic and Timed Text modes now have SMPTE UL values.
+ NOTE: SMPTE 429-5 and 429-10 are not yet published. It is possible
+ that these UL values may change before publication. Please use
+ caution when using these features for production work.
+ o Changed a bunch of symbol names in the 429-5 implementation to
+ better match the spec.
+ o Added -U option to asdcp-test to dump the UL library to stdout.
+ o Fixed erroneous placement of the PictureEssenceCoding UL in JP2K
+ files (Interop and SMPTE modes).
+
+
+2007.10.22 - Timed Text, Stereoscopic Picture and Bug fixes v.1.2.16
+ o Significant API changes have been made. Please read all entries
+ in this changelog to be sure you understand the changes. Also
+ note that some changes have been made to LS_MXF_SMPTE files that
+ are incompatible with earlier releases (e.g., EKLV HMAC). If
+ you are looking for a stable interop release, use v.1.1.14.
+ o Fixed RFC 2104 HMAC implementation for LS_MXF_SMPTE only. The
+ broken implementation has been maintained for Interop mode.
+ o Added support for draft SMPTE 429-5 Timed Text Track File. This
+ is still waiting for official SMPTE ULs, so do not use it for
+ shipping products. An XML parser is needed to create a Timed
+ Text Track File; Expat is now an optional part of the build.
+ Make with WITH_XML_PARSER=1 to link with Expat. If you do not
+ link with expat, you will get an error when using the TimedText::
+ DCSubtitleParser class. See also S429-5-cgi.cpp for an example
+ that shows how to serve plaintext MXF file elements directly via
+ HTTP.
+ o Added support for draft SMPTE 429-10 Stereoscopic Picture Track
+ File, including the JPEG Interop version. This is still waiting
+ for official SMPTE ULs, so do not use it with LS_MXF_SMPTE for
+ shipping products.
+ o Refactored the following files as a side-effect of the above
+ work: AS_DCP_JP2K.cpp AS_DCP_MPEG2.cpp AS_DCP_PCM.cpp
+ AS_DCP_MXF.cpp AS_DCP_internal.h MXF.[h|cpp] MXFTypes.[h|cpp]
+ Metadata.[h|cpp] h__Reader.cpp h__Writer.cpp klvwalk.cpp.
+ WARNING: While significant effort has been extended to make sure
+ that these changes do not affect existing stable file support,
+ users are cautioned to test this release thouroughly.
+ o Added a large set of filesystem path manglers to KM_fileio.h. See
+ path-test.cpp for example usage. The path manglers have not yet
+ been tested on win32 platforms (they are currently used only by
+ the Timed Text module.
+ o The PathIsFile(), PathIsDirectory() and FileSize() subroutines
+ have been modified to accept const std::string& instead of
+ const char*.
+ o Added namespace and parsing support (Expat) to Kumu::XMLElement
+ (currently used only for Timed Text support). Also added some
+ new accessors.
+ o Altered MXF::UTF16String to use mbtowc() and wctomb().
+
+