├── .gitignore ├── COPYING ├── Dockerfile ├── Makefile.am ├── README.md ├── TODO-AVC.txt ├── TODO-FEATURES.txt ├── TODO-ISSUES.txt ├── apps ├── Makefile.am ├── bmxparse │ ├── Makefile.am │ └── bmxparse.cpp ├── bmxtimecode.cpp ├── bmxtranswrap │ ├── MXFInputTrack.cpp │ ├── MXFInputTrack.h │ ├── Makefile.am │ └── bmxtranswrap.cpp ├── mxf2raw │ ├── APPInfoOutput.cpp │ ├── APPInfoOutput.h │ ├── AS10InfoOutput.cpp │ ├── AS10InfoOutput.h │ ├── AS11InfoOutput.cpp │ ├── AS11InfoOutput.h │ ├── AvidInfoOutput.cpp │ ├── AvidInfoOutput.h │ ├── Makefile.am │ ├── OutputFileManager.cpp │ ├── OutputFileManager.h │ └── mxf2raw.cpp ├── raw2bmx │ ├── Makefile.am │ ├── RawInputTrack.cpp │ ├── RawInputTrack.h │ └── raw2bmx.cpp └── writers │ ├── InputTrack.cpp │ ├── InputTrack.h │ ├── Makefile.am │ ├── OutputTrack.cpp │ ├── OutputTrack.h │ ├── TrackMapper.cpp │ └── TrackMapper.h ├── autogen.sh ├── bmx.pc.in ├── configure.ac ├── docker ├── bmx_docker.sh └── tool_list.txt ├── docs ├── jpeg_2000.md └── timed_text.md ├── gen_scm_version.sh ├── include ├── Makefile.am └── bmx │ ├── BMXException.h │ ├── BMXTypes.h │ ├── BitBuffer.h │ ├── ByteArray.h │ ├── ByteBuffer.h │ ├── CRC32.h │ ├── Checksum.h │ ├── EssenceType.h │ ├── KLVParser.h │ ├── Logging.h │ ├── MD5.h │ ├── MXFChecksumFile.h │ ├── MXFHTTPFile.h │ ├── MXFUtils.h │ ├── SHA1.h │ ├── URI.h │ ├── Utils.h │ ├── Version.h │ ├── XMLUtils.h │ ├── XMLWriter.h │ ├── apps │ ├── AS10Helper.h │ ├── AS11Helper.h │ ├── AppInfoWriter.h │ ├── AppMCALabelHelper.h │ ├── AppMXFFileFactory.h │ ├── AppTextInfoWriter.h │ ├── AppUtils.h │ ├── AppXMLInfoWriter.h │ ├── FrameworkHelper.h │ ├── PropertyFileParser.h │ └── TimedTextManifestParser.h │ ├── as02 │ ├── AS02AVCITrack.h │ ├── AS02Bundle.h │ ├── AS02Clip.h │ ├── AS02D10Track.h │ ├── AS02DVTrack.h │ ├── AS02MPEG2LGTrack.h │ ├── AS02Manifest.h │ ├── AS02PCMTrack.h │ ├── AS02PictureTrack.h │ ├── AS02Shim.h │ ├── AS02Track.h │ ├── AS02UncTrack.h │ └── AS02Version.h │ ├── as10 │ ├── AS10CoreFramework.h │ ├── AS10DMS.h │ ├── AS10Info.h │ ├── AS10MPEG2Validator.h │ ├── AS10RDD9Validator.h │ ├── AS10ShimNames.h │ ├── AS10WriterHelper.h │ └── as10_extensions_data_model.h │ ├── as11 │ ├── AS11CoreFramework.h │ ├── AS11DMS.h │ ├── AS11Info.h │ ├── AS11Labels.h │ ├── AS11SegmentationFramework.h │ ├── AS11WriterHelper.h │ ├── UKDPPDMS.h │ ├── UKDPPFramework.h │ ├── as11_extensions_data_model.h │ └── uk_dpp_extensions_data_model.h │ ├── avid_mxf │ ├── AvidAVCITrack.h │ ├── AvidAVCTrack.h │ ├── AvidAlphaTrack.h │ ├── AvidClip.h │ ├── AvidD10Track.h │ ├── AvidDVTrack.h │ ├── AvidIndexTable.h │ ├── AvidInfo.h │ ├── AvidMJPEGTrack.h │ ├── AvidMPEG2LGTrack.h │ ├── AvidPCMTrack.h │ ├── AvidPictureTrack.h │ ├── AvidTrack.h │ ├── AvidTypes.h │ ├── AvidUncTrack.h │ └── AvidVC3Track.h │ ├── clip_writer │ ├── ClipWriter.h │ └── ClipWriterTrack.h │ ├── d10_mxf │ ├── D10ContentPackage.h │ ├── D10File.h │ ├── D10MPEGTrack.h │ ├── D10PCMTrack.h │ ├── D10Track.h │ └── D10XMLTrack.h │ ├── essence_parser │ ├── AVCEssenceParser.h │ ├── AVCIRawEssenceReader.h │ ├── D10RawEssenceReader.h │ ├── DVEssenceParser.h │ ├── EssenceFilter.h │ ├── EssenceParser.h │ ├── EssenceSource.h │ ├── FileEssenceSource.h │ ├── FilePatternEssenceSource.h │ ├── J2CEssenceParser.h │ ├── KLVEssenceSource.h │ ├── MJPEGEssenceParser.h │ ├── MPEG2AspectRatioFilter.h │ ├── MPEG2EssenceParser.h │ ├── RDD36EssenceParser.h │ ├── RawEssenceReader.h │ ├── SoundConversion.h │ ├── VC2EssenceParser.h │ └── VC3EssenceParser.h │ ├── frame │ ├── DataBufferArray.h │ ├── Frame.h │ └── FrameBuffer.h │ ├── mxf_helper │ ├── ANCDataMXFDescriptorHelper.h │ ├── AVCIMXFDescriptorHelper.h │ ├── AVCMXFDescriptorHelper.h │ ├── D10MXFDescriptorHelper.h │ ├── DVMXFDescriptorHelper.h │ ├── DataMXFDescriptorHelper.h │ ├── EssenceValidator.h │ ├── JPEG2000MXFDescriptorHelper.h │ ├── MJPEGMXFDescriptorHelper.h │ ├── MPEG2LGMXFDescriptorHelper.h │ ├── MPEG2Validator.h │ ├── MXFDescriptorHelper.h │ ├── MXFFileFactory.h │ ├── MXFMCALabelHelper.h │ ├── PictureMXFDescriptorHelper.h │ ├── RDD36MXFDescriptorHelper.h │ ├── SoundMXFDescriptorHelper.h │ ├── TimedTextMXFDescriptorHelper.h │ ├── TimedTextMXFResourceProvider.h │ ├── TimedTextManifest.h │ ├── UncCDCIMXFDescriptorHelper.h │ ├── UncRGBAMXFDescriptorHelper.h │ ├── UniqueIdHelper.h │ ├── VBIDataMXFDescriptorHelper.h │ ├── VC2MXFDescriptorHelper.h │ ├── VC3MXFDescriptorHelper.h │ └── WaveMXFDescriptorHelper.h │ ├── mxf_op1a │ ├── OP1AANCDataTrack.h │ ├── OP1AAVCITrack.h │ ├── OP1AAVCTrack.h │ ├── OP1AContentPackage.h │ ├── OP1AD10Track.h │ ├── OP1ADVTrack.h │ ├── OP1ADataTrack.h │ ├── OP1AFile.h │ ├── OP1AIndexTable.h │ ├── OP1AJPEG2000Track.h │ ├── OP1AMPEG2LGTrack.h │ ├── OP1APCMTrack.h │ ├── OP1APictureTrack.h │ ├── OP1ARDD36Track.h │ ├── OP1ATimedTextTrack.h │ ├── OP1ATrack.h │ ├── OP1AUncTrack.h │ ├── OP1AVBIDataTrack.h │ ├── OP1AVC2Track.h │ ├── OP1AVC3Track.h │ └── OP1AXMLTrack.h │ ├── mxf_reader │ ├── EssenceChunkHelper.h │ ├── EssenceReader.h │ ├── FrameMetadataReader.h │ ├── IndexTableHelper.h │ ├── MXFAPPInfo.h │ ├── MXFFileIndex.h │ ├── MXFFileReader.h │ ├── MXFFileTrackReader.h │ ├── MXFFrameBuffer.h │ ├── MXFFrameMetadata.h │ ├── MXFGroupReader.h │ ├── MXFIndexEntryExt.h │ ├── MXFMCALabelIndex.h │ ├── MXFPackageResolver.h │ ├── MXFReader.h │ ├── MXFSequenceReader.h │ ├── MXFSequenceTrackReader.h │ ├── MXFTextObject.h │ ├── MXFTimedTextTrackReader.h │ ├── MXFTrackInfo.h │ └── MXFTrackReader.h │ ├── rdd9_mxf │ ├── RDD9ANCDataTrack.h │ ├── RDD9ContentPackage.h │ ├── RDD9DataTrack.h │ ├── RDD9File.h │ ├── RDD9Flavours.h │ ├── RDD9IndexTable.h │ ├── RDD9MPEG2LGTrack.h │ ├── RDD9PCMTrack.h │ ├── RDD9Track.h │ ├── RDD9VBIDataTrack.h │ ├── RDD9Validator.h │ └── RDD9XMLTrack.h │ ├── st436 │ ├── RDD6BitBuffer.h │ ├── RDD6Metadata.h │ └── ST436Element.h │ ├── wave │ ├── WaveBEXT.h │ ├── WaveFileIO.h │ ├── WaveIO.h │ ├── WaveReader.h │ ├── WaveTrackReader.h │ ├── WaveTrackWriter.h │ └── WaveWriter.h │ └── writer_helper │ ├── AVCIWriterHelper.h │ ├── AVCWriterHelper.h │ ├── D10WriterHelper.h │ ├── JPEG2000WriterHelper.h │ ├── MPEG2LGWriterHelper.h │ ├── VC2WriterHelper.h │ └── XMLWriterHelper.h ├── m4 ├── ac_append_supported_cflags.m4 └── ac_append_supported_ldflags.m4 ├── meta ├── Makefile.am ├── as10 │ ├── Makefile.am │ └── as10_mxflib_dict.xml ├── as11 │ ├── Makefile.am │ └── as11_mxflib_dict.xml ├── extensions_mxflib_dict.xml ├── mxf2raw │ ├── Makefile.am │ ├── as10_info.xsd │ ├── as11_info.xsd │ ├── avid_info.xsd │ ├── bbc_archive_info.xsd │ └── mxf2raw_info.xsd ├── rdd6 │ ├── Makefile.am │ └── rdd6.xsd └── rdd6_xml_creator │ ├── README.md │ ├── css │ ├── bootstrap.min.css │ └── custom.css │ ├── index.html │ └── js │ ├── FileSaver.min.js │ ├── bootstrap.min.js │ ├── dpp-rdd6-xml.js │ └── jquery.min.js ├── msvc_build ├── Makefile.am └── vs10 │ ├── Makefile.am │ ├── apps │ ├── bmxparse │ │ ├── bmxparse.vcxproj │ │ └── bmxparse.vcxproj.filters │ ├── bmxtimecode.vcxproj │ ├── bmxtimecode.vcxproj.filters │ ├── bmxtranswrap │ │ ├── bmxtranswrap.vcxproj │ │ └── bmxtranswrap.vcxproj.filters │ ├── mxf2raw │ │ ├── mxf2raw.vcxproj │ │ └── mxf2raw.vcxproj.filters │ └── raw2bmx │ │ ├── raw2bmx.vcxproj │ │ └── raw2bmx.vcxproj.filters │ ├── bmx.sln │ ├── bmx │ ├── bmx.vcxproj │ ├── bmx.vcxproj.filters │ └── gen_scm_version.cmd │ ├── dirent.h │ ├── expat │ ├── expat.vcxproj │ └── expat.vcxproj.filters │ ├── inttypes.h │ ├── test.sln │ ├── test │ ├── create_test_essence │ │ ├── create_test_essence.vcxproj │ │ └── create_test_essence.vcxproj.filters │ ├── file_md5 │ │ ├── file_md5.vcxproj │ │ └── file_md5.vcxproj.filters │ └── file_truncate │ │ ├── file_truncate.vcxproj │ │ └── file_truncate.vcxproj.filters │ ├── tools.sln │ ├── tools │ ├── h264dump │ │ ├── h264dump.vcxproj │ │ └── h264dump.vcxproj.filters │ ├── j2cdump │ │ ├── j2cdump.vcxproj │ │ └── j2cdump.vcxproj.filters │ ├── jp2extract │ │ ├── jp2extract.vcxproj │ │ └── jp2extract.vcxproj.filters │ ├── movdump │ │ ├── movdump.vcxproj │ │ └── movdump.vcxproj.filters │ ├── rdd36dump │ │ ├── rdd36dump.vcxproj │ │ └── rdd36dump.vcxproj.filters │ └── vc2dump │ │ ├── vc2dump.vcxproj │ │ └── vc2dump.vcxproj.filters │ └── uriparser │ ├── uriparser.vcxproj │ └── uriparser.vcxproj.filters ├── src ├── Makefile.am ├── apps │ ├── AS10Helper.cpp │ ├── AS11Helper.cpp │ ├── AppInfoWriter.cpp │ ├── AppMCALabelHelper.cpp │ ├── AppMXFFileFactory.cpp │ ├── AppTextInfoWriter.cpp │ ├── AppUtils.cpp │ ├── AppXMLInfoWriter.cpp │ ├── FrameworkHelper.cpp │ ├── Makefile.am │ ├── PropertyFileParser.cpp │ ├── TimedTextManifestParser.cpp │ └── ps_avci_header_data.h ├── as02 │ ├── AS02AVCITrack.cpp │ ├── AS02Bundle.cpp │ ├── AS02Clip.cpp │ ├── AS02D10Track.cpp │ ├── AS02DVTrack.cpp │ ├── AS02MPEG2LGTrack.cpp │ ├── AS02Manifest.cpp │ ├── AS02PCMTrack.cpp │ ├── AS02PictureTrack.cpp │ ├── AS02Shim.cpp │ ├── AS02Track.cpp │ ├── AS02UncTrack.cpp │ ├── AS02Version.cpp │ └── Makefile.am ├── as10 │ ├── AS10CoreFramework.cpp │ ├── AS10DMS.cpp │ ├── AS10Info.cpp │ ├── AS10MPEG2Validator.cpp │ ├── AS10RDD9Validator.cpp │ ├── AS10ShimNames.cpp │ ├── AS10WriterHelper.cpp │ ├── Makefile.am │ └── as10_shims.h ├── as11 │ ├── AS11CoreFramework.cpp │ ├── AS11DMS.cpp │ ├── AS11Info.cpp │ ├── AS11Labels.cpp │ ├── AS11SegmentationFramework.cpp │ ├── AS11WriterHelper.cpp │ ├── Makefile.am │ ├── UKDPPDMS.cpp │ └── UKDPPFramework.cpp ├── avid_mxf │ ├── AvidAVCITrack.cpp │ ├── AvidAVCTrack.cpp │ ├── AvidAlphaTrack.cpp │ ├── AvidClip.cpp │ ├── AvidD10Track.cpp │ ├── AvidDVTrack.cpp │ ├── AvidIndexTable.cpp │ ├── AvidInfo.cpp │ ├── AvidMJPEGTrack.cpp │ ├── AvidMPEG2LGTrack.cpp │ ├── AvidPCMTrack.cpp │ ├── AvidPictureTrack.cpp │ ├── AvidRGBColors.h │ ├── AvidTrack.cpp │ ├── AvidUncTrack.cpp │ ├── AvidVC3Track.cpp │ └── Makefile.am ├── clip_writer │ ├── ClipWriter.cpp │ ├── ClipWriterTrack.cpp │ └── Makefile.am ├── common │ ├── BMXException.cpp │ ├── BMXTypes.cpp │ ├── BitBuffer.cpp │ ├── ByteArray.cpp │ ├── ByteBuffer.cpp │ ├── CRC32.cpp │ ├── Checksum.cpp │ ├── EssenceType.cpp │ ├── KLVParser.cpp │ ├── Logging.cpp │ ├── MD5.cpp │ ├── MXFChecksumFile.cpp │ ├── MXFHTTPFile.cpp │ ├── MXFUtils.cpp │ ├── Makefile.am │ ├── SHA1.cpp │ ├── URI.cpp │ ├── Utils.cpp │ ├── Version.cpp │ ├── XMLUtils.cpp │ └── XMLWriter.cpp ├── d10_mxf │ ├── D10ContentPackage.cpp │ ├── D10File.cpp │ ├── D10MPEGTrack.cpp │ ├── D10PCMTrack.cpp │ ├── D10Track.cpp │ ├── D10XMLTrack.cpp │ └── Makefile.am ├── essence_parser │ ├── AVCEssenceParser.cpp │ ├── AVCIRawEssenceReader.cpp │ ├── D10RawEssenceReader.cpp │ ├── DVEssenceParser.cpp │ ├── EssenceParserUtils.cpp │ ├── EssenceParserUtils.h │ ├── FileEssenceSource.cpp │ ├── FilePatternEssenceSource.cpp │ ├── J2CEssenceParser.cpp │ ├── KLVEssenceSource.cpp │ ├── MJPEGEssenceParser.cpp │ ├── MPEG2AspectRatioFilter.cpp │ ├── MPEG2EssenceParser.cpp │ ├── Makefile.am │ ├── RDD36EssenceParser.cpp │ ├── RawEssenceReader.cpp │ ├── SoundConversion.cpp │ ├── VC2EssenceParser.cpp │ └── VC3EssenceParser.cpp ├── frame │ ├── DataBufferArray.cpp │ ├── Frame.cpp │ ├── FrameBuffer.cpp │ └── Makefile.am ├── mxf_helper │ ├── ANCDataMXFDescriptorHelper.cpp │ ├── AVCIMXFDescriptorHelper.cpp │ ├── AVCMXFDescriptorHelper.cpp │ ├── D10MXFDescriptorHelper.cpp │ ├── DVMXFDescriptorHelper.cpp │ ├── DataMXFDescriptorHelper.cpp │ ├── JPEG2000MXFDescriptorHelper.cpp │ ├── MJPEGMXFDescriptorHelper.cpp │ ├── MPEG2LGMXFDescriptorHelper.cpp │ ├── MPEG2Validator.cpp │ ├── MXFDescriptorHelper.cpp │ ├── MXFFileFactory.cpp │ ├── MXFMCALabelHelper.cpp │ ├── Makefile.am │ ├── PictureMXFDescriptorHelper.cpp │ ├── RDD36MXFDescriptorHelper.cpp │ ├── SoundMXFDescriptorHelper.cpp │ ├── TimedTextMXFDescriptorHelper.cpp │ ├── TimedTextMXFResourceProvider.cpp │ ├── TimedTextManifest.cpp │ ├── UncCDCIMXFDescriptorHelper.cpp │ ├── UncRGBAMXFDescriptorHelper.cpp │ ├── UniqueIdHelper.cpp │ ├── VBIDataMXFDescriptorHelper.cpp │ ├── VC2MXFDescriptorHelper.cpp │ ├── VC3MXFDescriptorHelper.cpp │ └── WaveMXFDescriptorHelper.cpp ├── mxf_op1a │ ├── Makefile.am │ ├── OP1AANCDataTrack.cpp │ ├── OP1AAVCITrack.cpp │ ├── OP1AAVCTrack.cpp │ ├── OP1AContentPackage.cpp │ ├── OP1AD10Track.cpp │ ├── OP1ADVTrack.cpp │ ├── OP1ADataTrack.cpp │ ├── OP1AFile.cpp │ ├── OP1AIndexTable.cpp │ ├── OP1AJPEG2000Track.cpp │ ├── OP1AMPEG2LGTrack.cpp │ ├── OP1APCMTrack.cpp │ ├── OP1APictureTrack.cpp │ ├── OP1ARDD36Track.cpp │ ├── OP1ATimedTextTrack.cpp │ ├── OP1ATrack.cpp │ ├── OP1AUncTrack.cpp │ ├── OP1AVBIDataTrack.cpp │ ├── OP1AVC2Track.cpp │ ├── OP1AVC3Track.cpp │ └── OP1AXMLTrack.cpp ├── mxf_reader │ ├── EssenceChunkHelper.cpp │ ├── EssenceReader.cpp │ ├── FrameMetadataReader.cpp │ ├── IndexTableHelper.cpp │ ├── MXFAPPInfo.cpp │ ├── MXFFileIndex.cpp │ ├── MXFFileReader.cpp │ ├── MXFFileTrackReader.cpp │ ├── MXFFrameBuffer.cpp │ ├── MXFFrameMetadata.cpp │ ├── MXFGroupReader.cpp │ ├── MXFIndexEntryExt.cpp │ ├── MXFMCALabelIndex.cpp │ ├── MXFPackageResolver.cpp │ ├── MXFReader.cpp │ ├── MXFSequenceReader.cpp │ ├── MXFSequenceTrackReader.cpp │ ├── MXFTextObject.cpp │ ├── MXFTimedTextTrackReader.cpp │ ├── MXFTrackInfo.cpp │ └── Makefile.am ├── rdd9_mxf │ ├── Makefile.am │ ├── RDD9ANCDataTrack.cpp │ ├── RDD9ContentPackage.cpp │ ├── RDD9DataTrack.cpp │ ├── RDD9File.cpp │ ├── RDD9IndexTable.cpp │ ├── RDD9MPEG2LGTrack.cpp │ ├── RDD9PCMTrack.cpp │ ├── RDD9Track.cpp │ ├── RDD9VBIDataTrack.cpp │ ├── RDD9Validator.cpp │ └── RDD9XMLTrack.cpp ├── st436 │ ├── Makefile.am │ ├── RDD6BitBuffer.cpp │ ├── RDD6Metadata.cpp │ ├── RDD6MetadataExpat.cpp │ ├── RDD6MetadataExpat.h │ ├── RDD6MetadataXML.cpp │ ├── RDD6MetadataXML.h │ └── ST436Element.cpp ├── wave │ ├── Makefile.am │ ├── WaveBEXT.cpp │ ├── WaveFileIO.cpp │ ├── WaveIO.cpp │ ├── WaveReader.cpp │ ├── WaveTrackReader.cpp │ ├── WaveTrackWriter.cpp │ └── WaveWriter.cpp └── writer_helper │ ├── AVCIWriterHelper.cpp │ ├── AVCWriterHelper.cpp │ ├── D10WriterHelper.cpp │ ├── JPEG2000WriterHelper.cpp │ ├── MPEG2LGWriterHelper.cpp │ ├── Makefile.am │ ├── VC2WriterHelper.cpp │ └── XMLWriterHelper.cpp ├── test ├── Makefile.am ├── ard_zdf_hdf │ ├── Makefile.am │ ├── avci100_1080i50.md5 │ ├── avci100_1080i50.sh │ ├── rdd9_422p_1080i50.md5 │ └── rdd9_422p_1080i50.sh ├── as02 │ ├── Makefile.am │ ├── avci100_1080i.md5s │ ├── avci100_1080i.test │ ├── avci100_1080p.md5s │ ├── avci100_1080p.test │ ├── avci100_720p25.md5s │ ├── avci100_720p25.test │ ├── avci100_720p50.md5s │ ├── avci100_720p50.test │ ├── avci50_1080i.md5s │ ├── avci50_1080i.test │ ├── avci50_1080p.md5s │ ├── avci50_1080p.test │ ├── avci50_720p25.md5s │ ├── avci50_720p25.test │ ├── avci50_720p50.md5s │ ├── avci50_720p50.test │ ├── check.sh │ ├── create.sh │ ├── d10_30.md5s │ ├── d10_30.test │ ├── d10_40.md5s │ ├── d10_40.test │ ├── d10_50.md5s │ ├── d10_50.test │ ├── dv100_1080i.md5s │ ├── dv100_1080i.test │ ├── dv100_720p25.md5s │ ├── dv100_720p25.test │ ├── dv100_720p50.md5s │ ├── dv100_720p50.test │ ├── dv50.md5s │ ├── dv50.test │ ├── dvbased25.md5s │ ├── dvbased25.test │ ├── iecdv25.md5s │ ├── iecdv25.test │ ├── mpeg2lg_422p_hl_1080i.md5s │ ├── mpeg2lg_422p_hl_1080i.test │ ├── mpeg2lg_mp_h14_1080i.md5s │ ├── mpeg2lg_mp_h14_1080i.test │ ├── mpeg2lg_mp_hl_1920_1080i.md5s │ ├── mpeg2lg_mp_hl_1920_1080i.test │ ├── samples.sh │ ├── unc.md5s │ ├── unc.test │ ├── unc_1080i.md5s │ ├── unc_1080i.test │ ├── unc_1080p.md5s │ ├── unc_1080p.test │ ├── unc_3840.md5s │ ├── unc_3840.test │ ├── unc_720p.md5s │ └── unc_720p.test ├── as10 │ ├── Makefile.am │ ├── as10_core_framework.txt │ ├── high_hd_2014_rb.md5 │ ├── high_hd_2014_rb.xml │ ├── high_hd_2014_tw.md5 │ ├── high_hd_2014_tw.xml │ └── test.sh ├── as11 │ ├── Makefile.am │ ├── as11_core_framework.txt │ ├── as11_segmentation_framework.txt │ ├── avci100_1080i.md5 │ ├── avci100_1080i.xml │ ├── d10_50.md5 │ ├── d10_50.xml │ ├── mpeg2lg_422p_hl_1080i.md5 │ ├── mpeg2lg_422p_hl_1080i.xml │ ├── test.sh │ └── ukdpp_framework.txt ├── avid_mxf │ ├── Makefile.am │ ├── avc_high_422_intra.md5s │ ├── avc_high_422_intra.test │ ├── avci100_1080i.md5s │ ├── avci100_1080i.test │ ├── avci100_1080i_gf.md5s │ ├── avci100_1080i_gf.test │ ├── avci100_1080i_gfp.md5s │ ├── avci100_1080i_gfp.test │ ├── avci100_1080p.md5s │ ├── avci100_1080p.test │ ├── avci100_720p25.md5s │ ├── avci100_720p25.test │ ├── avci100_720p50.md5s │ ├── avci100_720p50.test │ ├── avci50_1080i.md5s │ ├── avci50_1080i.test │ ├── avci50_1080p.md5s │ ├── avci50_1080p.test │ ├── avci50_720p25.md5s │ ├── avci50_720p25.test │ ├── avci50_720p50.md5s │ ├── avci50_720p50.test │ ├── avid_alpha_1080i25.md5s │ ├── avid_alpha_1080i25.test │ ├── check.sh │ ├── create.sh │ ├── d10_30.md5s │ ├── d10_30.test │ ├── d10_40.md5s │ ├── d10_40.test │ ├── d10_50.md5s │ ├── d10_50.test │ ├── dv100_1080i.md5s │ ├── dv100_1080i.test │ ├── dv100_720p25.md5s │ ├── dv100_720p25.test │ ├── dv50.md5s │ ├── dv50.test │ ├── dvbased25.md5s │ ├── dvbased25.test │ ├── iecdv25.md5s │ ├── iecdv25.test │ ├── mpeg2lg_422p_hl_1080i.md5s │ ├── mpeg2lg_422p_hl_1080i.test │ ├── mpeg2lg_mp_h14_1080i.md5s │ ├── mpeg2lg_mp_h14_1080i.test │ ├── mpeg2lg_mp_hl_1920_1080i.md5s │ ├── mpeg2lg_mp_hl_1920_1080i.test │ ├── samples.sh │ ├── unc25.md5s │ ├── unc25.test │ ├── unc_1080i25.md5s │ ├── unc_1080i25.test │ ├── unc_1080p25.md5s │ ├── unc_1080p25.test │ ├── unc_720p50.md5s │ ├── unc_720p50.test │ ├── vc3_1080i_1241.md5s │ ├── vc3_1080i_1241.test │ ├── vc3_1080i_1242.md5s │ ├── vc3_1080i_1242.test │ ├── vc3_1080i_1243.md5s │ ├── vc3_1080i_1243.test │ ├── vc3_1080p_1235.md5s │ ├── vc3_1080p_1235.test │ ├── vc3_1080p_1237.md5s │ ├── vc3_1080p_1237.test │ ├── vc3_1080p_1238.md5s │ ├── vc3_1080p_1238.test │ ├── vc3_1080p_1253.md5s │ ├── vc3_1080p_1253.test │ ├── vc3_720p_1250.md5s │ ├── vc3_720p_1250.test │ ├── vc3_720p_1251.md5s │ ├── vc3_720p_1251.test │ ├── vc3_720p_1252.md5s │ └── vc3_720p_1252.test ├── bbcarchive │ ├── Makefile.am │ ├── bbcarchive_1080_25i.md5 │ ├── bbcarchive_1080_25i.xml │ ├── test.sh │ └── test_write_archive_mxf.c ├── bmxtranswrap │ ├── Makefile.am │ ├── avci100_1080i_op1a_op1a.md5 │ ├── d10_50_d10_op1a.md5 │ ├── d10_50_op1a_d10.md5 │ └── test.sh ├── create_test_essence.cpp ├── d10_mxf │ ├── Makefile.am │ ├── check.sh │ ├── create.sh │ ├── d10_30_25.md5 │ ├── d10_30_25.test │ ├── d10_30_2997.md5 │ ├── d10_30_2997.test │ ├── d10_40_25.md5 │ ├── d10_40_25.test │ ├── d10_40_2997.md5 │ ├── d10_40_2997.test │ ├── d10_50_25.md5 │ ├── d10_50_25.test │ ├── d10_50_2997.md5 │ ├── d10_50_2997.test │ └── samples.sh ├── d10_qt_klv │ ├── Makefile.am │ ├── sample.mxf │ ├── test.sh │ ├── test_1.md5 │ └── test_2.md5 ├── file_md5.cpp ├── file_truncate.cpp ├── growing_file │ ├── Makefile.am │ ├── growing_file.md5 │ ├── growing_file.sh │ └── growing_file.txt ├── jpeg2000 │ ├── Makefile.am │ ├── image_rgb_0001.j2c │ ├── image_rgb_0003.j2c │ ├── image_yuv_0001.j2c │ ├── image_yuv_0003.j2c │ ├── info_1.xml │ ├── info_2.xml │ ├── info_3.xml │ ├── info_4.xml │ ├── test.sh │ ├── test_1.md5 │ ├── test_2.md5 │ ├── test_3.md5 │ └── test_4.md5 ├── mca │ ├── Makefile.am │ ├── mca_mono.md5 │ ├── mca_mono.xml │ ├── mca_mono_silence.md5 │ ├── mca_mono_silence.xml │ ├── mca_monorem.md5 │ ├── mca_monorem.xml │ ├── mca_reorder_mono.md5 │ ├── mca_reorder_mono.xml │ ├── mca_reorder_stereo.md5 │ ├── mca_reorder_stereo.xml │ ├── mca_singlemca.md5 │ ├── mca_singlemca.xml │ ├── mca_stereo.md5 │ ├── mca_stereo.xml │ ├── mca_stereo_silence.md5 │ ├── mca_stereo_silence.xml │ ├── mca_stereoprem.md5 │ ├── mca_stereoprem.xml │ ├── mca_stereops2p4.md5 │ ├── mca_stereops2p4.xml │ ├── mca_stereopstereopmonorem.md5 │ ├── mca_stereopstereopmonorem.xml │ ├── mcalabels_mess.md5 │ ├── mcalabels_mess.xml │ ├── mcalabels_mono.md5 │ ├── mcalabels_mono.xml │ ├── mcalabels_mononochan.md5 │ ├── mcalabels_mononochan.xml │ ├── mcalabels_stereo.md5 │ ├── mcalabels_stereo.xml │ ├── mcalabels_stereop51.md5 │ ├── mcalabels_stereop51.xml │ ├── mess.txt │ ├── mono.txt │ ├── mononochan.txt │ ├── stereo.txt │ ├── stereop51.txt │ ├── test_labels.sh │ └── test_mca.sh ├── misc │ ├── Makefile.am │ ├── desc_props_bmxtranswrap.md5 │ ├── desc_props_raw2bmx.md5 │ └── test_desc_props.sh ├── mxf_op1a │ ├── Makefile.am │ ├── anc.md5 │ ├── anc.sh │ ├── avc_high_422_intra.md5 │ ├── avc_high_422_intra.test │ ├── avci100_1080i.md5 │ ├── avci100_1080i.test │ ├── avci100_1080p25.md5 │ ├── avci100_1080p25.test │ ├── avci100_1080p50.md5 │ ├── avci100_1080p50.test │ ├── avci100_720p25.md5 │ ├── avci100_720p25.test │ ├── avci100_720p50.md5 │ ├── avci100_720p50.test │ ├── avci200_1080i.md5 │ ├── avci200_1080i.test │ ├── avci200_1080p50.md5 │ ├── avci200_1080p50.test │ ├── avci200_720p50.md5 │ ├── avci200_720p50.test │ ├── avci50_1080i.md5 │ ├── avci50_1080i.test │ ├── avci50_1080p25.md5 │ ├── avci50_1080p25.test │ ├── avci50_1080p50.md5 │ ├── avci50_1080p50.test │ ├── avci50_720p25.md5 │ ├── avci50_720p25.test │ ├── avci50_720p50.md5 │ ├── avci50_720p50.test │ ├── check.sh │ ├── create.sh │ ├── d10_30.md5 │ ├── d10_30.test │ ├── d10_40.md5 │ ├── d10_40.test │ ├── d10_50.md5 │ ├── d10_50.test │ ├── dv100_1080i.md5 │ ├── dv100_1080i.test │ ├── dv100_720p25.md5 │ ├── dv100_720p25.test │ ├── dv100_720p50.md5 │ ├── dv100_720p50.test │ ├── dv50.md5 │ ├── dv50.test │ ├── dvbased25.md5 │ ├── dvbased25.test │ ├── iecdv25.md5 │ ├── iecdv25.test │ ├── mpeg2lg_422p_hl_1080i.md5 │ ├── mpeg2lg_422p_hl_1080i.test │ ├── mpeg2lg_mp_h14_1080i.md5 │ ├── mpeg2lg_mp_h14_1080i.test │ ├── mpeg2lg_mp_hl_1920_1080i.md5 │ ├── mpeg2lg_mp_hl_1920_1080i.test │ ├── rdd36_422.md5 │ ├── rdd36_422.test │ ├── rdd36_4444.md5 │ ├── rdd36_4444.test │ ├── samples.sh │ ├── unc.md5 │ ├── unc.test │ ├── unc_1080i.md5 │ ├── unc_1080i.test │ ├── unc_1080p.md5 │ ├── unc_1080p.test │ ├── unc_3840.md5 │ ├── unc_3840.test │ ├── unc_720p.md5 │ ├── unc_720p.test │ ├── vbi.md5 │ ├── vbi.sh │ ├── vc2.md5 │ ├── vc2.test │ ├── vc3_1080i_1241.md5 │ ├── vc3_1080i_1241.test │ ├── vc3_1080i_1242.md5 │ ├── vc3_1080i_1242.test │ ├── vc3_1080i_1243.md5 │ ├── vc3_1080i_1243.test │ ├── vc3_1080p_1235.md5 │ ├── vc3_1080p_1235.test │ ├── vc3_1080p_1237.md5 │ ├── vc3_1080p_1237.test │ ├── vc3_1080p_1238.md5 │ ├── vc3_1080p_1238.test │ ├── vc3_1080p_1253.md5 │ ├── vc3_1080p_1253.test │ ├── vc3_720p_1250.md5 │ ├── vc3_720p_1250.test │ ├── vc3_720p_1251.md5 │ ├── vc3_720p_1251.test │ ├── vc3_720p_1252.md5 │ └── vc3_720p_1252.test ├── mxf_reader │ ├── Makefile.am │ ├── avci100_1080i.md5 │ ├── avci100_1080i.test │ ├── avci100_1080p.md5 │ ├── avci100_1080p.test │ ├── avci100_720p25.md5 │ ├── avci100_720p25.test │ ├── avci100_720p50.md5 │ ├── avci100_720p50.test │ ├── avci50_1080i.md5 │ ├── avci50_1080i.test │ ├── avci50_1080p.md5 │ ├── avci50_1080p.test │ ├── avci50_720p25.md5 │ ├── avci50_720p25.test │ ├── avci50_720p50.md5 │ ├── avci50_720p50.test │ ├── check.sh │ ├── create.sh │ ├── d10_30.md5 │ ├── d10_30.test │ ├── d10_40.md5 │ ├── d10_40.test │ ├── d10_50.md5 │ ├── d10_50.test │ ├── dv100_1080i.md5 │ ├── dv100_1080i.test │ ├── dv100_720p25.md5 │ ├── dv100_720p25.test │ ├── dv100_720p50.md5 │ ├── dv100_720p50.test │ ├── dv50.md5 │ ├── dv50.test │ ├── dvbased25.md5 │ ├── dvbased25.test │ ├── iecdv25.md5 │ ├── iecdv25.test │ ├── mpeg2lg_422p_hl_1080i.md5 │ ├── mpeg2lg_422p_hl_1080i.test │ ├── mpeg2lg_mp_h14_1080i.md5 │ ├── mpeg2lg_mp_h14_1080i.test │ ├── mpeg2lg_mp_hl_1920_1080i.md5 │ ├── mpeg2lg_mp_hl_1920_1080i.test │ ├── samples.sh │ ├── unc.md5 │ ├── unc.test │ ├── unc_1080i.md5 │ ├── unc_1080i.test │ ├── unc_1080p.md5 │ ├── unc_1080p.test │ ├── unc_3840.md5 │ ├── unc_3840.test │ ├── unc_720p.md5 │ └── unc_720p.test ├── partial_audio_frames │ ├── Makefile.am │ ├── test.sh │ ├── test_1.md5 │ └── test_2.md5 ├── rdd6 │ ├── Makefile.am │ ├── common.sh │ ├── test1.md5 │ ├── test1.sh │ ├── test1.xml │ ├── test2.md5 │ ├── test2.sh │ ├── test2.xml │ ├── test3.md5 │ ├── test3.sh │ ├── test3.xml │ └── test_rdd6_xml.cpp ├── rdd9_mxf │ ├── Makefile.am │ ├── anc.md5 │ ├── anc.sh │ ├── check.sh │ ├── create.sh │ ├── mpeg2lg_422p_hl_1080i.md5 │ ├── mpeg2lg_422p_hl_1080i.test │ ├── mpeg2lg_mp_h14_1080i.md5 │ ├── mpeg2lg_mp_h14_1080i.test │ ├── mpeg2lg_mp_hl_1920_1080i.md5 │ ├── mpeg2lg_mp_hl_1920_1080i.test │ ├── samples.sh │ ├── vbi.md5 │ └── vbi.sh ├── text_object │ ├── Makefile.am │ ├── info_d10.xml │ ├── info_op1a.xml │ ├── info_rdd9.xml │ ├── other.xml │ ├── test.sh │ ├── test_d10.md5 │ ├── test_op1a.md5 │ ├── test_rdd9.md5 │ ├── utf16be.xml │ ├── utf16le.xml │ ├── utf8.xml │ └── utf8_noprolog.xml ├── timed_text │ ├── Makefile.am │ ├── font.ttf │ ├── image.png │ ├── info_1.xml │ ├── info_2.xml │ ├── info_3.xml │ ├── info_4.xml │ ├── info_5.xml │ ├── info_6.xml │ ├── info_7.xml │ ├── info_8.xml │ ├── info_9.xml │ ├── manifest_1.txt │ ├── manifest_2.txt │ ├── manifest_3.txt │ ├── test.sh │ ├── test_1.md5 │ ├── test_2.md5 │ ├── test_3.md5 │ ├── test_4.md5 │ ├── test_5.md5 │ ├── test_6.md5 │ ├── test_7.md5 │ ├── test_8.md5 │ ├── test_9.md5 │ └── text_example.xml └── wave │ ├── Makefile.am │ ├── check_read.sh │ ├── check_write.sh │ ├── create_read.sh │ ├── create_write.sh │ ├── samples.sh │ ├── wave_read.md5 │ ├── wave_read.test │ ├── wave_write.md5 │ └── wave_write.test └── tools ├── Makefile.am ├── h264dump.c ├── j2cdump.c ├── jp2extract.c ├── movdump.cpp ├── rdd36dump.c └── vc2dump.c /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.o 3 | *.la 4 | *.lo 5 | *.pc 6 | Makefile 7 | aclocal.m4 8 | autom4te.cache 9 | build/ 10 | msvc_build/*/.vs/ 11 | *.vcxproj.user 12 | Debug/ 13 | Release/ 14 | .libs/ 15 | config.guess 16 | config.h.in 17 | config.sub 18 | configure 19 | depcomp 20 | Makefile.in 21 | install-sh 22 | ltmain.sh 23 | m4/libtool.m4 24 | m4/lt~obsolete.m4 25 | m4/ltoptions.m4 26 | m4/ltsugar.m4 27 | m4/ltversion.m4 28 | missing 29 | config.h 30 | config.log 31 | config.status 32 | *.deps 33 | libtool 34 | stamp-h1 35 | bmx_scm_version.h 36 | 37 | /apps/bmxparse/bmxparse 38 | /apps/bmxtimecode 39 | /apps/bmxtranswrap/bmxtranswrap 40 | /apps/mxf2raw/mxf2raw 41 | /apps/raw2bmx/raw2bmx 42 | 43 | /ar-lib 44 | /compile 45 | /test-driver 46 | 47 | /test/*/*.log 48 | /test/*/*.trs 49 | /test/create_test_essence 50 | /test/file_md5 51 | /test/file_truncate 52 | /test/rdd6/test_rdd6_xml 53 | 54 | /tools/h264dump 55 | /tools/j2cdump 56 | /tools/jp2extract 57 | /tools/movdump 58 | /tools/rdd36dump 59 | /tools/vc2dump 60 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | Copyright (C) 2014, British Broadcasting Corporation 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, 8 | this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of the British Broadcasting Corporation nor the names 13 | of its contributors may be used to endorse or promote products derived 14 | from this software without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 20 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 | POSSIBILITY OF SUCH DAMAGE. 27 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | ################################################## 2 | # Build layer 3 | ################################################## 4 | FROM debian:latest as build 5 | 6 | ARG LIBMXF_GIT=https://git.code.sf.net/p/bmxlib/libmxf 7 | ARG LIBMXFPP_GIT=https://git.code.sf.net/p/bmxlib/libmxfpp 8 | 9 | WORKDIR /build 10 | 11 | # Install build dependencies 12 | RUN DEBIAN_FRONTEND=noninteractive \ 13 | apt-get update -y && \ 14 | apt-get install -y \ 15 | git \ 16 | pkg-config \ 17 | automake \ 18 | libtool \ 19 | g++ \ 20 | gcc \ 21 | make \ 22 | autoconf \ 23 | uuid-dev \ 24 | liburiparser-dev \ 25 | libexpat1-dev \ 26 | libcurl4-openssl-dev 27 | 28 | # Clone, configure and make install libMXF, libMXF++ and bmx 29 | 30 | RUN git clone $LIBMXF_GIT libMXF && \ 31 | cd libMXF && \ 32 | ./autogen.sh && \ 33 | ./configure PKG_CONFIG_PATH=/build/install/lib/pkgconfig --prefix /build/install --disable-static && \ 34 | make check && \ 35 | make install 36 | 37 | RUN git clone $LIBMXFPP_GIT libMXFpp && \ 38 | cd libMXFpp && \ 39 | ./autogen.sh && \ 40 | ./configure PKG_CONFIG_PATH=/build/install/lib/pkgconfig --prefix /build/install --disable-static --disable-examples && \ 41 | make check && \ 42 | make install 43 | 44 | COPY . bmx/ 45 | RUN cd bmx && \ 46 | ./autogen.sh && \ 47 | ./configure PKG_CONFIG_PATH=/build/install/lib/pkgconfig --prefix /build/install --disable-static && \ 48 | make check && \ 49 | make install 50 | 51 | 52 | ################################################## 53 | # Runtime layer 54 | ################################################## 55 | FROM debian:latest as runtime 56 | 57 | # Install runtime dependencies 58 | RUN DEBIAN_FRONTEND=noninteractive \ 59 | apt-get update -y && \ 60 | apt-get install -y \ 61 | uuid-dev \ 62 | liburiparser-dev \ 63 | libexpat1-dev \ 64 | libcurl4-openssl-dev 65 | 66 | # Copy build artefacts and update the runtime linker cache with those artefacts 67 | COPY --from=build /build/install/ /usr/local/ 68 | RUN /sbin/ldconfig 69 | 70 | COPY docker/tool_list.txt / 71 | 72 | CMD [ "cat", "/tool_list.txt" ] 73 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = include src apps tools test msvc_build meta 2 | 3 | 4 | pkgconfig_DATA = bmx-$(BMX_MAJORMINOR).pc 5 | 6 | bmx-$(BMX_MAJORMINOR).pc: bmx.pc 7 | cp bmx.pc bmx-$(BMX_MAJORMINOR).pc 8 | 9 | CLEANFILES = bmx-$(BMX_MAJORMINOR).pc 10 | 11 | 12 | ACLOCAL_AMFLAGS = -I m4 13 | 14 | 15 | BUILT_SOURCES = bmx_scm_version.h 16 | 17 | bmx_scm_version.h: 18 | sh $(top_srcdir)/gen_scm_version.sh bmx_scm_version.h $(top_srcdir)/bmx_scm_version.h BMX_SCM_VERSION 19 | 20 | .PHONY: bmx_scm_version.h 21 | 22 | DISTCLEANFILES = bmx_scm_version.h 23 | 24 | 25 | EXTRA_DIST = \ 26 | autogen.sh \ 27 | gen_scm_version.sh \ 28 | bmx_scm_version.h 29 | -------------------------------------------------------------------------------- /apps/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = . mxf2raw writers raw2bmx bmxtranswrap bmxparse 2 | 3 | bin_PROGRAMS = bmxtimecode 4 | 5 | bmxtimecode_SOURCES = bmxtimecode.cpp 6 | bmxtimecode_CXXFLAGS = $(BMX_CFLAGS) 7 | bmxtimecode_LDADD = $(BMX_LDADDLIBS) 8 | -------------------------------------------------------------------------------- /apps/bmxparse/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = bmxparse 2 | 3 | bmxparse_SOURCES = bmxparse.cpp 4 | bmxparse_CXXFLAGS = $(BMX_CFLAGS) 5 | bmxparse_LDADD = $(BMX_LDADDLIBS) 6 | -------------------------------------------------------------------------------- /apps/bmxtranswrap/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = bmxtranswrap 2 | 3 | bmxtranswrap_SOURCES = \ 4 | MXFInputTrack.cpp \ 5 | MXFInputTrack.h \ 6 | bmxtranswrap.cpp 7 | 8 | bmxtranswrap_CXXFLAGS = $(BMX_CFLAGS) 9 | bmxtranswrap_LDADD = $(BMX_LDADDLIBS) ../writers/libwriters.la 10 | -------------------------------------------------------------------------------- /apps/mxf2raw/AS10InfoOutput.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * * Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in the 12 | * documentation and/or other materials provided with the distribution. 13 | * * Neither the name of the British Broadcasting Corporation nor the names 14 | * of its contributors may be used to endorse or promote products derived 15 | * from this software without specific prior written permission. 16 | * 17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #ifndef AS10_INFO_OUTPUT_H_ 31 | #define AS10_INFO_OUTPUT_H_ 32 | 33 | 34 | #include 35 | #include 36 | 37 | 38 | 39 | namespace bmx 40 | { 41 | 42 | 43 | void as10_register_extensions(MXFFileReader *file_reader); 44 | void as10_write_info(AppInfoWriter *info_writer, MXFFileReader *file_reader); 45 | 46 | 47 | 48 | }; 49 | 50 | 51 | 52 | #endif 53 | 54 | -------------------------------------------------------------------------------- /apps/mxf2raw/AS11InfoOutput.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Author: Philip de Nier 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * * Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * * Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * * Neither the name of the British Broadcasting Corporation nor the names 16 | * of its contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifndef AS11_INFO_OUTPUT_H_ 33 | #define AS11_INFO_OUTPUT_H_ 34 | 35 | 36 | #include 37 | #include 38 | 39 | 40 | 41 | namespace bmx 42 | { 43 | 44 | 45 | void as11_register_extensions(MXFFileReader *file_reader); 46 | void as11_write_info(AppInfoWriter *info_writer, MXFFileReader *file_reader); 47 | 48 | 49 | 50 | }; 51 | 52 | 53 | 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /apps/mxf2raw/AvidInfoOutput.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Author: Philip de Nier 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * * Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * * Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * * Neither the name of the British Broadcasting Corporation nor the names 16 | * of its contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifndef AVID_INFO_OUTPUT_H_ 33 | #define AVID_INFO_OUTPUT_H_ 34 | 35 | 36 | #include 37 | #include 38 | 39 | 40 | 41 | namespace bmx 42 | { 43 | 44 | 45 | void avid_register_extensions(MXFFileReader *file_reader); 46 | void avid_write_info(AppInfoWriter *info_writer, MXFFileReader *file_reader); 47 | 48 | 49 | 50 | }; 51 | 52 | 53 | 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /apps/mxf2raw/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = mxf2raw 2 | 3 | mxf2raw_SOURCES = \ 4 | APPInfoOutput.cpp \ 5 | APPInfoOutput.h \ 6 | AS10InfoOutput.cpp \ 7 | AS10InfoOutput.h \ 8 | AS11InfoOutput.cpp \ 9 | AS11InfoOutput.h \ 10 | AvidInfoOutput.cpp \ 11 | AvidInfoOutput.h \ 12 | OutputFileManager.cpp \ 13 | OutputFileManager.h \ 14 | mxf2raw.cpp 15 | 16 | mxf2raw_CXXFLAGS = $(BMX_CFLAGS) 17 | mxf2raw_LDADD = $(BMX_LDADDLIBS) 18 | 19 | 20 | -------------------------------------------------------------------------------- /apps/raw2bmx/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = raw2bmx 2 | 3 | raw2bmx_SOURCES = \ 4 | RawInputTrack.cpp \ 5 | RawInputTrack.h \ 6 | raw2bmx.cpp 7 | 8 | raw2bmx_CXXFLAGS = $(BMX_CFLAGS) 9 | raw2bmx_LDADD = $(BMX_LDADDLIBS) ../writers/libwriters.la 10 | 11 | 12 | -------------------------------------------------------------------------------- /apps/raw2bmx/RawInputTrack.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Author: Philip de Nier 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * * Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * * Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * * Neither the name of the British Broadcasting Corporation nor the names 16 | * of its contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifdef HAVE_CONFIG_H 33 | #include "config.h" 34 | #endif 35 | 36 | #include "RawInputTrack.h" 37 | 38 | using namespace std; 39 | using namespace bmx; 40 | 41 | 42 | RawInputTrack::RawInputTrack(RawInput *raw_input, MXFDataDefEnum data_def) 43 | : InputTrack() 44 | { 45 | mRawInput = raw_input; 46 | mDataDef = data_def; 47 | } 48 | 49 | RawInputTrack::~RawInputTrack() 50 | { 51 | } 52 | -------------------------------------------------------------------------------- /apps/writers/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libwriters.la 2 | 3 | libwriters_la_SOURCES = \ 4 | InputTrack.cpp \ 5 | InputTrack.h \ 6 | OutputTrack.cpp \ 7 | OutputTrack.h \ 8 | TrackMapper.cpp \ 9 | TrackMapper.h 10 | 11 | libwriters_la_CXXFLAGS = $(BMX_CFLAGS) 12 | libwriters_la_LIBADD = $(BMX_LDADDLIBS) 13 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # check for libtoolize on Linux and glibtoolize on Mac 4 | if command -v libtoolize >/dev/null 2>&1; then 5 | lt=libtoolize 6 | elif command -v glibtoolize >/dev/null 2>&1; then 7 | lt=glibtoolize 8 | else 9 | echo "ERROR: libtoolize or glibtoolize not found" 10 | exit 1 11 | fi 12 | 13 | 14 | set -x 15 | aclocal -I m4 16 | $lt -c 17 | autoheader -f 18 | automake --foreign --add-missing -c 19 | autoconf 20 | -------------------------------------------------------------------------------- /bmx.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: bmx-@BMX_MAJORMINOR@ 7 | Description: Library and utilities to read and write broadcasting media files 8 | Version: @VERSION@ 9 | Requires: libMXF-@LIBMXF_MAJORMINOR@ libMXF++-@LIBMXFPP_MAJORMINOR@ 10 | Libs: -L${libdir} -lbmx-@BMX_MAJORMINOR@ @PC_ADD_LIBS@ 11 | Libs.private: @PC_ADD_PRIVATE_LIBS@ 12 | Cflags: -I${includedir}/bmx-@BMX_MAJORMINOR@ 13 | -------------------------------------------------------------------------------- /docker/tool_list.txt: -------------------------------------------------------------------------------- 1 | Welcome to the bmx Docker container! 2 | 3 | Tools provided by this container are listed below. Run " -h" for help. 4 | 5 | Tools from bmx: 6 | bmxparse: text dump raw essence files using the parser class 7 | bmxtranswrap: re-wrap from one MXF file to another MXF file 8 | mxf2raw: output MXF file metadata and raw essence 9 | raw2bmx: create MXF files from raw essence files 10 | j2cdump: text dump raw JPEG 2000 codestreams 11 | jp2extract: extract JPEG 2000 codestream from a JP2 file (Annex I) 12 | h264dump: text dump raw H.264 essence files 13 | movdump: text dump Quicktime / MP4 container files 14 | rdd36dump: text dump raw SMPTE RDD 36 (Apple ProRes) essence files 15 | vc2dump: text dump raw SMPTE ST 2042 (VC-2) essence files 16 | 17 | Tools from libMXF: 18 | archive_mxf_info: output BBC Archive Preservation Project MXF file metadata 19 | avidmxfinfo: (legacy) text dump Avid MXF OP-Atom file metadata 20 | writeavidmxf: (legacy) create Avid MXF OP-Atom files 21 | 22 | Tools from AAF SDK: 23 | MXFDump: text dump detailed MXF file structure 24 | -------------------------------------------------------------------------------- /gen_scm_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Create or modify the scm header file. The define in the header file 3 | # identifies the git commit that corresponds to the source code. 4 | # 5 | # Based on patch from Peter Hutterer sent to X.Org 6 | # http://lists.x.org/archives/xorg-devel/2010-April/007415.html 7 | 8 | 9 | scm_header=$1 10 | dist_scm_header=$2 11 | def_name=$3 12 | 13 | 14 | # for the case of out of tree builds 15 | abs_top_srcdir="$(cd "$(dirname "$0")" && pwd)" 16 | export GIT_DIR=${abs_top_srcdir}/.git 17 | export GIT_WORK_TREE=${abs_top_srcdir}/ 18 | 19 | git_ver="" 20 | if command -v git >/dev/null 2>&1; then 21 | git update-index --refresh --unmerged -q >/dev/null 2>&1 22 | git_ver=`git describe 2>/dev/null` 23 | if test -n "$git_ver" && ! git diff-index --quiet HEAD --; then 24 | git_ver="$git_ver"-dirty 25 | fi 26 | fi 27 | 28 | define_str="#define $def_name \"$git_ver\"" 29 | 30 | 31 | # if $scm_header does not exist then default to the header provided by the 32 | # distribution package, $dist_scm_header 33 | if ! test -e $scm_header && test -e $dist_scm_header; then 34 | cp $dist_scm_header $scm_header 35 | fi 36 | 37 | 38 | if test -e "$scm_header"; then 39 | if test -z "$git_ver"; then 40 | # keep existing scm version file 41 | exit 0 42 | fi 43 | existing_define_str=`cat $scm_header` 44 | if test "$existing_define_str" = "$define_str"; then 45 | # no change and therefore don't modify scm version file 46 | exit 0 47 | fi 48 | fi 49 | 50 | 51 | echo "$define_str" > $scm_header 52 | 53 | -------------------------------------------------------------------------------- /include/bmx/MXFHTTPFile.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Author: Philip de Nier 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * * Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * * Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * * Neither the name of the British Broadcasting Corporation nor the names 16 | * of its contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifndef BMX_MXF_HTTP_FILE_H_ 33 | #define BMX_MXF_HTTP_FILE_H_ 34 | 35 | #include 36 | 37 | #include 38 | 39 | 40 | namespace bmx 41 | { 42 | 43 | 44 | bool mxf_http_is_supported(); 45 | 46 | bool mxf_http_is_url(const std::string &url_str); 47 | 48 | MXFFile* mxf_http_file_open_read(const std::string &url_str, uint32_t min_read_size); 49 | 50 | 51 | }; 52 | 53 | 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /include/bmx/mxf_helper/EssenceValidator.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * * Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in the 12 | * documentation and/or other materials provided with the distribution. 13 | * * Neither the name of the British Broadcasting Corporation nor the names 14 | * of its contributors may be used to endorse or promote products derived 15 | * from this software without specific prior written permission. 16 | * 17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #ifndef BMX_ESSENCE_VALIDATOR_H_ 31 | #define BMX_ESSENCE_VALIDATOR_H_ 32 | 33 | #include 34 | 35 | 36 | namespace bmx 37 | { 38 | 39 | 40 | class EssenceValidator 41 | { 42 | public: 43 | virtual ~EssenceValidator() {}; 44 | 45 | virtual void ProcessFrame(const unsigned char *data, uint32_t size) = 0; 46 | virtual void CompleteWrite() = 0; 47 | }; 48 | 49 | 50 | 51 | }; 52 | 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /include/bmx/mxf_helper/MXFMCALabelHelper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Author: Philip de Nier 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * * Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * * Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * * Neither the name of the British Broadcasting Corporation nor the names 16 | * of its contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifndef BMX_MXF_MCA_LABEL_HELPER_H_ 33 | #define BMX_MXF_MCA_LABEL_HELPER_H_ 34 | 35 | #include 36 | 37 | #include 38 | 39 | 40 | namespace bmx 41 | { 42 | 43 | 44 | bool check_mca_labels(const std::vector &mca_labels); 45 | 46 | 47 | }; 48 | 49 | 50 | 51 | #endif 52 | 53 | -------------------------------------------------------------------------------- /include/bmx/rdd9_mxf/RDD9Validator.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * * Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in the 12 | * documentation and/or other materials provided with the distribution. 13 | * * Neither the name of the British Broadcasting Corporation nor the names 14 | * of its contributors may be used to endorse or promote products derived 15 | * from this software without specific prior written permission. 16 | * 17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #ifndef BMX_RDD9_VALIDATOR_H_ 31 | #define BMX_RDD9_VALIDATOR_H_ 32 | 33 | 34 | namespace bmx 35 | { 36 | 37 | 38 | class RDD9File; 39 | 40 | class RDD9Validator 41 | { 42 | public: 43 | RDD9Validator(); 44 | virtual ~RDD9Validator(); 45 | 46 | void SetRDD9File(RDD9File *file); 47 | 48 | virtual void PrepareHeaderMetadata() = 0; 49 | 50 | protected: 51 | RDD9File *mRDD9File; 52 | }; 53 | 54 | 55 | }; 56 | 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /m4/ac_append_supported_cflags.m4: -------------------------------------------------------------------------------- 1 | dnl AC_APPEND_SUPPORTED_CFLAGS(CFLAGS_VARIABLE, [flags to check]) 2 | dnl Example: AC_APPEND_SUPPORTED_CFLAGS(JSONSPIRIT_CFLAGS, [-Wall -Wextra]) 3 | dnl If flags are supported, they are appended to the variable passed as the first argument 4 | 5 | AC_DEFUN([AC_APPEND_SUPPORTED_CFLAGS], [ 6 | AC_MSG_CHECKING([whether $CC supports $2]) 7 | orig_cflags="$CFLAGS" 8 | CFLAGS="-Werror $2" 9 | AC_LINK_IFELSE([AC_LANG_PROGRAM()], 10 | [support_c_flag=yes], 11 | [support_c_flag=no]) 12 | if test "x$support_c_flag" = "xyes"; then 13 | AC_MSG_RESULT(yes) 14 | $1="$$1 $2" 15 | else 16 | AC_MSG_RESULT(no) 17 | fi 18 | CFLAGS="$orig_cflags" 19 | ]) 20 | -------------------------------------------------------------------------------- /m4/ac_append_supported_ldflags.m4: -------------------------------------------------------------------------------- 1 | dnl AC_APPEND_SUPPORTED_LDFLAGS(LDFLAGS_VARIABLE, [flags to check]) 2 | dnl Example: AC_APPEND_SUPPORTED_LDFLAGS(JSONSPIRIT_LDFLAGS, [-Wl,--no-undefined]) 3 | dnl If flags are supported, they are appended to the variable passed as the first argument 4 | 5 | AC_DEFUN([AC_APPEND_SUPPORTED_LDFLAGS], [ 6 | AC_MSG_CHECKING([whether $CC supports $2]) 7 | orig_ldflags="$LDFLAGS" 8 | LDFLAGS="$2" 9 | AC_LINK_IFELSE([AC_LANG_PROGRAM()], 10 | [support_ld_flag=yes], 11 | [support_ld_flag=no]) 12 | if test "x$support_ld_flag" = "xyes"; then 13 | AC_MSG_RESULT(yes) 14 | $1="$$1 $2" 15 | else 16 | AC_MSG_RESULT(no) 17 | fi 18 | LDFLAGS="$orig_ldflags" 19 | ]) 20 | -------------------------------------------------------------------------------- /meta/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = as11 mxf2raw rdd6 as10 2 | -------------------------------------------------------------------------------- /meta/as10/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = as10_mxflib_dict.xml 2 | -------------------------------------------------------------------------------- /meta/as10/as10_mxflib_dict.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /meta/as11/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = as11_mxflib_dict.xml 2 | -------------------------------------------------------------------------------- /meta/mxf2raw/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | as10_info.xsd \ 3 | as11_info.xsd \ 4 | avid_info.xsd \ 5 | bbc_archive_info.xsd \ 6 | mxf2raw_info.xsd 7 | -------------------------------------------------------------------------------- /meta/mxf2raw/as10_info.xsd: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /meta/rdd6/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = rdd6.xsd 2 | -------------------------------------------------------------------------------- /meta/rdd6_xml_creator/README.md: -------------------------------------------------------------------------------- 1 | # RDD 6 XML Creator 2 | 3 | The [SMPTE RDD 6](https://ieeexplore.ieee.org/document/7290141) (Dolby E Audio Metadata) XML Creator is a basic HTML web page application that creates an XML file suitable for `bmxtranswrap` to embed a static RDD 6 serial bitstream in an MXF file. 4 | 5 | Copy the [index.html](./index.html) and supporting directories ([css](./css) and [js](./js)) to a local file system, or use a clone of this Git repository. 6 | 7 | Open `index.html` in a web browser and fill-in the RDD 6 metadata. Select "Save XML" to export to a local file. 8 | 9 | >The file name includes a hash of the file contents (`var filename = "dpp_rdd6_" + hash_djb2(rdd6_xml) + ".xml"`) and therefore files will have a different name if the contents are different. 10 | 11 | The exported XML file can be passed to the `bmxtranswrap` tool using the `--rdd6 ` commandline option. 12 | 13 | The RDD 6 XML can be extracted from an MXF file using `mxf2raw` and the `--rdd6 ` option. 14 | 15 | > Set the `` argument to a single MXF frame (e.g. `10`) or sequence of MXF frames (e.g. `0-10`) to extract the RDD 6 metadata. The RDD 6 metadata is the same in each frame except for the program description which is spread across multiple frames. Each frame has 1 character of the description text, a description start byte (0x02) or a description end byte (0x03). 16 | 17 | The XML Schema for the RDD 6 XML can be found in [../rdd6/rdd6.xsd](../rdd6/rdd6.xsd). -------------------------------------------------------------------------------- /meta/rdd6_xml_creator/css/custom.css: -------------------------------------------------------------------------------- 1 | .form-horizontal .control-label { 2 | text-align:left !important; 3 | } 4 | 5 | .form-horizontal .form-control { 6 | width:auto; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /msvc_build/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = vs10 2 | 3 | -------------------------------------------------------------------------------- /msvc_build/vs10/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | inttypes.h \ 3 | dirent.h \ 4 | bmx.sln \ 5 | test.sln \ 6 | tools.sln \ 7 | bmx/bmx.vcxproj \ 8 | bmx/bmx.vcxproj.filters \ 9 | bmx/gen_scm_version.cmd \ 10 | apps/bmxtimecode.vcxproj \ 11 | apps/bmxtimecode.vcxproj.filters \ 12 | apps/bmxparse/bmxparse.vcxproj \ 13 | apps/bmxparse/bmxparse.vcxproj.filters \ 14 | apps/bmxtranswrap/bmxtranswrap.vcxproj \ 15 | apps/bmxtranswrap/bmxtranswrap.vcxproj.filters \ 16 | apps/mxf2raw/mxf2raw.vcxproj \ 17 | apps/mxf2raw/mxf2raw.vcxproj.filters \ 18 | apps/raw2bmx/raw2bmx.vcxproj \ 19 | apps/raw2bmx/raw2bmx.vcxproj.filters \ 20 | expat/expat.vcxproj \ 21 | expat/expat.vcxproj.filters \ 22 | test/create_test_essence/create_test_essence.vcxproj \ 23 | test/create_test_essence/create_test_essence.vcxproj.filters \ 24 | test/file_md5/file_md5.vcxproj \ 25 | test/file_md5/file_md5.vcxproj.filters \ 26 | test/file_truncate/file_truncate.vcxproj \ 27 | test/file_truncate/file_truncate.vcxproj.filters \ 28 | tools/j2cdump/j2cdump.vcxproj \ 29 | tools/j2cdump/j2cdump.vcxproj.filters \ 30 | tools/jp2extract/jp2extract.vcxproj \ 31 | tools/jp2extract/jp2extract.vcxproj.filters \ 32 | tools/h264dump/h264dump.vcxproj \ 33 | tools/h264dump/h264dump.vcxproj.filters \ 34 | tools/movdump/movdump.vcxproj \ 35 | tools/movdump/movdump.vcxproj.filters \ 36 | tools/rdd36dump/rdd36dump.vcxproj \ 37 | tools/rdd36dump/rdd36dump.vcxproj.filters \ 38 | tools/vc2dump/vc2dump.vcxproj \ 39 | tools/vc2dump/vc2dump.vcxproj.filters \ 40 | uriparser/uriparser.vcxproj \ 41 | uriparser/uriparser.vcxproj.filters 42 | 43 | -------------------------------------------------------------------------------- /msvc_build/vs10/apps/bmxparse/bmxparse.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/apps/bmxtimecode.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/apps/bmxtranswrap/bmxtranswrap.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | Source Files 19 | 20 | 21 | Source Files 22 | 23 | 24 | Source Files 25 | 26 | 27 | Source Files 28 | 29 | 30 | 31 | 32 | Header Files 33 | 34 | 35 | Header Files 36 | 37 | 38 | Header Files 39 | 40 | 41 | Header Files 42 | 43 | 44 | -------------------------------------------------------------------------------- /msvc_build/vs10/apps/raw2bmx/raw2bmx.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | Source Files 19 | 20 | 21 | Source Files 22 | 23 | 24 | Source Files 25 | 26 | 27 | Source Files 28 | 29 | 30 | 31 | 32 | Header Files 33 | 34 | 35 | Header Files 36 | 37 | 38 | Header Files 39 | 40 | 41 | Header Files 42 | 43 | 44 | -------------------------------------------------------------------------------- /msvc_build/vs10/bmx/gen_scm_version.cmd: -------------------------------------------------------------------------------- 1 | SET _header=%1 2 | SET _dist_header=%2 3 | SET _define_name=%3 4 | 5 | SET "_default_str=#define %_define_name% """ 6 | 7 | REM if _header already exists then 'touch' 8 | REM else copy the distribution package header _dist_header 9 | REM else create header with empty version string _default_str 10 | 11 | IF EXIST %_header% ( 12 | COPY /B %_header% +,, > NUL 13 | ) ELSE ( 14 | IF EXIST %_dist_header% ( 15 | COPY %_dist_header% %_header% 16 | ) ELSE ( 17 | ECHO.%_default_str% > %_header% 18 | ) 19 | ) 20 | -------------------------------------------------------------------------------- /msvc_build/vs10/inttypes.h: -------------------------------------------------------------------------------- 1 | #ifndef INTTYPES_H_ 2 | #define INTTYPES_H_ 3 | 4 | /* subset of C99 inttypes.h for Microsoft Visual Studio build */ 5 | 6 | #if defined(_MSC_VER) 7 | 8 | 9 | /* exact width integer types */ 10 | 11 | #if (_MSC_VER >= 1600) 12 | 13 | /* Visual Studio 2010 provides a stdint.h */ 14 | 15 | #include 16 | 17 | #else 18 | 19 | typedef unsigned char uint8_t; 20 | typedef unsigned __int16 uint16_t; 21 | typedef unsigned __int32 uint32_t; 22 | typedef unsigned __int64 uint64_t; 23 | 24 | typedef signed char int8_t; 25 | typedef __int16 int16_t; 26 | typedef __int32 int32_t; 27 | typedef __int64 int64_t; 28 | 29 | 30 | #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) 31 | 32 | #define INT8_MIN (-128) 33 | #define INT16_MIN (-32767 - 1) 34 | #define INT32_MIN (-2147483647 - 1) 35 | #define INT64_MIN (-9223372036854775807LL - 1) 36 | 37 | #define INT8_MAX 127 38 | #define INT16_MAX 32767 39 | #define INT32_MAX 2147483647 40 | #define INT64_MAX 9223372036854775807LL 41 | 42 | #define UINT8_MAX 255 43 | #define UINT16_MAX 65535 44 | #define UINT32_MAX 4294967295U 45 | #define UINT64_MAX 18446744073709551615ULL 46 | 47 | 48 | #define INT64_C(c) c ## i64 49 | #define UINT64_C(c) c ## ui64 50 | 51 | #endif 52 | 53 | 54 | #endif 55 | 56 | 57 | /* print format specifiers */ 58 | 59 | #define PRId64 "I64d" 60 | #define PRIu64 "I64u" 61 | #define PRIx64 "I64x" 62 | 63 | #if defined(_WIN64) 64 | #define PRIszt "I64u" 65 | #else 66 | #define PRIszt "u" 67 | #endif 68 | 69 | 70 | 71 | #endif 72 | 73 | #endif 74 | 75 | -------------------------------------------------------------------------------- /msvc_build/vs10/test.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 11.00 2 | # Visual C++ Express 2010 3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "create_test_essence", "test\create_test_essence\create_test_essence.vcxproj", "{F63EB469-A33F-4428-BCD2-DA0237FB2DE1}" 4 | EndProject 5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_md5", "test\file_md5\file_md5.vcxproj", "{ACDED37E-B073-400F-8F8F-52054BB679A2}" 6 | EndProject 7 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_truncate", "test\file_truncate\file_truncate.vcxproj", "{937CE41C-FAA5-471A-A8C3-648913EEB46C}" 8 | EndProject 9 | Global 10 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 11 | Debug|Win32 = Debug|Win32 12 | Release|Win32 = Release|Win32 13 | EndGlobalSection 14 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 15 | {F63EB469-A33F-4428-BCD2-DA0237FB2DE1}.Debug|Win32.ActiveCfg = Debug|Win32 16 | {F63EB469-A33F-4428-BCD2-DA0237FB2DE1}.Debug|Win32.Build.0 = Debug|Win32 17 | {F63EB469-A33F-4428-BCD2-DA0237FB2DE1}.Release|Win32.ActiveCfg = Release|Win32 18 | {F63EB469-A33F-4428-BCD2-DA0237FB2DE1}.Release|Win32.Build.0 = Release|Win32 19 | {ACDED37E-B073-400F-8F8F-52054BB679A2}.Debug|Win32.ActiveCfg = Debug|Win32 20 | {ACDED37E-B073-400F-8F8F-52054BB679A2}.Debug|Win32.Build.0 = Debug|Win32 21 | {ACDED37E-B073-400F-8F8F-52054BB679A2}.Release|Win32.ActiveCfg = Release|Win32 22 | {ACDED37E-B073-400F-8F8F-52054BB679A2}.Release|Win32.Build.0 = Release|Win32 23 | {937CE41C-FAA5-471A-A8C3-648913EEB46C}.Debug|Win32.ActiveCfg = Debug|Win32 24 | {937CE41C-FAA5-471A-A8C3-648913EEB46C}.Debug|Win32.Build.0 = Debug|Win32 25 | {937CE41C-FAA5-471A-A8C3-648913EEB46C}.Release|Win32.ActiveCfg = Release|Win32 26 | {937CE41C-FAA5-471A-A8C3-648913EEB46C}.Release|Win32.Build.0 = Release|Win32 27 | EndGlobalSection 28 | GlobalSection(SolutionProperties) = preSolution 29 | HideSolutionNode = FALSE 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /msvc_build/vs10/test/create_test_essence/create_test_essence.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/test/file_md5/file_md5.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/test/file_truncate/file_truncate.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/tools/h264dump/h264dump.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/tools/j2cdump/j2cdump.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/tools/jp2extract/jp2extract.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/tools/movdump/movdump.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/tools/rdd36dump/rdd36dump.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /msvc_build/vs10/tools/vc2dump/vc2dump.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = common frame essence_parser writer_helper mxf_helper st436 \ 2 | mxf_reader as02 mxf_op1a d10_mxf as11 as10 avid_mxf rdd9_mxf \ 3 | wave clip_writer apps 4 | 5 | 6 | lib_LTLIBRARIES = libbmx-@BMX_MAJORMINOR@.la 7 | 8 | libbmx_@BMX_MAJORMINOR@_la_SOURCES = 9 | libbmx_@BMX_MAJORMINOR@_la_LIBTOOLFLAGS = --tag=CXX 10 | libbmx_@BMX_MAJORMINOR@_la_LDFLAGS = \ 11 | $(BMX_LDFLAGS) -version-info $(BMX_LIBVERSION) 12 | libbmx_@BMX_MAJORMINOR@_la_LIBADD = \ 13 | apps/libapps.la \ 14 | common/libcommon.la \ 15 | frame/libframe.la \ 16 | essence_parser/libessenceparser.la \ 17 | writer_helper/libwriterhelper.la \ 18 | st436/libst436.la \ 19 | mxf_helper/libmxfhelper.la \ 20 | mxf_reader/libmxfreader.la \ 21 | as02/libas02.la \ 22 | mxf_op1a/libmxfop1a.la \ 23 | avid_mxf/libavidmxf.la \ 24 | d10_mxf/libd10mxf.la \ 25 | as11/libas11.la \ 26 | as10/libas10.la \ 27 | rdd9_mxf/librdd9mxf.la \ 28 | wave/libwave.la \ 29 | clip_writer/libclipwriter.la \ 30 | $(BMX_LIBADDLIBS) 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /src/apps/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libapps.la 2 | 3 | libapps_la_SOURCES = \ 4 | AppInfoWriter.cpp \ 5 | AppMCALabelHelper.cpp \ 6 | AppMXFFileFactory.cpp \ 7 | AppTextInfoWriter.cpp \ 8 | AppUtils.cpp \ 9 | AppXMLInfoWriter.cpp \ 10 | AS10Helper.cpp \ 11 | AS11Helper.cpp \ 12 | FrameworkHelper.cpp \ 13 | PropertyFileParser.cpp \ 14 | TimedTextManifestParser.cpp \ 15 | ps_avci_header_data.h 16 | 17 | libapps_la_CXXFLAGS = $(BMX_CFLAGS) 18 | -------------------------------------------------------------------------------- /src/as02/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libas02.la 2 | 3 | libas02_la_SOURCES = \ 4 | AS02AVCITrack.cpp \ 5 | AS02Bundle.cpp \ 6 | AS02Clip.cpp \ 7 | AS02D10Track.cpp \ 8 | AS02DVTrack.cpp \ 9 | AS02Manifest.cpp \ 10 | AS02MPEG2LGTrack.cpp \ 11 | AS02PCMTrack.cpp \ 12 | AS02PictureTrack.cpp \ 13 | AS02Shim.cpp \ 14 | AS02Track.cpp \ 15 | AS02UncTrack.cpp \ 16 | AS02Version.cpp 17 | 18 | libas02_la_CXXFLAGS = $(BMX_CFLAGS) 19 | 20 | -------------------------------------------------------------------------------- /src/as10/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libas10.la 2 | 3 | libas10_la_SOURCES = \ 4 | as10_shims.h \ 5 | AS10CoreFramework.cpp \ 6 | AS10DMS.cpp \ 7 | AS10Info.cpp \ 8 | AS10MPEG2Validator.cpp \ 9 | AS10RDD9Validator.cpp \ 10 | AS10ShimNames.cpp \ 11 | AS10WriterHelper.cpp 12 | 13 | libas10_la_CXXFLAGS = $(BMX_CFLAGS) 14 | -------------------------------------------------------------------------------- /src/as11/AS11Labels.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Author: Philip de Nier 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * * Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * * Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * * Neither the name of the British Broadcasting Corporation nor the names 16 | * of its contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifdef HAVE_CONFIG_H 33 | #include "config.h" 34 | #endif 35 | 36 | #include 37 | 38 | #include 39 | #include 40 | #include 41 | 42 | using namespace std; 43 | using namespace bmx; 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/as11/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libas11.la 2 | 3 | libas11_la_SOURCES = \ 4 | AS11DMS.cpp \ 5 | AS11CoreFramework.cpp \ 6 | AS11Info.cpp \ 7 | AS11Labels.cpp \ 8 | AS11SegmentationFramework.cpp \ 9 | AS11WriterHelper.cpp \ 10 | UKDPPDMS.cpp \ 11 | UKDPPFramework.cpp 12 | 13 | libas11_la_CXXFLAGS = $(BMX_CFLAGS) 14 | -------------------------------------------------------------------------------- /src/avid_mxf/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libavidmxf.la 2 | 3 | libavidmxf_la_SOURCES = \ 4 | AvidAlphaTrack.cpp \ 5 | AvidAVCITrack.cpp \ 6 | AvidAVCTrack.cpp \ 7 | AvidClip.cpp \ 8 | AvidD10Track.cpp \ 9 | AvidDVTrack.cpp \ 10 | AvidIndexTable.cpp \ 11 | AvidInfo.cpp \ 12 | AvidMJPEGTrack.cpp \ 13 | AvidMPEG2LGTrack.cpp \ 14 | AvidPCMTrack.cpp \ 15 | AvidPictureTrack.cpp \ 16 | AvidRGBColors.h \ 17 | AvidTrack.cpp \ 18 | AvidUncTrack.cpp \ 19 | AvidVC3Track.cpp 20 | 21 | libavidmxf_la_CXXFLAGS = $(BMX_CFLAGS) 22 | 23 | -------------------------------------------------------------------------------- /src/clip_writer/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libclipwriter.la 2 | 3 | libclipwriter_la_SOURCES = \ 4 | ClipWriter.cpp \ 5 | ClipWriterTrack.cpp 6 | 7 | libclipwriter_la_CXXFLAGS = $(BMX_CFLAGS) 8 | 9 | -------------------------------------------------------------------------------- /src/common/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libcommon.la 2 | 3 | libcommon_la_SOURCES = \ 4 | BitBuffer.cpp \ 5 | BMXException.cpp \ 6 | BMXTypes.cpp \ 7 | ByteArray.cpp \ 8 | ByteBuffer.cpp \ 9 | Checksum.cpp \ 10 | CRC32.cpp \ 11 | EssenceType.cpp \ 12 | KLVParser.cpp \ 13 | Logging.cpp \ 14 | MD5.cpp \ 15 | MXFChecksumFile.cpp \ 16 | MXFHTTPFile.cpp \ 17 | MXFUtils.cpp \ 18 | SHA1.cpp \ 19 | URI.cpp \ 20 | Utils.cpp \ 21 | XMLUtils.cpp \ 22 | XMLWriter.cpp \ 23 | Version.cpp 24 | 25 | libcommon_la_CXXFLAGS = $(BMX_CFLAGS) 26 | 27 | -------------------------------------------------------------------------------- /src/d10_mxf/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libd10mxf.la 2 | 3 | libd10mxf_la_SOURCES = \ 4 | D10ContentPackage.cpp \ 5 | D10File.cpp \ 6 | D10PCMTrack.cpp \ 7 | D10MPEGTrack.cpp \ 8 | D10Track.cpp \ 9 | D10XMLTrack.cpp 10 | 11 | libd10mxf_la_CXXFLAGS = $(BMX_CFLAGS) 12 | 13 | -------------------------------------------------------------------------------- /src/essence_parser/EssenceParserUtils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Author: Philip de Nier 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * * Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * * Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * * Neither the name of the British Broadcasting Corporation nor the names 16 | * of its contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifndef BMX_ESSENCE_PARSER_UTILS_H_ 33 | #define BMX_ESSENCE_PARSER_UTILS_H_ 34 | 35 | 36 | #include 37 | 38 | 39 | 40 | namespace bmx 41 | { 42 | 43 | 44 | uint32_t get_bits(const unsigned char *data, uint32_t data_size, uint32_t bit_offset, uint8_t num_bits); 45 | 46 | 47 | 48 | }; 49 | 50 | 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/essence_parser/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libessenceparser.la 2 | 3 | libessenceparser_la_SOURCES = \ 4 | AVCEssenceParser.cpp \ 5 | AVCIRawEssenceReader.cpp \ 6 | D10RawEssenceReader.cpp \ 7 | DVEssenceParser.cpp \ 8 | EssenceParserUtils.cpp \ 9 | EssenceParserUtils.h \ 10 | FileEssenceSource.cpp \ 11 | FilePatternEssenceSource.cpp \ 12 | J2CEssenceParser.cpp \ 13 | KLVEssenceSource.cpp \ 14 | MJPEGEssenceParser.cpp \ 15 | MPEG2AspectRatioFilter.cpp \ 16 | MPEG2EssenceParser.cpp \ 17 | RawEssenceReader.cpp \ 18 | SoundConversion.cpp \ 19 | RDD36EssenceParser.cpp \ 20 | VC2EssenceParser.cpp \ 21 | VC3EssenceParser.cpp 22 | 23 | libessenceparser_la_CXXFLAGS = $(BMX_CFLAGS) 24 | 25 | -------------------------------------------------------------------------------- /src/frame/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libframe.la 2 | 3 | libframe_la_SOURCES = \ 4 | DataBufferArray.cpp \ 5 | Frame.cpp \ 6 | FrameBuffer.cpp 7 | 8 | libframe_la_CXXFLAGS = $(BMX_CFLAGS) 9 | 10 | -------------------------------------------------------------------------------- /src/mxf_helper/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libmxfhelper.la 2 | 3 | libmxfhelper_la_SOURCES = \ 4 | ANCDataMXFDescriptorHelper.cpp \ 5 | AVCIMXFDescriptorHelper.cpp \ 6 | AVCMXFDescriptorHelper.cpp \ 7 | D10MXFDescriptorHelper.cpp \ 8 | DataMXFDescriptorHelper.cpp \ 9 | DVMXFDescriptorHelper.cpp \ 10 | JPEG2000MXFDescriptorHelper.cpp \ 11 | MJPEGMXFDescriptorHelper.cpp \ 12 | MPEG2LGMXFDescriptorHelper.cpp \ 13 | MPEG2Validator.cpp \ 14 | MXFDescriptorHelper.cpp \ 15 | MXFFileFactory.cpp \ 16 | MXFMCALabelHelper.cpp \ 17 | PictureMXFDescriptorHelper.cpp \ 18 | RDD36MXFDescriptorHelper.cpp \ 19 | SoundMXFDescriptorHelper.cpp \ 20 | TimedTextManifest.cpp \ 21 | TimedTextMXFDescriptorHelper.cpp \ 22 | TimedTextMXFResourceProvider.cpp \ 23 | UncCDCIMXFDescriptorHelper.cpp \ 24 | UncRGBAMXFDescriptorHelper.cpp \ 25 | UniqueIdHelper.cpp \ 26 | VBIDataMXFDescriptorHelper.cpp \ 27 | VC2MXFDescriptorHelper.cpp \ 28 | VC3MXFDescriptorHelper.cpp \ 29 | WaveMXFDescriptorHelper.cpp 30 | 31 | libmxfhelper_la_CXXFLAGS = $(BMX_CFLAGS) 32 | -------------------------------------------------------------------------------- /src/mxf_op1a/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libmxfop1a.la 2 | 3 | libmxfop1a_la_SOURCES = \ 4 | OP1AANCDataTrack.cpp \ 5 | OP1AAVCITrack.cpp \ 6 | OP1AAVCTrack.cpp \ 7 | OP1AContentPackage.cpp \ 8 | OP1AD10Track.cpp \ 9 | OP1ADataTrack.cpp \ 10 | OP1ADVTrack.cpp \ 11 | OP1AFile.cpp \ 12 | OP1AJPEG2000Track.cpp \ 13 | OP1AIndexTable.cpp \ 14 | OP1AMPEG2LGTrack.cpp \ 15 | OP1APCMTrack.cpp \ 16 | OP1APictureTrack.cpp \ 17 | OP1ARDD36Track.cpp \ 18 | OP1ATimedTextTrack.cpp \ 19 | OP1ATrack.cpp \ 20 | OP1AUncTrack.cpp \ 21 | OP1AVBIDataTrack.cpp \ 22 | OP1AVC2Track.cpp \ 23 | OP1AVC3Track.cpp \ 24 | OP1AXMLTrack.cpp 25 | 26 | libmxfop1a_la_CXXFLAGS = $(BMX_CFLAGS) 27 | -------------------------------------------------------------------------------- /src/mxf_reader/MXFIndexEntryExt.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Author: Philip de Nier 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are met: 9 | * 10 | * * Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * * Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * * Neither the name of the British Broadcasting Corporation nor the names 16 | * of its contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | * POSSIBILITY OF SUCH DAMAGE. 30 | */ 31 | 32 | #ifdef HAVE_CONFIG_H 33 | #include "config.h" 34 | #endif 35 | 36 | #include 37 | 38 | using namespace bmx; 39 | 40 | 41 | 42 | MXFIndexEntryExt::MXFIndexEntryExt() 43 | { 44 | container_offset = 0; 45 | file_offset = 0; 46 | edit_unit_size = 0; 47 | temporal_offset = 0; 48 | key_frame_offset = 0; 49 | flags = 0; 50 | } 51 | 52 | -------------------------------------------------------------------------------- /src/mxf_reader/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libmxfreader.la 2 | 3 | libmxfreader_la_SOURCES = \ 4 | EssenceChunkHelper.cpp \ 5 | EssenceReader.cpp \ 6 | FrameMetadataReader.cpp \ 7 | IndexTableHelper.cpp \ 8 | MXFAPPInfo.cpp \ 9 | MXFFileIndex.cpp \ 10 | MXFFileReader.cpp \ 11 | MXFFileTrackReader.cpp \ 12 | MXFFrameBuffer.cpp \ 13 | MXFFrameMetadata.cpp \ 14 | MXFGroupReader.cpp \ 15 | MXFIndexEntryExt.cpp \ 16 | MXFMCALabelIndex.cpp \ 17 | MXFPackageResolver.cpp \ 18 | MXFReader.cpp \ 19 | MXFSequenceReader.cpp \ 20 | MXFSequenceTrackReader.cpp \ 21 | MXFTextObject.cpp \ 22 | MXFTimedTextTrackReader.cpp \ 23 | MXFTrackInfo.cpp 24 | 25 | libmxfreader_la_CXXFLAGS = $(BMX_CFLAGS) 26 | 27 | -------------------------------------------------------------------------------- /src/rdd9_mxf/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = librdd9mxf.la 2 | 3 | librdd9mxf_la_SOURCES = \ 4 | RDD9ANCDataTrack.cpp \ 5 | RDD9ContentPackage.cpp \ 6 | RDD9DataTrack.cpp \ 7 | RDD9File.cpp \ 8 | RDD9IndexTable.cpp \ 9 | RDD9PCMTrack.cpp \ 10 | RDD9MPEG2LGTrack.cpp \ 11 | RDD9Track.cpp \ 12 | RDD9Validator.cpp \ 13 | RDD9VBIDataTrack.cpp \ 14 | RDD9XMLTrack.cpp 15 | 16 | librdd9mxf_la_CXXFLAGS = $(BMX_CFLAGS) 17 | 18 | -------------------------------------------------------------------------------- /src/rdd9_mxf/RDD9Validator.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016, British Broadcasting Corporation 3 | * All Rights Reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * * Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in the 12 | * documentation and/or other materials provided with the distribution. 13 | * * Neither the name of the British Broadcasting Corporation nor the names 14 | * of its contributors may be used to endorse or promote products derived 15 | * from this software without specific prior written permission. 16 | * 17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | * POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | #ifdef HAVE_CONFIG_H 31 | #include "config.h" 32 | #endif 33 | 34 | #include 35 | 36 | using namespace std; 37 | using namespace bmx; 38 | 39 | 40 | RDD9Validator::RDD9Validator() 41 | { 42 | mRDD9File = 0; 43 | } 44 | 45 | RDD9Validator::~RDD9Validator() 46 | { 47 | } 48 | 49 | void RDD9Validator::SetRDD9File(RDD9File *file) 50 | { 51 | mRDD9File = file; 52 | } 53 | 54 | -------------------------------------------------------------------------------- /src/st436/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libst436.la 2 | 3 | libst436_la_SOURCES = \ 4 | RDD6BitBuffer.cpp \ 5 | RDD6Metadata.cpp \ 6 | RDD6MetadataExpat.h \ 7 | RDD6MetadataExpat.cpp \ 8 | RDD6MetadataXML.h \ 9 | RDD6MetadataXML.cpp \ 10 | ST436Element.cpp 11 | 12 | libst436_la_CXXFLAGS = $(BMX_CFLAGS) 13 | 14 | -------------------------------------------------------------------------------- /src/wave/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libwave.la 2 | 3 | libwave_la_SOURCES = \ 4 | WaveBEXT.cpp \ 5 | WaveIO.cpp \ 6 | WaveFileIO.cpp \ 7 | WaveReader.cpp \ 8 | WaveTrackReader.cpp \ 9 | WaveTrackWriter.cpp \ 10 | WaveWriter.cpp 11 | 12 | libwave_la_CXXFLAGS = $(BMX_CFLAGS) 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/writer_helper/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libwriterhelper.la 2 | 3 | libwriterhelper_la_SOURCES = \ 4 | AVCWriterHelper.cpp \ 5 | AVCIWriterHelper.cpp \ 6 | D10WriterHelper.cpp \ 7 | JPEG2000WriterHelper.cpp \ 8 | MPEG2LGWriterHelper.cpp \ 9 | VC2WriterHelper.cpp \ 10 | XMLWriterHelper.cpp 11 | 12 | libwriterhelper_la_CXXFLAGS = $(BMX_CFLAGS) 13 | 14 | -------------------------------------------------------------------------------- /test/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = . as02 as11 mxf_op1a rdd9_mxf d10_mxf avid_mxf mxf_reader \ 2 | wave growing_file rdd6 ard_zdf_hdf text_object bmxtranswrap mca \ 3 | as10 misc timed_text jpeg2000 d10_qt_klv partial_audio_frames 4 | 5 | if ENABLE_BBCARCH_CHECK 6 | SUBDIRS += bbcarchive 7 | endif 8 | 9 | check_PROGRAMS = create_test_essence file_truncate file_md5 10 | 11 | create_test_essence_SOURCES = create_test_essence.cpp 12 | create_test_essence_CXXFLAGS = $(BMX_CFLAGS) 13 | 14 | file_truncate_SOURCES = file_truncate.cpp 15 | file_truncate_CXXFLAGS = $(BMX_CFLAGS) 16 | 17 | file_md5_SOURCES = file_md5.cpp 18 | file_md5_CXXFLAGS = $(BMX_CFLAGS) 19 | -------------------------------------------------------------------------------- /test/ard_zdf_hdf/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = avci100_1080i50.sh rdd9_422p_1080i50.sh 2 | 3 | EXTRA_DIST = \ 4 | avci100_1080i50.sh \ 5 | avci100_1080i50.md5 \ 6 | rdd9_422p_1080i50.sh \ 7 | rdd9_422p_1080i50.md5 8 | 9 | .PHONY: create-data 10 | create-data: 11 | ${srcdir}/avci100_1080i50.sh create_data 12 | ${srcdir}/rdd9_422p_1080i50.sh create_data 13 | 14 | .PHONY: create-samples 15 | create-samples: 16 | ${srcdir}/avci100_1080i50.sh create_samples 17 | ${srcdir}/rdd9_422p_1080i50.sh create_samples 18 | -------------------------------------------------------------------------------- /test/ard_zdf_hdf/avci100_1080i50.md5: -------------------------------------------------------------------------------- 1 | 5b0af46aade706f4d451e8d7cead0367 - 2 | -------------------------------------------------------------------------------- /test/ard_zdf_hdf/avci100_1080i50.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | prefix=$(basename $0 .sh) 5 | 6 | md5tool=../file_md5 7 | 8 | testdir=.. 9 | appsdir=../../apps 10 | tmpdir=/tmp/ardzdfhdf_temp$$ 11 | sampledir=/tmp/ 12 | 13 | 14 | create_test_file() 15 | { 16 | $testdir/create_test_essence -t 42 -d 3 $tmpdir/audio.pcm 17 | $testdir/create_test_essence -t 7 -d 3 $tmpdir/video.h264 18 | 19 | $appsdir/raw2bmx/raw2bmx \ 20 | --regtest \ 21 | -t op1a \ 22 | --ard-zdf-hdf \ 23 | -f 25 \ 24 | -y 10:00:00:00 \ 25 | -o $tmpdir/$1.mxf \ 26 | --afd 10 \ 27 | --avci100_1080i $tmpdir/video.h264 \ 28 | -q 24 --pcm $tmpdir/audio.pcm \ 29 | -q 24 --pcm $tmpdir/audio.pcm \ 30 | -q 24 --pcm $tmpdir/audio.pcm \ 31 | -q 24 --pcm $tmpdir/audio.pcm \ 32 | -q 24 --pcm $tmpdir/audio.pcm \ 33 | -q 24 --pcm $tmpdir/audio.pcm \ 34 | -q 24 --pcm $tmpdir/audio.pcm \ 35 | -q 24 --pcm $tmpdir/audio.pcm \ 36 | >/dev/null 37 | } 38 | 39 | check() 40 | { 41 | create_test_file $prefix && 42 | $md5tool < $tmpdir/$prefix.mxf > $tmpdir/$prefix.md5 && 43 | diff $tmpdir/$prefix.md5 $base/$prefix.md5 44 | } 45 | 46 | create_data() 47 | { 48 | create_test_file $prefix && 49 | $md5tool < $tmpdir/$prefix.mxf > $base/$prefix.md5 50 | } 51 | 52 | create_samples() 53 | { 54 | create_test_file ardzdfhdf_$prefix && 55 | mv $tmpdir/ardzdfhdf_$prefix.mxf $sampledir 56 | } 57 | 58 | 59 | mkdir -p $tmpdir 60 | 61 | if test "$1" = "create_data" ; then 62 | create_data 63 | elif test "$1" = "create_samples" ; then 64 | create_samples 65 | else 66 | check 67 | fi 68 | res=$? 69 | 70 | rm -Rf $tmpdir 71 | 72 | exit $res 73 | -------------------------------------------------------------------------------- /test/ard_zdf_hdf/rdd9_422p_1080i50.md5: -------------------------------------------------------------------------------- 1 | 373d2dcfd3f771483cf50a3941f10aef - 2 | -------------------------------------------------------------------------------- /test/ard_zdf_hdf/rdd9_422p_1080i50.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | prefix=$(basename $0 .sh) 5 | 6 | md5tool=../file_md5 7 | 8 | testdir=.. 9 | appsdir=../../apps 10 | tmpdir=/tmp/ardzdfhdf_temp$$ 11 | sampledir=/tmp/ 12 | 13 | 14 | create_test_file() 15 | { 16 | $testdir/create_test_essence -t 42 -d 14 $tmpdir/audio.pcm 17 | $testdir/create_test_essence -t 14 -d 14 $tmpdir/video.m2v 18 | 19 | # NOTE: --part 12 only used to force multiple body partitions in this short sample 20 | $appsdir/raw2bmx/raw2bmx \ 21 | --regtest \ 22 | -t rdd9 \ 23 | --ard-zdf-hdf \ 24 | -f 25 \ 25 | -y 10:00:00:00 \ 26 | --part 12 \ 27 | -o $tmpdir/$1.mxf \ 28 | --afd 10 \ 29 | --mpeg2lg_422p_hl_1080i $tmpdir/video.m2v \ 30 | -q 24 --pcm $tmpdir/audio.pcm \ 31 | -q 24 --pcm $tmpdir/audio.pcm \ 32 | -q 24 --pcm $tmpdir/audio.pcm \ 33 | -q 24 --pcm $tmpdir/audio.pcm \ 34 | -q 24 --pcm $tmpdir/audio.pcm \ 35 | -q 24 --pcm $tmpdir/audio.pcm \ 36 | -q 24 --pcm $tmpdir/audio.pcm \ 37 | -q 24 --pcm $tmpdir/audio.pcm \ 38 | >/dev/null 39 | } 40 | 41 | check() 42 | { 43 | create_test_file $prefix && 44 | $md5tool < $tmpdir/$prefix.mxf > $tmpdir/$prefix.md5 && 45 | diff $tmpdir/$prefix.md5 $base/$prefix.md5 46 | } 47 | 48 | create_data() 49 | { 50 | create_test_file $prefix && 51 | $md5tool < $tmpdir/$prefix.mxf > $base/$prefix.md5 52 | } 53 | 54 | create_samples() 55 | { 56 | create_test_file ardzdfhdf_$prefix && 57 | mv $tmpdir/ardzdfhdf_$prefix.mxf $sampledir 58 | } 59 | 60 | 61 | mkdir -p $tmpdir 62 | 63 | if test "$1" = "create_data" ; then 64 | create_data 65 | elif test "$1" = "create_samples" ; then 66 | create_samples 67 | else 68 | check 69 | fi 70 | res=$? 71 | 72 | rm -Rf $tmpdir 73 | 74 | exit $res 75 | -------------------------------------------------------------------------------- /test/as02/avci100_1080i.md5s: -------------------------------------------------------------------------------- 1 | 5ef15e526225a67490c70cc63a83562f - 2 | 13f9f63cb463ef52211c75ae8d62944c - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/avci100_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 7 avci100_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/as02/avci100_1080p.md5s: -------------------------------------------------------------------------------- 1 | d2a1e4625d2452a0cd02b13adbeea71b - 2 | 7fa9a404d0adf2afc74a2aff5d1b86b5 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/avci100_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 8 avci100_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/as02/avci100_720p25.md5s: -------------------------------------------------------------------------------- 1 | ab4aac6068df904651a590c87b55ef4e - 2 | 18acaea872f276fa52473d21ec924a26 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/avci100_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 29 avci100_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/as02/avci100_720p50.md5s: -------------------------------------------------------------------------------- 1 | d8f374718064e26c6ea7a59c9c3404f8 - 2 | edb5b793ec925334ca71863a5c275dd7 - 3 | 15a097afa43732f2962916c174637aa8 - 4 | 179e44bc399b379f1b1068e762fee283 - 5 | -------------------------------------------------------------------------------- /test/as02/avci100_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 29 avci100_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/as02/avci50_1080i.md5s: -------------------------------------------------------------------------------- 1 | 6979070bf3a827d9e985f4eb328f2beb - 2 | 9e80cc3366b475912fcfdc70ee66b52c - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/avci50_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 9 avci50_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/as02/avci50_1080p.md5s: -------------------------------------------------------------------------------- 1 | a2d2ab2c545bc9b25b042ce08d7dbdec - 2 | 9c3f37d98745267dbf5d1dc52491bb45 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/avci50_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 10 avci50_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/as02/avci50_720p25.md5s: -------------------------------------------------------------------------------- 1 | dcb50be28bab04169b69a995f71477b8 - 2 | d018f280b45527747d62ed7a98d09bae - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/avci50_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 30 avci50_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/as02/avci50_720p50.md5s: -------------------------------------------------------------------------------- 1 | c305ae00abaca497bbfb52734fc94dcb - 2 | cf664e45ca09a236e7ccc53b7b348474 - 3 | 15a097afa43732f2962916c174637aa8 - 4 | 179e44bc399b379f1b1068e762fee283 - 5 | -------------------------------------------------------------------------------- /test/as02/avci50_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 30 avci50_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/as02/check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/as02test_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t as02 -o ${TEMP_DIR}/as02test -y 10:11:12:13 --clip test " 10 | if [ "$4" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $4 " 12 | fi 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 17 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 18 | 19 | # write 20 | $BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 21 | 22 | # calculate md5sum and compare with expected value 23 | $MD5TOOL < ${TEMP_DIR}/as02test/as02test.mxf > ${TEMP_DIR}/test.md5s 24 | $MD5TOOL < ${TEMP_DIR}/as02test/media/as02test_v0.mxf >> ${TEMP_DIR}/test.md5s 25 | $MD5TOOL < ${TEMP_DIR}/as02test/media/as02test_a0.mxf >> ${TEMP_DIR}/test.md5s 26 | $MD5TOOL < ${TEMP_DIR}/as02test/media/as02test_a1.mxf >> ${TEMP_DIR}/test.md5s 27 | if diff ${TEMP_DIR}/test.md5s ${srcdir}/$3$4.md5s 28 | then 29 | RESULT=0 30 | else 31 | echo "*** ERROR: $3$4 regression" 32 | RESULT=1 33 | fi 34 | 35 | # clean-up 36 | rm -Rf ${TEMP_DIR} 37 | 38 | 39 | exit $RESULT 40 | -------------------------------------------------------------------------------- /test/as02/create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/as02test_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t as02 -o ${TEMP_DIR}/as02test -y 10:11:12:13 --clip test " 10 | if [ "$5" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $5 " 12 | else 13 | BASE_COMMAND="$BASE_COMMAND -f 25 " 14 | fi 15 | 16 | 17 | # create essence data 18 | ../create_test_essence -t 1 -d $2 ${TEMP_DIR}/pcm.raw 19 | ../create_test_essence -t $3 -d $2 ${TEMP_DIR}/test_in.raw 20 | 21 | # write and calculate md5sum 22 | if $BASE_COMMAND -a 16:9 --$4 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 23 | then 24 | $MD5TOOL < ${TEMP_DIR}/as02test/as02test.mxf > $1/$4$5.md5s 25 | $MD5TOOL < ${TEMP_DIR}/as02test/media/as02test_v0.mxf >> $1/$4$5.md5s 26 | $MD5TOOL < ${TEMP_DIR}/as02test/media/as02test_a0.mxf >> $1/$4$5.md5s 27 | $MD5TOOL < ${TEMP_DIR}/as02test/media/as02test_a1.mxf >> $1/$4$5.md5s 28 | RESULT=0 29 | else 30 | RESULT=1 31 | fi 32 | 33 | # clean-up 34 | rm -Rf ${TEMP_DIR} 35 | 36 | 37 | exit $RESULT 38 | 39 | -------------------------------------------------------------------------------- /test/as02/d10_30.md5s: -------------------------------------------------------------------------------- 1 | 5ec9a466a345b00105fc0222cecfbdcd - 2 | c250bd14e96b220a37cb4a1fc30d392f - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/d10_30.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 13 d10_30 4 | 5 | -------------------------------------------------------------------------------- /test/as02/d10_40.md5s: -------------------------------------------------------------------------------- 1 | 5ab071616f702f43a2d35cf47bf48fa5 - 2 | 6106597d62b494141297e9db1973ac94 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/d10_40.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 12 d10_40 4 | 5 | -------------------------------------------------------------------------------- /test/as02/d10_50.md5s: -------------------------------------------------------------------------------- 1 | 7bcc322cb108c7ac7ce460b5d74c8d78 - 2 | b3de54a6cc930add40330749e4ae2318 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/d10_50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 11 d10_50 4 | 5 | -------------------------------------------------------------------------------- /test/as02/dv100_1080i.md5s: -------------------------------------------------------------------------------- 1 | 23035b8928c44639ebca3b74f62afcf4 - 2 | 9455b91a46941ef3c34be4a69fb718c5 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/dv100_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 5 dv100_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/as02/dv100_720p25.md5s: -------------------------------------------------------------------------------- 1 | 965ae385a8899b06916fc44fa59c68dd - 2 | af114748efc21450623ae1be458ebe3e - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/dv100_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 6 dv100_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/as02/dv100_720p50.md5s: -------------------------------------------------------------------------------- 1 | 480e4bd24b157b83138b54bce3433c5f - 2 | ef0303ea41bcd93a5e1147b5a45ed875 - 3 | 15a097afa43732f2962916c174637aa8 - 4 | 179e44bc399b379f1b1068e762fee283 - 5 | -------------------------------------------------------------------------------- /test/as02/dv100_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 6 dv100_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/as02/dv50.md5s: -------------------------------------------------------------------------------- 1 | 51c9eb25a5bdc421856778601b408430 - 2 | d6dbed2ff6bf1323d1f54785fa01c82d - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/dv50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 4 dv50 4 | 5 | -------------------------------------------------------------------------------- /test/as02/dvbased25.md5s: -------------------------------------------------------------------------------- 1 | b102d187dc709356bcc67fd11d2fac49 - 2 | b2dd5da737e06d8cee841aa1f04edee1 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/dvbased25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 3 dvbased25 4 | 5 | -------------------------------------------------------------------------------- /test/as02/iecdv25.md5s: -------------------------------------------------------------------------------- 1 | 3785198a7da7226e2767eff411678646 - 2 | ef4ec784f21e47599413c6345d80debb - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/iecdv25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 2 iecdv25 4 | 5 | -------------------------------------------------------------------------------- /test/as02/mpeg2lg_422p_hl_1080i.md5s: -------------------------------------------------------------------------------- 1 | 75b59a0d532a02678c2e201585b69287 - 2 | db0c50da50146caff510f15966bb8333 - 3 | ca62d51438441a446bdc17a12935d6af - 4 | ea0df6131581e6251bc1960e1aa80cf9 - 5 | -------------------------------------------------------------------------------- /test/as02/mpeg2lg_422p_hl_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 14 mpeg2lg_422p_hl_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/as02/mpeg2lg_mp_h14_1080i.md5s: -------------------------------------------------------------------------------- 1 | 90bcea109295cb2893b2b5d5d587e735 - 2 | 483c6641b8e10a245fc3c50e962ee17b - 3 | ca62d51438441a446bdc17a12935d6af - 4 | ea0df6131581e6251bc1960e1aa80cf9 - 5 | -------------------------------------------------------------------------------- /test/as02/mpeg2lg_mp_h14_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 15 mpeg2lg_mp_h14_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/as02/mpeg2lg_mp_hl_1920_1080i.md5s: -------------------------------------------------------------------------------- 1 | 874ecac52abab9b347883c5254bf73e3 - 2 | 1faa943269540c34b6d979fb921d56f5 - 3 | ca62d51438441a446bdc17a12935d6af - 4 | ea0df6131581e6251bc1960e1aa80cf9 - 5 | -------------------------------------------------------------------------------- /test/as02/mpeg2lg_mp_hl_1920_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 16 mpeg2lg_mp_hl_1920_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/as02/samples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TEMP_DIR=/tmp/as02_temp$$ 4 | OUTPUT=/tmp/sample_$3$4 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t as02 -o ${OUTPUT} -y 10:11:12:13 --clip test " 10 | if [ "$4" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $4 " 12 | else 13 | BASE_COMMAND="$BASE_COMMAND -f 25 " 14 | fi 15 | 16 | 17 | # create essence data 18 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 19 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 20 | 21 | # write 22 | $BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw 23 | 24 | # clean-up 25 | rm -Rf ${TEMP_DIR} 26 | 27 | -------------------------------------------------------------------------------- /test/as02/unc.md5s: -------------------------------------------------------------------------------- 1 | 29b60d0bcff2e7475eb9f6ed5003eb23 - 2 | 30375d3925564cf9a1de25a97a62f960 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/unc.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 17 unc 4 | 5 | -------------------------------------------------------------------------------- /test/as02/unc_1080i.md5s: -------------------------------------------------------------------------------- 1 | 709142ca21cea86ef8715b6d8bb84074 - 2 | 33eb4a08961c4930f0a839074744ca93 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/unc_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 18 unc_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/as02/unc_1080p.md5s: -------------------------------------------------------------------------------- 1 | 5bbcea70f76011d38c52c55f863b5801 - 2 | 59f9a80b493bb386184b7f052857a620 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/unc_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 19 unc_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/as02/unc_3840.md5s: -------------------------------------------------------------------------------- 1 | 72da548cfd65a773288759528982bf66 - 2 | 10fc4377aabe1d34134cb13fbcebf5ae - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/unc_3840.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 45 unc_3840 4 | 5 | -------------------------------------------------------------------------------- /test/as02/unc_720p.md5s: -------------------------------------------------------------------------------- 1 | 6bdd4f4b315e2d83e4e8fca521bd185f - 2 | 8d07728a98e1147452f9736b2f591158 - 3 | b95c447904763a1abbaff8fc4c54cdff - 4 | c0c288cab64adf8624ecd68acc871718 - 5 | -------------------------------------------------------------------------------- /test/as02/unc_720p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 20 unc_720p 4 | 5 | -------------------------------------------------------------------------------- /test/as10/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | 4 | EXTRA_DIST = \ 5 | high_hd_2014_rb.md5 \ 6 | high_hd_2014_rb.xml \ 7 | high_hd_2014_tw.md5 \ 8 | high_hd_2014_tw.xml \ 9 | test.sh \ 10 | as10_core_framework.txt 11 | 12 | 13 | .PHONY: create-data 14 | create-data: 15 | ${srcdir}/test.sh create_data 16 | 17 | 18 | .PHONY: create-samples 19 | create-samples: 20 | ${srcdir}/test.sh create_samples 21 | 22 | -------------------------------------------------------------------------------- /test/as10/as10_core_framework.txt: -------------------------------------------------------------------------------- 1 | ShimName: HIGH_HD_2014 2 | Type: Documentaire 3 | MainTitle: La vie du chat 4 | SubTitle: La chasse 5 | TitleDescription: Le chat sort la nuit pour chasser 6 | OrganizationName: Org 7 | PersonName: Toto 8 | LocationDescription: Paris 9 | SpanningNumber: 0 10 | CommonSpanningID: 01.02.03.04.05.06.07.08.09.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32 11 | CumulativeDuration: 1 -------------------------------------------------------------------------------- /test/as10/high_hd_2014_rb.md5: -------------------------------------------------------------------------------- 1 | 84519ec358c41875a91db2e1c994d17b - 2 | -------------------------------------------------------------------------------- /test/as10/high_hd_2014_tw.md5: -------------------------------------------------------------------------------- 1 | 035fb4fd4bb6db27388a2155721f824a - 2 | -------------------------------------------------------------------------------- /test/as11/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | 4 | EXTRA_DIST = \ 5 | avci100_1080i.md5 \ 6 | avci100_1080i.xml \ 7 | d10_50.md5 \ 8 | d10_50.xml \ 9 | mpeg2lg_422p_hl_1080i.md5 \ 10 | mpeg2lg_422p_hl_1080i.xml \ 11 | test.sh \ 12 | as11_core_framework.txt \ 13 | as11_segmentation_framework.txt \ 14 | ukdpp_framework.txt 15 | 16 | 17 | .PHONY: create-data 18 | create-data: 19 | ${srcdir}/test.sh create_data 20 | 21 | 22 | .PHONY: create-samples 23 | create-samples: 24 | ${srcdir}/test.sh create_samples 25 | 26 | -------------------------------------------------------------------------------- /test/as11/as11_core_framework.txt: -------------------------------------------------------------------------------- 1 | SeriesTitle: Holby City Series 5 2 | ProgrammeTitle: Holby City Series 5, Episode 10: Depths of Devotion 3 | EpisodeTitleNumber: Depths of Devotion 4 | ShimName: UK DPP HD 5 | ShimVersion: 1.1 6 | AudioTrackLayout: 3 7 | PrimaryAudioLanguage: eng 8 | ClosedCaptionsPresent: false 9 | 10 | -------------------------------------------------------------------------------- /test/as11/as11_segmentation_framework.txt: -------------------------------------------------------------------------------- 1 | 1/2 09:58:00:12 00:00:00:05 2 | 2/2 09:58:00:19 00:00:00:03 3 | 4 | -------------------------------------------------------------------------------- /test/as11/avci100_1080i.md5: -------------------------------------------------------------------------------- 1 | b4659805d7ea0f4f96eafb147c9b057c - 2 | -------------------------------------------------------------------------------- /test/as11/d10_50.md5: -------------------------------------------------------------------------------- 1 | 18981b7169d6d44bc9c9fd8af778712d - 2 | -------------------------------------------------------------------------------- /test/as11/mpeg2lg_422p_hl_1080i.md5: -------------------------------------------------------------------------------- 1 | 017042cbb4489ba220cde1a1ab81c953 - 2 | -------------------------------------------------------------------------------- /test/as11/ukdpp_framework.txt: -------------------------------------------------------------------------------- 1 | ProductionNumber: LDXA123B/71 2 | Synopsis: Doctors, nurses, patients etc. 3 | Originator: Maverick Productions 4 | CopyrightYear: 2011 5 | Distributor: Rick Distributors 6 | PictureRatio: 16/9 7 | ThreeD: false 8 | ProductPlacement: true 9 | PSEPass: 1 10 | PSEManufacturer: Harding 11 | PSEVersion: 1.0 alpha 12 | SecondaryAudioLanguage: zxx 13 | TertiaryAudioLanguage: zxx 14 | AudioLoudnessStandard: 0 15 | LineUpStart: 09:58:00:00 16 | IdentClockStart: 09:58:00:10 17 | AudioDescriptionPresent: false 18 | OpenCaptionsPresent: false 19 | SigningPresent: 1 20 | CompletionDate: 2011-08-01 21 | ContactEmail: eric@maverick.co.uk 22 | ContactTelephoneNumber: 02074079302 23 | 24 | -------------------------------------------------------------------------------- /test/avid_mxf/avc_high_422_intra.md5s: -------------------------------------------------------------------------------- 1 | 5a170785a00aecc09c7e7fd321591ad7 - 2 | e59557bcf4406a3f6b0b573a0365c4e4 - 3 | bcef29203a680c4d4a47757c91901615 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avc_high_422_intra.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 8 avc_high_422_intra 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_1080i.md5s: -------------------------------------------------------------------------------- 1 | 90dd4ec3802049cf9906a6581ec2ba83 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 7 avci100_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_1080i_gf.md5s: -------------------------------------------------------------------------------- 1 | e2c021fb135d51b8530c8f669fff006c - 2 | 8d41d181f62636be2059ff6e8aee01ce - 3 | 796084c787c637640ff97a808850ee70 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_1080i_gf.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 7 avci100_1080i gf 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_1080i_gfp.md5s: -------------------------------------------------------------------------------- 1 | f98db608d6dc6543dad5d4b7a513394f - 2 | b9c06834edca344806a5367181638129 - 3 | 091c88d6ecee6204cbf6c6c30078c307 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_1080i_gfp.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 7 avci100_1080i gfp 2 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_1080p.md5s: -------------------------------------------------------------------------------- 1 | 728165a2d87ad4f4c9550d9150a52c9b - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 8 avci100_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_720p25.md5s: -------------------------------------------------------------------------------- 1 | 7629b4f9e91e7cdc4a4afe0cae5047ee - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 29 avci100_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_720p50.md5s: -------------------------------------------------------------------------------- 1 | 5a27ae932d033df05430e6533c3abc33 - 2 | 5a7147263d5189e04175644f409a481f - 3 | 22d8ff361b53e8505878bcc3c5012629 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci100_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 29 avci100_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci50_1080i.md5s: -------------------------------------------------------------------------------- 1 | b9104fb1e934194fb5c7f5a6ad83ca6d - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci50_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 9 avci50_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci50_1080p.md5s: -------------------------------------------------------------------------------- 1 | d4f8f35415b1fe954c889dbb6793c27c - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci50_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 10 avci50_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci50_720p25.md5s: -------------------------------------------------------------------------------- 1 | 5d9f28f4353414956e7f65a458b06df0 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci50_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 30 avci50_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avci50_720p50.md5s: -------------------------------------------------------------------------------- 1 | 9ea37fd15758eefad5f1983829277e71 - 2 | 5a7147263d5189e04175644f409a481f - 3 | 22d8ff361b53e8505878bcc3c5012629 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avci50_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 30 avci50_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/avid_alpha_1080i25.md5s: -------------------------------------------------------------------------------- 1 | c42cf33a0c5bfeebc0514240aa4b9be6 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/avid_alpha_1080i25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 41 avid_alpha_1080i 25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/avidtest_temp$$ 5 | 6 | DURATION=$1 7 | CREATE_TYPE=$2 8 | INPUT_TYPE=$3 9 | shift 3 10 | EXTRA_OPTS= 11 | MD5S_NAME=$INPUT_TYPE 12 | if [ "$1" = "gf" ]; then 13 | EXTRA_OPTS="$EXTRA_OPTS --avid-gf " 14 | MD5S_NAME=$MD5S_NAME"_gf" 15 | shift 16 | elif [ "$1" = "gfp" ]; then 17 | EXTRA_OPTS="$EXTRA_OPTS --regtest-end $2 " 18 | MD5S_NAME=$MD5S_NAME"_gfp" 19 | shift 2 20 | elif [ "$1" != "" ]; then 21 | EXTRA_OPTS="$EXTRA_OPTS -f $1 " 22 | MD5S_NAME=$MD5S_NAME$1 23 | shift 24 | fi 25 | if [ "$INPUT_TYPE" = "unc" ]; then 26 | EXTRA_OPTS="$EXTRA_OPTS --height 576 " 27 | fi 28 | 29 | mkdir -p ${TEMP_DIR} 30 | 31 | 32 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t avid -o ${TEMP_DIR}/avidmxftest -y 10:11:12:13 --clip test --tape testtape $EXTRA_OPTS" 33 | 34 | 35 | # create essence data 36 | ../create_test_essence -t 1 -d $DURATION ${TEMP_DIR}/pcm.raw 37 | ../create_test_essence -t $CREATE_TYPE -d $DURATION ${TEMP_DIR}/test_in.raw 38 | 39 | # write 40 | $BASE_COMMAND -a 16:9 --$INPUT_TYPE ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 41 | 42 | # calculate md5sum and compare with expected value 43 | $MD5TOOL < ${TEMP_DIR}/avidmxftest_v1.mxf > ${TEMP_DIR}/test.md5s 44 | $MD5TOOL < ${TEMP_DIR}/avidmxftest_a1.mxf >> ${TEMP_DIR}/test.md5s 45 | $MD5TOOL < ${TEMP_DIR}/avidmxftest_a2.mxf >> ${TEMP_DIR}/test.md5s 46 | if diff ${TEMP_DIR}/test.md5s ${srcdir}/$MD5S_NAME.md5s 47 | then 48 | RESULT=0 49 | else 50 | echo "*** ERROR: $MD5S_NAME regression" 51 | RESULT=1 52 | fi 53 | 54 | # clean-up 55 | rm -Rf ${TEMP_DIR} 56 | 57 | 58 | exit $RESULT 59 | -------------------------------------------------------------------------------- /test/avid_mxf/create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/avidtest_temp$$ 5 | 6 | SRC_DIR=$1 7 | DURATION=$2 8 | CREATE_TYPE=$3 9 | INPUT_TYPE=$4 10 | shift 4 11 | EXTRA_OPTS= 12 | MD5S_NAME=$INPUT_TYPE 13 | if [ "$1" = "gf" ]; then 14 | EXTRA_OPTS="$EXTRA_OPTS --avid-gf " 15 | MD5S_NAME=$MD5S_NAME"_gf" 16 | shift 17 | elif [ "$1" = "gfp" ]; then 18 | EXTRA_OPTS="$EXTRA_OPTS --regtest-end $2 " 19 | MD5S_NAME=$MD5S_NAME"_gfp" 20 | shift 2 21 | elif [ "$1" != "" ]; then 22 | EXTRA_OPTS="$EXTRA_OPTS -f $1 " 23 | MD5S_NAME=$MD5S_NAME$1 24 | shift 25 | fi 26 | if [ "$INPUT_TYPE" = "unc" ]; then 27 | EXTRA_OPTS="$EXTRA_OPTS --height 576 " 28 | fi 29 | 30 | mkdir -p ${TEMP_DIR} 31 | 32 | 33 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t avid -o ${TEMP_DIR}/avidmxftest -y 10:11:12:13 --clip test --tape testtape $EXTRA_OPTS" 34 | 35 | 36 | # create essence data 37 | ../create_test_essence -t 1 -d $DURATION ${TEMP_DIR}/pcm.raw 38 | ../create_test_essence -t $CREATE_TYPE -d $DURATION ${TEMP_DIR}/test_in.raw 39 | 40 | # write and calculate md5sum 41 | if $BASE_COMMAND -a 16:9 --$INPUT_TYPE ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 42 | then 43 | $MD5TOOL < ${TEMP_DIR}/avidmxftest_v1.mxf > $SRC_DIR/$MD5S_NAME.md5s 44 | $MD5TOOL < ${TEMP_DIR}/avidmxftest_a1.mxf >> $SRC_DIR/$MD5S_NAME.md5s 45 | $MD5TOOL < ${TEMP_DIR}/avidmxftest_a2.mxf >> $SRC_DIR/$MD5S_NAME.md5s 46 | RESULT=0 47 | else 48 | RESULT=1 49 | fi 50 | 51 | # clean-up 52 | rm -Rf ${TEMP_DIR} 53 | 54 | 55 | exit $RESULT 56 | 57 | -------------------------------------------------------------------------------- /test/avid_mxf/d10_30.md5s: -------------------------------------------------------------------------------- 1 | 6288fa4e85299a7539c8667243aa0f46 - 2 | 8cd5ddceb3e3cc3e38128c11d95d9521 - 3 | eb9a969918e345f3a813f66029791d60 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/d10_30.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 13 d10_30 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/d10_40.md5s: -------------------------------------------------------------------------------- 1 | 0db2321d67fe4a6b2719dcb2e84bcf1f - 2 | 8cd5ddceb3e3cc3e38128c11d95d9521 - 3 | eb9a969918e345f3a813f66029791d60 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/d10_40.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 12 d10_40 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/d10_50.md5s: -------------------------------------------------------------------------------- 1 | 4f3bde3a104a7af0487c7bbe09ad0dba - 2 | 8cd5ddceb3e3cc3e38128c11d95d9521 - 3 | eb9a969918e345f3a813f66029791d60 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/d10_50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 11 d10_50 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/dv100_1080i.md5s: -------------------------------------------------------------------------------- 1 | 2c9f56636fe6f436e72655c543dc2204 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/dv100_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 5 dv100_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/dv100_720p25.md5s: -------------------------------------------------------------------------------- 1 | d5be10c64801bd7981b89e3bb2228a27 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/dv100_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 6 dv100_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/dv50.md5s: -------------------------------------------------------------------------------- 1 | fec5e93fbfc1229692e67f819c094b80 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/dv50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 4 dv50 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/dvbased25.md5s: -------------------------------------------------------------------------------- 1 | 0ae9515da28a81be4eb400eef742b222 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/dvbased25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 3 dvbased25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/iecdv25.md5s: -------------------------------------------------------------------------------- 1 | 97adb7c6b73e1b74f430589daead3aed - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/iecdv25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 2 iecdv25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/mpeg2lg_422p_hl_1080i.md5s: -------------------------------------------------------------------------------- 1 | f189845c35fbe0a69d36b181d85937f9 - 2 | 0ece8877ab256657df705de6a01a8a48 - 3 | f323a74f1505abc8bf201eeef07e0089 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/mpeg2lg_422p_hl_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 14 mpeg2lg_422p_hl_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/mpeg2lg_mp_h14_1080i.md5s: -------------------------------------------------------------------------------- 1 | d7628e1083ec63520e8f415f07f61556 - 2 | 0ece8877ab256657df705de6a01a8a48 - 3 | f323a74f1505abc8bf201eeef07e0089 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/mpeg2lg_mp_h14_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 15 mpeg2lg_mp_h14_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/mpeg2lg_mp_hl_1920_1080i.md5s: -------------------------------------------------------------------------------- 1 | fbd8e5365fbd58c4a4908cd2e78319f7 - 2 | 0ece8877ab256657df705de6a01a8a48 - 3 | f323a74f1505abc8bf201eeef07e0089 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/mpeg2lg_mp_hl_1920_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 16 mpeg2lg_mp_hl_1920_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/samples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | DURATION=$1 4 | CREATE_TYPE=$2 5 | INPUT_TYPE=$3 6 | shift 3 7 | EXTRA_OPTS= 8 | TEMP_DIR=/tmp/avid_temp$$ 9 | OUTPUT=/tmp/avidmxfsample_$INPUT_TYPE 10 | if [ "$1" = "gf" ]; then 11 | EXTRA_OPTS="$EXTRA_OPTS --avid-gf " 12 | OUTPUT=$OUTPUT"_gf" 13 | shift 14 | elif [ "$1" = "gfp" ]; then 15 | EXTRA_OPTS="$EXTRA_OPTS --regtest-end $2 " 16 | OUTPUT=$OUTPUT"_gfp" 17 | shift 2 18 | elif [ "$1" != "" ]; then 19 | EXTRA_OPTS="$EXTRA_OPTS -f $1 " 20 | OUTPUT=$OUTPUT$1 21 | shift 22 | fi 23 | if [ "$INPUT_TYPE" = "unc" ]; then 24 | EXTRA_OPTS="$EXTRA_OPTS --height 576 " 25 | fi 26 | 27 | mkdir -p ${TEMP_DIR} 28 | 29 | 30 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t avid -o $OUTPUT -y 10:11:12:13 --clip test --tape testtape $EXTRA_OPTS" 31 | 32 | 33 | # create essence data 34 | ../create_test_essence -t 1 -d $DURATION ${TEMP_DIR}/pcm.raw 35 | ../create_test_essence -t $CREATE_TYPE -d $DURATION ${TEMP_DIR}/test_in.raw 36 | 37 | # write 38 | $BASE_COMMAND -a 16:9 --$INPUT_TYPE ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw 39 | 40 | # clean-up 41 | rm -Rf ${TEMP_DIR} 42 | 43 | -------------------------------------------------------------------------------- /test/avid_mxf/unc25.md5s: -------------------------------------------------------------------------------- 1 | 49fa360779bc8ae37d578c3b3074fa8d - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/unc25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 17 unc 25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/unc_1080i25.md5s: -------------------------------------------------------------------------------- 1 | befc5fd9c822c8cef1ee7aa7ce65a66b - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/unc_1080i25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 18 unc_1080i 25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/unc_1080p25.md5s: -------------------------------------------------------------------------------- 1 | e75f76b9975b0810d570710cf83486d0 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/unc_1080p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 19 unc_1080p 25 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/unc_720p50.md5s: -------------------------------------------------------------------------------- 1 | 330040f0315079feadd2023902edc794 - 2 | 5a7147263d5189e04175644f409a481f - 3 | 22d8ff361b53e8505878bcc3c5012629 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/unc_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 20 unc_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080i_1241.md5s: -------------------------------------------------------------------------------- 1 | 33ee757beb0036574f643ffb6866918d - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080i_1241.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 34 vc3_1080i_1241 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080i_1242.md5s: -------------------------------------------------------------------------------- 1 | ccb96b316b3ca2bb57196e2fac90c871 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080i_1242.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 35 vc3_1080i_1242 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080i_1243.md5s: -------------------------------------------------------------------------------- 1 | 5515de0763b2be5d8a287b7d46d0e8e0 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080i_1243.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 36 vc3_1080i_1243 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080p_1235.md5s: -------------------------------------------------------------------------------- 1 | 3576e61203ab720e18567af8f5cb15f4 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080p_1235.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 31 vc3_1080p_1235 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080p_1237.md5s: -------------------------------------------------------------------------------- 1 | f907df8a49295f8d3216ce8a84ec74f9 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080p_1237.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 32 vc3_1080p_1237 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080p_1238.md5s: -------------------------------------------------------------------------------- 1 | f3ff90af6b82aec1f50ad5b0f452e380 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080p_1238.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 33 vc3_1080p_1238 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080p_1253.md5s: -------------------------------------------------------------------------------- 1 | 6bc399523192247e8bcd3c86647fcd65 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_1080p_1253.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 40 vc3_1080p_1253 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_720p_1250.md5s: -------------------------------------------------------------------------------- 1 | aa58251abb5a1f864c006dd3c2142aa2 - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_720p_1250.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 37 vc3_720p_1250 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_720p_1251.md5s: -------------------------------------------------------------------------------- 1 | 369cfa57bc776300dd6317135e23337f - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_720p_1251.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 38 vc3_720p_1251 4 | 5 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_720p_1252.md5s: -------------------------------------------------------------------------------- 1 | 3f2176d245cbdfa2f8d13eaf50d1b53f - 2 | 95978679d2c634fa648ef276a436d19e - 3 | 880a6753e6bc03e359165d8bbf8bdc13 - 4 | -------------------------------------------------------------------------------- /test/avid_mxf/vc3_720p_1252.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 39 vc3_720p_1252 4 | 5 | -------------------------------------------------------------------------------- /test/bbcarchive/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | noinst_PROGRAMS = test_write_archive_mxf 4 | test_write_archive_mxf_SOURCES = test_write_archive_mxf.c 5 | test_write_archive_mxf_CFLAGS = $(BMX_CFLAGS) 6 | test_write_archive_mxf_LDADD = $(BMX_LDADDLIBS) -lwritearchivemxf-1.0 7 | 8 | EXTRA_DIST = \ 9 | bbcarchive_1080_25i.md5 \ 10 | bbcarchive_1080_25i.xml \ 11 | test.sh 12 | 13 | 14 | .PHONY: create-data 15 | create-data: 16 | ${srcdir}/test.sh create_data 17 | 18 | 19 | .PHONY: create-samples 20 | create-samples: 21 | ${srcdir}/test.sh create_samples 22 | 23 | -------------------------------------------------------------------------------- /test/bbcarchive/bbcarchive_1080_25i.md5: -------------------------------------------------------------------------------- 1 | a0600695646962c4e668109b19c086c0 - 2 | -------------------------------------------------------------------------------- /test/bbcarchive/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | 5 | md5tool=../file_md5 6 | 7 | appsdir=../../apps 8 | tmpdir=/tmp/bbcarchive_temp$$ 9 | sampledir=/tmp/ 10 | 11 | 12 | create_file() 13 | { 14 | ./test_write_archive_mxf --regtest --num-audio 6 --format 1080i25 --16by9 --crc32 3 $1 15 | 16 | $appsdir/mxf2raw/mxf2raw \ 17 | --regtest \ 18 | --app \ 19 | --app-events dptv \ 20 | $1 \ 21 | > $2 22 | } 23 | 24 | 25 | check() 26 | { 27 | create_file $tmpdir/test.mxf $tmpdir/test.xml && 28 | $md5tool < $tmpdir/test.mxf > $tmpdir/test.md5 && 29 | diff $tmpdir/test.md5 $base/bbcarchive_1080_25i.md5 && 30 | diff $tmpdir/test.xml $base/bbcarchive_1080_25i.xml 31 | } 32 | 33 | create_data() 34 | { 35 | create_file $tmpdir/test.mxf $base/bbcarchive_1080_25i.xml && 36 | $md5tool < $tmpdir/test.mxf > $base/bbcarchive_1080_25i.md5 37 | } 38 | 39 | create_samples() 40 | { 41 | create_file $sampledir/bbcarchive_1080_25i.mxf $sampledir/bbcarchive_1080_25i.xml 42 | } 43 | 44 | 45 | 46 | mkdir -p $tmpdir 47 | 48 | if test "$1" = "create_data" ; then 49 | create_data 50 | elif test "$1" = "create_samples" ; then 51 | create_samples 52 | else 53 | check 54 | fi 55 | res=$? 56 | 57 | rm -Rf $tmpdir 58 | 59 | exit $res 60 | -------------------------------------------------------------------------------- /test/bmxtranswrap/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | 4 | EXTRA_DIST = \ 5 | avci100_1080i_op1a_op1a.md5 \ 6 | d10_50_d10_op1a.md5 \ 7 | d10_50_op1a_d10.md5 \ 8 | test.sh 9 | 10 | 11 | .PHONY: create-data 12 | create-data: 13 | ${srcdir}/test.sh create_data 14 | 15 | 16 | .PHONY: create-samples 17 | create-samples: 18 | ${srcdir}/test.sh create_samples 19 | 20 | -------------------------------------------------------------------------------- /test/bmxtranswrap/avci100_1080i_op1a_op1a.md5: -------------------------------------------------------------------------------- 1 | d690f51ce4a4b8d7b70f9b72a336d9dc - 2 | -------------------------------------------------------------------------------- /test/bmxtranswrap/d10_50_d10_op1a.md5: -------------------------------------------------------------------------------- 1 | 61c7951e51dd70f0ce6f2f0cccb8cf80 - 2 | -------------------------------------------------------------------------------- /test/bmxtranswrap/d10_50_op1a_d10.md5: -------------------------------------------------------------------------------- 1 | 7bb2af07cca70163d9866ff899d8ddf1 - 2 | -------------------------------------------------------------------------------- /test/d10_mxf/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = \ 2 | d10_30_25.test \ 3 | d10_40_25.test \ 4 | d10_50_25.test \ 5 | d10_30_2997.test \ 6 | d10_40_2997.test \ 7 | d10_50_2997.test 8 | 9 | 10 | 11 | EXTRA_DIST = \ 12 | d10_30_25.test \ 13 | d10_40_25.test \ 14 | d10_50_25.test \ 15 | d10_30_2997.test \ 16 | d10_40_2997.test \ 17 | d10_50_2997.test \ 18 | d10_30_25.md5 \ 19 | d10_40_25.md5 \ 20 | d10_50_25.md5 \ 21 | d10_30_2997.md5 \ 22 | d10_40_2997.md5 \ 23 | d10_50_2997.md5 \ 24 | check.sh \ 25 | create.sh \ 26 | samples.sh 27 | 28 | 29 | 30 | .PHONY: create-data 31 | create-data: 32 | ${srcdir}/create.sh ${srcdir} 3 11 d10_50 25 33 | ${srcdir}/create.sh ${srcdir} 3 12 d10_40 25 34 | ${srcdir}/create.sh ${srcdir} 3 13 d10_30 25 35 | ${srcdir}/create.sh ${srcdir} 3 11 d10_50 2997 36 | ${srcdir}/create.sh ${srcdir} 3 12 d10_40 2997 37 | ${srcdir}/create.sh ${srcdir} 3 13 d10_30 2997 38 | 39 | 40 | .PHONY: create-samples 41 | create-samples: 42 | ${srcdir}/samples.sh 3 11 d10_50 25 43 | ${srcdir}/samples.sh 3 12 d10_40 25 44 | ${srcdir}/samples.sh 3 13 d10_30 25 45 | ${srcdir}/samples.sh 3 11 d10_50 2997 46 | ${srcdir}/samples.sh 3 12 d10_40 2997 47 | ${srcdir}/samples.sh 3 13 d10_30 2997 48 | 49 | -------------------------------------------------------------------------------- /test/d10_mxf/check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/d10test_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t d10 -o ${TEMP_DIR}/d10test.mxf -y 10:11:12:13 --clip test -f $4 " 10 | 11 | 12 | # create essence data 13 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 14 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 15 | 16 | # write 17 | $BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 18 | 19 | # calculate md5sum and compare with expected value 20 | $MD5TOOL < ${TEMP_DIR}/d10test.mxf > ${TEMP_DIR}/test.md5 21 | if diff ${TEMP_DIR}/test.md5 ${srcdir}/$3_$4.md5 22 | then 23 | RESULT=0 24 | else 25 | echo "*** ERROR: $3_$4 regression" 26 | RESULT=1 27 | fi 28 | 29 | # clean-up 30 | rm -Rf ${TEMP_DIR} 31 | 32 | 33 | exit $RESULT 34 | -------------------------------------------------------------------------------- /test/d10_mxf/create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/d10test_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t d10 -o ${TEMP_DIR}/d10test.mxf -y 10:11:12:13 --clip test -f $5 " 10 | 11 | 12 | # create essence data 13 | ../create_test_essence -t 1 -d $2 ${TEMP_DIR}/pcm.raw 14 | ../create_test_essence -t $3 -d $2 ${TEMP_DIR}/test_in.raw 15 | 16 | # write and calculate md5sum 17 | if $BASE_COMMAND -a 16:9 --$4 ${TEMP_DIR}/test_in.raw -q 16 --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 18 | then 19 | $MD5TOOL < ${TEMP_DIR}/d10test.mxf > $1/$4_$5.md5 20 | RESULT=0 21 | else 22 | RESULT=1 23 | fi 24 | 25 | # clean-up 26 | rm -Rf ${TEMP_DIR} 27 | 28 | 29 | exit $RESULT 30 | 31 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_30_25.md5: -------------------------------------------------------------------------------- 1 | b22e3c2a2fb41faea91eeba7ca6e96ce - 2 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_30_25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 13 d10_30 25 4 | 5 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_30_2997.md5: -------------------------------------------------------------------------------- 1 | 7ae4aaf9ee7b3a66fe67a32d11ec47a2 - 2 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_30_2997.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 13 d10_30 2997 4 | 5 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_40_25.md5: -------------------------------------------------------------------------------- 1 | 24ba4ff7c0401e1dd60593804492f8d2 - 2 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_40_25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 12 d10_40 25 4 | 5 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_40_2997.md5: -------------------------------------------------------------------------------- 1 | ba8fb66eeef607a118dc2d2d04f4e83d - 2 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_40_2997.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 12 d10_40 2997 4 | 5 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_50_25.md5: -------------------------------------------------------------------------------- 1 | 91224ff0786cf7f0498924fce052a0ef - 2 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_50_25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 11 d10_50 25 4 | 5 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_50_2997.md5: -------------------------------------------------------------------------------- 1 | 91c5fc15de5eee0a4f96fcacb530bbe4 - 2 | -------------------------------------------------------------------------------- /test/d10_mxf/d10_50_2997.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 11 d10_50 2997 4 | 5 | -------------------------------------------------------------------------------- /test/d10_mxf/samples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TEMP_DIR=/tmp/d10_temp$$ 4 | OUTPUT=/tmp/d10mxf_$3_$4.mxf 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t d10 -o $OUTPUT -y 10:11:12:13 --clip test -f $4 " 10 | 11 | 12 | # create essence data 13 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 14 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 15 | 16 | # write 17 | $BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 18 | 19 | # clean-up 20 | rm -Rf ${TEMP_DIR} 21 | 22 | -------------------------------------------------------------------------------- /test/d10_qt_klv/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | EXTRA_DIST = \ 4 | sample.mxf \ 5 | test.sh \ 6 | test_1.md5 \ 7 | test_2.md5 8 | 9 | .PHONY: create-data 10 | create-data: 11 | ${srcdir}/test.sh create_data 12 | 13 | .PHONY: create-samples 14 | create-samples: 15 | ${srcdir}/test.sh create_samples 16 | -------------------------------------------------------------------------------- /test/d10_qt_klv/sample.mxf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Phygon/bmxlib-bmx/b0f71ab37fcfe646a672d58d984cf4d0b34e6cab/test/d10_qt_klv/sample.mxf -------------------------------------------------------------------------------- /test/d10_qt_klv/test_1.md5: -------------------------------------------------------------------------------- 1 | e971bacdc375d6194b6572b5b53cae1a - 2 | -------------------------------------------------------------------------------- /test/d10_qt_klv/test_2.md5: -------------------------------------------------------------------------------- 1 | e971bacdc375d6194b6572b5b53cae1a - 2 | -------------------------------------------------------------------------------- /test/growing_file/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = growing_file.sh 2 | 3 | 4 | EXTRA_DIST = growing_file.sh growing_file.md5 5 | 6 | 7 | .PHONY: create-data 8 | create-data: 9 | ${srcdir}/growing_file.sh create_data 10 | 11 | .PHONY: create-samples 12 | create-samples: 13 | ${srcdir}/growing_file.sh create_samples sample.txt 14 | 15 | -------------------------------------------------------------------------------- /test/growing_file/growing_file.md5: -------------------------------------------------------------------------------- 1 | cd9249cba224bd629d154e0d5c4f8b7d - 2 | -------------------------------------------------------------------------------- /test/jpeg2000/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | EXTRA_DIST = \ 4 | test.sh \ 5 | image_rgb_0001.j2c \ 6 | image_rgb_0003.j2c \ 7 | image_yuv_0001.j2c \ 8 | image_yuv_0003.j2c \ 9 | info_1.xml \ 10 | info_2.xml \ 11 | info_3.xml \ 12 | info_4.xml \ 13 | test_1.md5 \ 14 | test_2.md5 \ 15 | test_3.md5 \ 16 | test_4.md5 17 | 18 | .PHONY: create-data 19 | create-data: 20 | ${srcdir}/test.sh create_data 21 | 22 | .PHONY: create-samples 23 | create-samples: 24 | ${srcdir}/test.sh create_samples 25 | -------------------------------------------------------------------------------- /test/jpeg2000/image_rgb_0001.j2c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Phygon/bmxlib-bmx/b0f71ab37fcfe646a672d58d984cf4d0b34e6cab/test/jpeg2000/image_rgb_0001.j2c -------------------------------------------------------------------------------- /test/jpeg2000/image_rgb_0003.j2c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Phygon/bmxlib-bmx/b0f71ab37fcfe646a672d58d984cf4d0b34e6cab/test/jpeg2000/image_rgb_0003.j2c -------------------------------------------------------------------------------- /test/jpeg2000/image_yuv_0001.j2c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Phygon/bmxlib-bmx/b0f71ab37fcfe646a672d58d984cf4d0b34e6cab/test/jpeg2000/image_yuv_0001.j2c -------------------------------------------------------------------------------- /test/jpeg2000/image_yuv_0003.j2c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Phygon/bmxlib-bmx/b0f71ab37fcfe646a672d58d984cf4d0b34e6cab/test/jpeg2000/image_yuv_0003.j2c -------------------------------------------------------------------------------- /test/jpeg2000/test_1.md5: -------------------------------------------------------------------------------- 1 | 81cbe6ce0e161a004ed8079ce9ae0560 - 2 | -------------------------------------------------------------------------------- /test/jpeg2000/test_2.md5: -------------------------------------------------------------------------------- 1 | 9f62e5c6755e63fc394aae98e1580d28 - 2 | -------------------------------------------------------------------------------- /test/jpeg2000/test_3.md5: -------------------------------------------------------------------------------- 1 | 678f6a80c17d61c99028d8c89f874927 - 2 | -------------------------------------------------------------------------------- /test/jpeg2000/test_4.md5: -------------------------------------------------------------------------------- 1 | a573de8c8434ff515a1d374cc391a394 - 2 | -------------------------------------------------------------------------------- /test/mca/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test_mca.sh test_labels.sh 2 | 3 | 4 | EXTRA_DIST = \ 5 | mca_mono.md5 \ 6 | mca_stereo.md5 \ 7 | mca_singlemca.md5 \ 8 | mca_monorem.md5 \ 9 | mca_stereoprem.md5 \ 10 | mca_stereops2p4.md5 \ 11 | mca_stereopstereopmonorem.md5 \ 12 | mca_reorder_mono.md5 \ 13 | mca_reorder_stereo.md5 \ 14 | mca_mono_silence.md5 \ 15 | mca_stereo_silence.md5 \ 16 | mcalabels_stereo.md5 \ 17 | mcalabels_stereop51.md5 \ 18 | mcalabels_mess.md5 \ 19 | mcalabels_mono.md5 \ 20 | mcalabels_mononochan.md5 \ 21 | mca_mono.xml \ 22 | mca_stereo.xml \ 23 | mca_singlemca.xml \ 24 | mca_monorem.xml \ 25 | mca_stereoprem.xml \ 26 | mca_stereops2p4.xml \ 27 | mca_stereopstereopmonorem.xml \ 28 | mca_reorder_mono.xml \ 29 | mca_reorder_stereo.xml \ 30 | mca_mono_silence.xml \ 31 | mca_stereo_silence.xml \ 32 | mcalabels_stereo.xml \ 33 | mcalabels_stereop51.xml \ 34 | mcalabels_mess.xml \ 35 | mcalabels_mono.xml \ 36 | mcalabels_mononochan.xml \ 37 | stereo.txt \ 38 | stereop51.txt \ 39 | mess.txt \ 40 | mono.txt \ 41 | mononochan.txt \ 42 | test_mca.sh \ 43 | test_labels.sh 44 | 45 | 46 | .PHONY: create-data 47 | create-data: 48 | ${srcdir}/test_mca.sh create_data 49 | ${srcdir}/test_labels.sh create_data 50 | 51 | 52 | .PHONY: create-samples 53 | create-samples: 54 | ${srcdir}/test_mca.sh create_samples 55 | ${srcdir}/test_labels.sh create_samples 56 | 57 | -------------------------------------------------------------------------------- /test/mca/mca_mono.md5: -------------------------------------------------------------------------------- 1 | e5f479dfea5a4767108b5a4cc0de4d28 - 2 | -------------------------------------------------------------------------------- /test/mca/mca_mono_silence.md5: -------------------------------------------------------------------------------- 1 | 587e38fabd16f3734a55925ee73d85fa - 2 | -------------------------------------------------------------------------------- /test/mca/mca_monorem.md5: -------------------------------------------------------------------------------- 1 | e5f479dfea5a4767108b5a4cc0de4d28 - 2 | -------------------------------------------------------------------------------- /test/mca/mca_reorder_mono.md5: -------------------------------------------------------------------------------- 1 | f77f063c6ed079e49ad5102dfa8cd468 - 2 | -------------------------------------------------------------------------------- /test/mca/mca_reorder_stereo.md5: -------------------------------------------------------------------------------- 1 | aeae5e37d32e6dfbde14d4f9676dbf2b - 2 | -------------------------------------------------------------------------------- /test/mca/mca_singlemca.md5: -------------------------------------------------------------------------------- 1 | b5dbcf686808500a0ec69a4716fcf5b4 - 2 | -------------------------------------------------------------------------------- /test/mca/mca_stereo.md5: -------------------------------------------------------------------------------- 1 | 92cf40da7c1aa964bed864715608d8f6 - 2 | -------------------------------------------------------------------------------- /test/mca/mca_stereo_silence.md5: -------------------------------------------------------------------------------- 1 | 3142980ae59c1b4fcda741caa88999d5 - 2 | -------------------------------------------------------------------------------- /test/mca/mca_stereoprem.md5: -------------------------------------------------------------------------------- 1 | b3bfa46defef19bf6b58d7746b19960d - 2 | -------------------------------------------------------------------------------- /test/mca/mca_stereops2p4.md5: -------------------------------------------------------------------------------- 1 | 4ec65e333542a1d19a967324b030ff57 - 2 | -------------------------------------------------------------------------------- /test/mca/mca_stereopstereopmonorem.md5: -------------------------------------------------------------------------------- 1 | 724e9d7098e1c2d6757207b8d3d99264 - 2 | -------------------------------------------------------------------------------- /test/mca/mcalabels_mess.md5: -------------------------------------------------------------------------------- 1 | 6ed5c963300a392937ab0cd33901935f - 2 | -------------------------------------------------------------------------------- /test/mca/mcalabels_mono.md5: -------------------------------------------------------------------------------- 1 | 6b2073a5fab2ab351e367eb6803078cb - 2 | -------------------------------------------------------------------------------- /test/mca/mcalabels_mononochan.md5: -------------------------------------------------------------------------------- 1 | 9989fef90ee9da647b1b73e1a29c56ae - 2 | -------------------------------------------------------------------------------- /test/mca/mcalabels_stereo.md5: -------------------------------------------------------------------------------- 1 | 85b620a20c3f2566a10e588386ba36ca - 2 | -------------------------------------------------------------------------------- /test/mca/mcalabels_stereop51.md5: -------------------------------------------------------------------------------- 1 | 3cbb537a290edf13fd7f647a5cf199d7 - 2 | -------------------------------------------------------------------------------- /test/mca/mess.txt: -------------------------------------------------------------------------------- 1 | # a comment 2 | 0 3 | chL, chan=0 # comment after a line 4 | chR, chan=1 5 | # comment between lines but not interpreted as a new group 6 | sgST, id=g1, lang=en 7 | ggAPg, id=1 8 | # comment 9 | 10 | 1 11 | chL, chan=0, lang=fr 12 | chR, chan=1 13 | sgST 14 | ggMPg, id=2, lang=de 15 | chL, chan=2 16 | chR, chan=3 17 | sgST, lang=en 18 | ggMPg, id=2 19 | chL, chan=0 20 | chR, chan=4 21 | sgST, id=g1, lang=en 22 | ggAPg, id=1 23 | chL, chan=3 24 | chR, chan=4 25 | sgST, id=g2, lang=en 26 | chL, chan=0 27 | chR, chan=1 28 | 29 | -------------------------------------------------------------------------------- /test/mca/mono.txt: -------------------------------------------------------------------------------- 1 | 0 2 | chL, chan=0 3 | sgST, id=sg1, lang=en 4 | ggMPg, id=gosg1 5 | 6 | 1 7 | chR, chan=0 8 | sgST, id=sg1, repeat=false 9 | ggMPg, id=gosg1, repeat=false 10 | 11 | 2 12 | chL, chan=0 13 | sgST, id=sg2, lang=de 14 | ggAPg, id=gosg2 15 | 16 | 3 17 | chR, chan=0 18 | sgST, id=sg2, repeat=false 19 | ggAPg, id=gosg2, repeat=false 20 | 21 | 4 22 | chL, chan=0 23 | sgST, id=sg3, lang=fr 24 | ggAPg, id=gosg2, repeat=false 25 | 26 | 5 27 | chR, chan=0 28 | sgST, id=sg3, repeat=false 29 | ggAPg, id=gosg2, repeat=false 30 | 31 | 6 32 | chL, chan=0 33 | sgST, id=sg4, lang=es 34 | ggAPg, id=gosg2, repeat=false 35 | 36 | 37 | 7 38 | chR, chan=0 39 | sgST, id=sg4, repeat=false 40 | ggAPg, id=gosg2, repeat=false 41 | 42 | 43 | -------------------------------------------------------------------------------- /test/mca/mononochan.txt: -------------------------------------------------------------------------------- 1 | 0 2 | chL 3 | sgST, id=sg1, lang=en 4 | ggMPg, id=gosg1 5 | 6 | 1 7 | chR 8 | sgST, id=sg1, repeat=false 9 | ggMPg, id=gosg1, repeat=false 10 | 11 | 2 12 | chL 13 | sgST, id=sg2, lang=de 14 | ggAPg, id=gosg2 15 | 16 | 3 17 | chR 18 | sgST, id=sg2, repeat=false 19 | ggAPg, id=gosg2, repeat=false 20 | 21 | 4 22 | chL 23 | sgST, id=sg3, lang=fr 24 | ggAPg, id=gosg2, repeat=false 25 | 26 | 5 27 | chR 28 | sgST, id=sg3, repeat=false 29 | ggAPg, id=gosg2, repeat=false 30 | 31 | 6 32 | chL 33 | sgST, id=sg4, lang=es 34 | ggAPg, id=gosg2, repeat=false 35 | 36 | 37 | 7 38 | chR 39 | sgST, id=sg4, repeat=false 40 | ggAPg, id=gosg2, repeat=false 41 | 42 | 43 | -------------------------------------------------------------------------------- /test/mca/stereo.txt: -------------------------------------------------------------------------------- 1 | 0 2 | chL, chan=0 3 | chR, chan=1 4 | sgST, lang=en 5 | ggAPg, id=1 6 | 7 | 1 8 | chL, chan=0 9 | chR, chan=1 10 | sgST, lang=de 11 | ggAPg, id=1 12 | 13 | 2 14 | chL, chan=0 15 | chR, chan=1 16 | sgST, lang=fr 17 | ggAPg, id=1 18 | 19 | 3 20 | chL, chan=0 21 | chR, chan=1 22 | sgST, lang=es 23 | ggAPg, id=1 24 | -------------------------------------------------------------------------------- /test/mca/stereop51.txt: -------------------------------------------------------------------------------- 1 | 0 2 | chL, chan=0 3 | chR, chan=1 4 | sgST 5 | ggAPg, lang=en 6 | 7 | 1 8 | chL, chan=0 9 | chC, chan=1 10 | chR, chan=2 11 | chLs, chan=3 12 | chRs, chan=4 13 | chLFE, chan=5 14 | sg51 15 | ggMPg, lang=en 16 | -------------------------------------------------------------------------------- /test/misc/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test_desc_props.sh 2 | 3 | 4 | EXTRA_DIST = \ 5 | desc_props_raw2bmx.md5 \ 6 | desc_props_bmxtranswrap.md5 \ 7 | test_desc_props.sh 8 | 9 | 10 | .PHONY: create-data 11 | create-data: 12 | ${srcdir}/test_desc_props.sh create_data 13 | 14 | 15 | .PHONY: create-samples 16 | create-samples: 17 | ${srcdir}/test_desc_props.sh create_sample 18 | 19 | -------------------------------------------------------------------------------- /test/misc/desc_props_bmxtranswrap.md5: -------------------------------------------------------------------------------- 1 | a6d1fe0c373b9d391811ee7f69e94d6a - 2 | -------------------------------------------------------------------------------- /test/misc/desc_props_raw2bmx.md5: -------------------------------------------------------------------------------- 1 | 5a88a4c15a02c13b7a5c982a5ede5676 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/anc.md5: -------------------------------------------------------------------------------- 1 | 21a08b4d8ae9e1829cd04b8d892f136f - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/anc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | 5 | md5tool=../file_md5 6 | 7 | appsdir=../../apps 8 | testdir=.. 9 | tmpdir=/tmp/anc_temp$$ 10 | 11 | testpcm="$tmpdir/test_pcm.raw" 12 | testavci="$tmpdir/test_avci.raw" 13 | testanc="$tmpdir/test_anc.raw" 14 | testmxf="$tmpdir/test.mxf" 15 | testmd5="$tmpdir/test.md5" 16 | 17 | sample="/tmp/op1a_anc.mxf" 18 | 19 | md5file="$base/anc.md5" 20 | 21 | 22 | create_test_file() 23 | { 24 | $testdir/create_test_essence -t 1 -d 3 $testpcm 25 | $testdir/create_test_essence -t 7 -d 3 $testavci 26 | $testdir/create_test_essence -t 43 -d 3 $testanc 27 | $appsdir/raw2bmx/raw2bmx --regtest -t op1a -o $testmxf --anc-const 24 --anc $testanc --avci100_1080i $testavci -q 16 --pcm $testpcm >/dev/null 28 | } 29 | 30 | calc_md5() 31 | { 32 | $md5tool < $1 > $2 33 | } 34 | 35 | run_test() 36 | { 37 | calc_md5 $testmxf $1 38 | } 39 | 40 | 41 | check() 42 | { 43 | run_test $testmd5 && diff $testmd5 $md5file >/dev/null 44 | } 45 | 46 | create_data() 47 | { 48 | run_test $testmd5 && cp $testmd5 $md5file 49 | } 50 | 51 | create_samples() 52 | { 53 | mv $testmxf $sample 54 | } 55 | 56 | 57 | mkdir -p $tmpdir 58 | 59 | create_test_file 60 | 61 | if test -z "$1" ; then 62 | check 63 | elif test "$1" = "create_data" ; then 64 | create_data 65 | elif test "$1" = "create_samples" ; then 66 | create_samples 67 | fi 68 | res=$? 69 | 70 | rm -Rf $tmpdir 71 | 72 | exit $res 73 | 74 | -------------------------------------------------------------------------------- /test/mxf_op1a/avc_high_422_intra.md5: -------------------------------------------------------------------------------- 1 | f6ce31dbbf6495909f6b4f0dcee5447c - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avc_high_422_intra.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 8 avc_high_422_intra 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_1080i.md5: -------------------------------------------------------------------------------- 1 | 5be5c4d8fc1f00a4010178d0032b7a39 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 7 avci100_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_1080p25.md5: -------------------------------------------------------------------------------- 1 | 71872fcd48496f86c8a48f0f4f16eed2 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_1080p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 8 avci100_1080p 25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_1080p50.md5: -------------------------------------------------------------------------------- 1 | 14ed6a71079316b21e83ec9753a0d4a0 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_1080p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 8 avci100_1080p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_720p25.md5: -------------------------------------------------------------------------------- 1 | 6e96593603c846cc6e0e54f401b844b2 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 29 avci100_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_720p50.md5: -------------------------------------------------------------------------------- 1 | 71b5f103593a5b4ca7bae6a1eb01aaa0 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci100_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 29 avci100_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci200_1080i.md5: -------------------------------------------------------------------------------- 1 | 40843d872d503f4aac15cf07d9ea2dec - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci200_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 46 avci200_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci200_1080p50.md5: -------------------------------------------------------------------------------- 1 | f30d602f43454227f6e4b0d0cfd62f23 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci200_1080p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 47 avci200_1080p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci200_720p50.md5: -------------------------------------------------------------------------------- 1 | 64a7b462db593eab9e69b761c3e59870 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci200_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 48 avci200_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_1080i.md5: -------------------------------------------------------------------------------- 1 | 9bb6c9b43271ae1974e9ff99f433897f - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 9 avci50_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_1080p25.md5: -------------------------------------------------------------------------------- 1 | 66c7d16eded03f843ebbac2f5e1d8b59 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_1080p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 10 avci50_1080p 25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_1080p50.md5: -------------------------------------------------------------------------------- 1 | 56835774d8f5774022e1b6a933fc65f5 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_1080p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 10 avci50_1080p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_720p25.md5: -------------------------------------------------------------------------------- 1 | 22bfd93cd1100151957f90c7e64265b1 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 30 avci50_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_720p50.md5: -------------------------------------------------------------------------------- 1 | d68a201b2d27c80ce08fcdff3f750da2 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/avci50_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 30 avci50_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/op1atest_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t op1a -o ${TEMP_DIR}/op1atest.mxf -y 10:11:12:13 --clip test " 10 | if [ "$4" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $4 " 12 | fi 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 17 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 18 | 19 | # write 20 | $BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 21 | 22 | # calculate md5sum and compare with expected value 23 | $MD5TOOL < ${TEMP_DIR}/op1atest.mxf > ${TEMP_DIR}/test.md5 24 | if diff ${TEMP_DIR}/test.md5 ${srcdir}/$3$4.md5 25 | then 26 | RESULT=0 27 | else 28 | echo "*** ERROR: $3$4 regression" 29 | RESULT=1 30 | fi 31 | 32 | # clean-up 33 | rm -Rf ${TEMP_DIR} 34 | 35 | 36 | exit $RESULT 37 | -------------------------------------------------------------------------------- /test/mxf_op1a/create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/op1atest_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t op1a -o ${TEMP_DIR}/op1atest.mxf -y 10:11:12:13 --clip test " 10 | if [ "$5" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $5 " 12 | fi 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $2 ${TEMP_DIR}/pcm.raw 17 | ../create_test_essence -t $3 -d $2 ${TEMP_DIR}/test_in.raw 18 | 19 | # write and calculate md5sum 20 | if $BASE_COMMAND -a 16:9 --$4 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 21 | then 22 | $MD5TOOL < ${TEMP_DIR}/op1atest.mxf > $1/$4$5.md5 23 | RESULT=0 24 | else 25 | RESULT=1 26 | fi 27 | 28 | # clean-up 29 | rm -Rf ${TEMP_DIR} 30 | 31 | 32 | exit $RESULT 33 | 34 | -------------------------------------------------------------------------------- /test/mxf_op1a/d10_30.md5: -------------------------------------------------------------------------------- 1 | 12bf432f98f3333fca5adfe6c6f4c89a - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/d10_30.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 13 d10_30 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/d10_40.md5: -------------------------------------------------------------------------------- 1 | 0e60c75ff120dc7fd1761fbc6c8d631c - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/d10_40.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 12 d10_40 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/d10_50.md5: -------------------------------------------------------------------------------- 1 | 81a964df0df8691d7118b680a96bbe7c - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/d10_50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 11 d10_50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/dv100_1080i.md5: -------------------------------------------------------------------------------- 1 | e89f3eae083d26d6baf4ece57d9619a2 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/dv100_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 5 dv100_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/dv100_720p25.md5: -------------------------------------------------------------------------------- 1 | ecc8cff2fd25db1b03be681b1eeb2d21 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/dv100_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 6 dv100_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/dv100_720p50.md5: -------------------------------------------------------------------------------- 1 | 88136a6e22a874c571dcf2cfc1e91ed6 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/dv100_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 6 dv100_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/dv50.md5: -------------------------------------------------------------------------------- 1 | 621176361c0e8aede3a10d0d2e6ee7c9 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/dv50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 4 dv50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/dvbased25.md5: -------------------------------------------------------------------------------- 1 | d08fa5c901e64442e0281ec9021676a1 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/dvbased25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 3 dvbased25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/iecdv25.md5: -------------------------------------------------------------------------------- 1 | 97954db2af021389ffbb0677fa0ec87f - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/iecdv25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 2 iecdv25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/mpeg2lg_422p_hl_1080i.md5: -------------------------------------------------------------------------------- 1 | 242079b93fc53e19ab6f8b2fefa72102 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/mpeg2lg_422p_hl_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 14 mpeg2lg_422p_hl_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/mpeg2lg_mp_h14_1080i.md5: -------------------------------------------------------------------------------- 1 | 4a9d157df49c939f9b613e690ca2c0e3 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/mpeg2lg_mp_h14_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 15 mpeg2lg_mp_h14_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/mpeg2lg_mp_hl_1920_1080i.md5: -------------------------------------------------------------------------------- 1 | 6cc368915218331dc2c3a05985a47cad - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/mpeg2lg_mp_hl_1920_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 16 mpeg2lg_mp_hl_1920_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/rdd36_422.md5: -------------------------------------------------------------------------------- 1 | 5854c321a6a06bfa2fcb0fcaff04fbb7 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/rdd36_422.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 55 rdd36_422 4 | -------------------------------------------------------------------------------- /test/mxf_op1a/rdd36_4444.md5: -------------------------------------------------------------------------------- 1 | 54b59c8ecb7aa44a4eac117d2242d443 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/rdd36_4444.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 56 rdd36_4444 4 | -------------------------------------------------------------------------------- /test/mxf_op1a/samples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TEMP_DIR=/tmp/op1a_temp$$ 4 | OUTPUT=/tmp/op1a_$3$4.mxf 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t op1a -o $OUTPUT -y 10:11:12:13 --clip test " 10 | if [ "$4" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $4 " 12 | fi 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 17 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 18 | 19 | # write 20 | $BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 21 | 22 | # clean-up 23 | rm -Rf ${TEMP_DIR} 24 | 25 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc.md5: -------------------------------------------------------------------------------- 1 | 538dd9f8de248a48e51d51f8f6f4cf48 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 17 unc 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc_1080i.md5: -------------------------------------------------------------------------------- 1 | 30d4004eb1140e93a2d45536af2307d0 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 18 unc_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc_1080p.md5: -------------------------------------------------------------------------------- 1 | 0fb7107d0f7f686e34364bd3b060e64f - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 19 unc_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc_3840.md5: -------------------------------------------------------------------------------- 1 | cec709bccbef76c750254298311d4097 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc_3840.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 45 unc_3840 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc_720p.md5: -------------------------------------------------------------------------------- 1 | af9e7c9074c9c56dcf36ef18278e79e2 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/unc_720p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 20 unc_720p 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vbi.md5: -------------------------------------------------------------------------------- 1 | 2dbafec8e6c062fd3747ca4fcff24ab5 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vbi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | 5 | md5tool=../file_md5 6 | 7 | appsdir=../../apps 8 | testdir=.. 9 | tmpdir=/tmp/vbi_temp$$ 10 | 11 | testpcm="$tmpdir/test_pcm.raw" 12 | testavci="$tmpdir/test_avci.raw" 13 | testvbi="$tmpdir/test_vbi.raw" 14 | testmxf="$tmpdir/test.mxf" 15 | testmd5="$tmpdir/test.md5" 16 | 17 | sample="/tmp/op1a_vbi.mxf" 18 | 19 | md5file="$base/vbi.md5" 20 | 21 | 22 | create_test_file() 23 | { 24 | $testdir/create_test_essence -t 1 -d 3 $testpcm 25 | $testdir/create_test_essence -t 7 -d 3 $testavci 26 | $testdir/create_test_essence -t 44 -d 3 $testvbi 27 | $appsdir/raw2bmx/raw2bmx --regtest -t op1a -o $testmxf --vbi-const 24 --vbi $testvbi --avci100_1080i $testavci -q 16 --pcm $testpcm >/dev/null 28 | } 29 | 30 | calc_md5() 31 | { 32 | $md5tool < $1 > $2 33 | } 34 | 35 | run_test() 36 | { 37 | calc_md5 $testmxf $1 38 | } 39 | 40 | 41 | check() 42 | { 43 | run_test $testmd5 && diff $testmd5 $md5file >/dev/null 44 | } 45 | 46 | create_data() 47 | { 48 | run_test $testmd5 && cp $testmd5 $md5file 49 | } 50 | 51 | create_samples() 52 | { 53 | mv $testmxf $sample 54 | } 55 | 56 | 57 | mkdir -p $tmpdir 58 | 59 | create_test_file 60 | 61 | if test -z "$1" ; then 62 | check 63 | elif test "$1" = "create_data" ; then 64 | create_data 65 | elif test "$1" = "create_samples" ; then 66 | create_samples 67 | fi 68 | res=$? 69 | 70 | rm -Rf $tmpdir 71 | 72 | exit $res 73 | 74 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc2.md5: -------------------------------------------------------------------------------- 1 | 01aaff5794d6c87471b081ef815227f6 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc2.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 54 vc2 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080i_1241.md5: -------------------------------------------------------------------------------- 1 | c0b9a0dd54934b0f30e1f2b22b2cafd4 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080i_1241.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 34 vc3_1080i_1241 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080i_1242.md5: -------------------------------------------------------------------------------- 1 | 27d16312d21e50cf1529388ef559268f - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080i_1242.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 35 vc3_1080i_1242 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080i_1243.md5: -------------------------------------------------------------------------------- 1 | 514df93d5012822ea86e371371f54889 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080i_1243.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 36 vc3_1080i_1243 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080p_1235.md5: -------------------------------------------------------------------------------- 1 | 5aab94d96a66c2f39e54110d15faa9fd - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080p_1235.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 31 vc3_1080p_1235 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080p_1237.md5: -------------------------------------------------------------------------------- 1 | c388c620144437f806bd4534b2cbaf3a - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080p_1237.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 32 vc3_1080p_1237 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080p_1238.md5: -------------------------------------------------------------------------------- 1 | 6778ffbb87cd6a421ae574e1bb2ba40d - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080p_1238.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 33 vc3_1080p_1238 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080p_1253.md5: -------------------------------------------------------------------------------- 1 | fd8e6b8a0d3cc09956bf6870d8971fbb - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_1080p_1253.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 40 vc3_1080p_1253 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_720p_1250.md5: -------------------------------------------------------------------------------- 1 | fd5a52c60c0a441c644c2a26f1ef1e00 - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_720p_1250.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 37 vc3_720p_1250 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_720p_1251.md5: -------------------------------------------------------------------------------- 1 | 74518052eee212a6c3f8739d485de6dc - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_720p_1251.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 38 vc3_720p_1251 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_720p_1252.md5: -------------------------------------------------------------------------------- 1 | c47880731b926ba0183f0c7624fbf74d - 2 | -------------------------------------------------------------------------------- /test/mxf_op1a/vc3_720p_1252.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 39 vc3_720p_1252 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/avci100_1080i.md5: -------------------------------------------------------------------------------- 1 | e721975ed6e8f690fe63650ce673c264 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/avci100_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 7 avci100_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/avci100_1080p.md5: -------------------------------------------------------------------------------- 1 | 8f382cf3b7770f909719d0701c1c4f1a - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/avci100_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 8 avci100_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/avci100_720p25.md5: -------------------------------------------------------------------------------- 1 | db850a00c4fdc0b64b43ab22d70e4efe - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/avci100_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 29 avci100_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/avci100_720p50.md5: -------------------------------------------------------------------------------- 1 | d33f1e1b2078759285d62a303be2994c - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/avci100_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 29 avci100_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/avci50_1080i.md5: -------------------------------------------------------------------------------- 1 | 738bb6fe181d6e4e316bdbe7ee1fabb7 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/avci50_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 9 avci50_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/avci50_1080p.md5: -------------------------------------------------------------------------------- 1 | 202936b5164e200c29d84f6596b65658 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/avci50_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 10 avci50_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/avci50_720p25.md5: -------------------------------------------------------------------------------- 1 | 9b78e7b147f9fb8bce4f3455fd7eb646 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/avci50_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 30 avci50_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/avci50_720p50.md5: -------------------------------------------------------------------------------- 1 | 349413fc792c48fab3c619d5cde28eb7 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/avci50_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 30 avci50_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/readertest_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | AS02_BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t as02 -o ${TEMP_DIR}/as02test -y 10:11:12:13 --clip test " 10 | if [ "$4" != "" ]; then 11 | AS02_BASE_COMMAND="$AS02_BASE_COMMAND -f $4 " 12 | else 13 | AS02_BASE_COMMAND="$AS02_BASE_COMMAND -f 25 " 14 | fi 15 | READ_COMMAND="../../apps/mxf2raw/mxf2raw --regtest --info --info-format xml --track-chksum md5 ${TEMP_DIR}/as02test/as02test.mxf" 16 | 17 | # create essence data 18 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 19 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 20 | 21 | # write 22 | $AS02_BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 23 | 24 | # read 25 | $READ_COMMAND | sed "s:${TEMP_DIR}:/tmp:g" >${TEMP_DIR}/mxfreadertest_stdout 26 | 27 | # calculate md5sum and compare with expected value 28 | $MD5TOOL < ${TEMP_DIR}/mxfreadertest_stdout > ${TEMP_DIR}/test.md5 29 | if diff ${TEMP_DIR}/test.md5 ${srcdir}/$3$4.md5 30 | then 31 | RESULT=0 32 | else 33 | echo "*** ERROR: $3$4 regression" 34 | RESULT=1 35 | fi 36 | 37 | # clean-up 38 | rm -Rf ${TEMP_DIR} 39 | 40 | 41 | exit $RESULT 42 | -------------------------------------------------------------------------------- /test/mxf_reader/create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/readertest_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | AS02_BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t as02 -o ${TEMP_DIR}/as02test -y 10:11:12:13 --clip test " 10 | if [ "$5" != "" ]; then 11 | AS02_BASE_COMMAND="$AS02_BASE_COMMAND -f $5 " 12 | else 13 | AS02_BASE_COMMAND="$AS02_BASE_COMMAND -f 25 " 14 | fi 15 | READ_COMMAND="../../apps/mxf2raw/mxf2raw --regtest --info --info-format xml --track-chksum md5 ${TEMP_DIR}/as02test/as02test.mxf" 16 | 17 | 18 | # create essence data 19 | ../create_test_essence -t 1 -d $2 ${TEMP_DIR}/pcm.raw 20 | ../create_test_essence -t $3 -d $2 ${TEMP_DIR}/test_in.raw 21 | 22 | # write, read and calculate md5sum 23 | if $AS02_BASE_COMMAND -a 16:9 --$4 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 24 | then 25 | if $READ_COMMAND | sed "s:${TEMP_DIR}:/tmp:g" >${TEMP_DIR}/mxfreadertest_stdout 26 | then 27 | $MD5TOOL < ${TEMP_DIR}/mxfreadertest_stdout > $1/$4$5.md5 28 | RESULT=0 29 | else 30 | RESULT=1 31 | fi 32 | else 33 | RESULT=1 34 | fi 35 | 36 | 37 | # clean-up 38 | rm -Rf ${TEMP_DIR} 39 | 40 | 41 | exit $RESULT 42 | 43 | -------------------------------------------------------------------------------- /test/mxf_reader/d10_30.md5: -------------------------------------------------------------------------------- 1 | e0218d7571aedde989876ac94b1c34ab - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/d10_30.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 13 d10_30 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/d10_40.md5: -------------------------------------------------------------------------------- 1 | 9b3c519b1aa35bf65f2fd73c2b23a036 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/d10_40.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 12 d10_40 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/d10_50.md5: -------------------------------------------------------------------------------- 1 | 9ee9d91fef3efc4fab10bb7479c35045 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/d10_50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 11 d10_50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/dv100_1080i.md5: -------------------------------------------------------------------------------- 1 | 54f6f648ca1fcb71c35724deac597f72 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/dv100_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 5 dv100_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/dv100_720p25.md5: -------------------------------------------------------------------------------- 1 | bf9beb4e59210b32dde5c95a3236f601 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/dv100_720p25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 6 dv100_720p 25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/dv100_720p50.md5: -------------------------------------------------------------------------------- 1 | bdb21b7555f8336f863db755712d4f52 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/dv100_720p50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 6 dv100_720p 50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/dv50.md5: -------------------------------------------------------------------------------- 1 | 9d9db49dcc67fcd925a0ce8ea68cdc00 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/dv50.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 4 dv50 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/dvbased25.md5: -------------------------------------------------------------------------------- 1 | 58834d1380c907f6305d14daa54b0d08 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/dvbased25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 3 dvbased25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/iecdv25.md5: -------------------------------------------------------------------------------- 1 | e6c1781dacc3c3692ca3583fdeb74bda - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/iecdv25.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 2 iecdv25 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/mpeg2lg_422p_hl_1080i.md5: -------------------------------------------------------------------------------- 1 | 639158a8e99d41d83a2d1f254f7ea968 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/mpeg2lg_422p_hl_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 14 mpeg2lg_422p_hl_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/mpeg2lg_mp_h14_1080i.md5: -------------------------------------------------------------------------------- 1 | f951f6cdf4626bc304284a25af290acd - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/mpeg2lg_mp_h14_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 15 mpeg2lg_mp_h14_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/mpeg2lg_mp_hl_1920_1080i.md5: -------------------------------------------------------------------------------- 1 | fd2c8fdbb8e6a63aa10b34f736c5a8d5 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/mpeg2lg_mp_hl_1920_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 16 mpeg2lg_mp_hl_1920_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/samples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TEMP_DIR=/tmp/reader_temp$$ 4 | OUTPUT=/tmp/sample_$3$4 5 | OUTPUT_STDOUT=/tmp/sample_stdout_$3$4 6 | 7 | mkdir -p ${TEMP_DIR} 8 | 9 | 10 | AS02_BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t as02 --mic-type md5 -o ${OUTPUT} -y 10:11:12:13 --clip test " 11 | if [ "$4" != "" ]; then 12 | AS02_BASE_COMMAND="$AS02_BASE_COMMAND -f $4 " 13 | else 14 | AS02_BASE_COMMAND="$AS02_BASE_COMMAND -f 25 " 15 | fi 16 | READ_COMMAND="../../apps/mxf2raw/mxf2raw --regtest --info --info-format xml --track-chksum md5 ${OUTPUT}/sample_$3$4.mxf" 17 | 18 | 19 | # create essence data 20 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 21 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 22 | 23 | # write 24 | $AS02_BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw 25 | 26 | # read 27 | $READ_COMMAND | sed "s:${TEMP_DIR}:/tmp:g" >${OUTPUT_STDOUT} 28 | 29 | # clean-up 30 | rm -Rf ${TEMP_DIR} 31 | 32 | -------------------------------------------------------------------------------- /test/mxf_reader/unc.md5: -------------------------------------------------------------------------------- 1 | 608596d4c1ffce84fae2e2f6ca9b9482 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/unc.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 17 unc 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/unc_1080i.md5: -------------------------------------------------------------------------------- 1 | bd79bf42502f1ad441290d133c111b14 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/unc_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 18 unc_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/unc_1080p.md5: -------------------------------------------------------------------------------- 1 | 439ba1f900c5c92acf967e70d13e319b - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/unc_1080p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 19 unc_1080p 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/unc_3840.md5: -------------------------------------------------------------------------------- 1 | 42ed531200201ffdf5ecac5a304e6c59 - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/unc_3840.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 45 unc_3840 4 | 5 | -------------------------------------------------------------------------------- /test/mxf_reader/unc_720p.md5: -------------------------------------------------------------------------------- 1 | ea2b57448ff7feb3299adc657f3f02fd - 2 | -------------------------------------------------------------------------------- /test/mxf_reader/unc_720p.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 3 20 unc_720p 4 | 5 | -------------------------------------------------------------------------------- /test/partial_audio_frames/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | EXTRA_DIST = \ 4 | test.sh \ 5 | test_1.md5 \ 6 | test_2.md5 7 | 8 | .PHONY: create-data 9 | create-data: 10 | ${srcdir}/test.sh create_data 11 | 12 | .PHONY: create-samples 13 | create-samples: 14 | ${srcdir}/test.sh create_samples 15 | -------------------------------------------------------------------------------- /test/partial_audio_frames/test_1.md5: -------------------------------------------------------------------------------- 1 | 958d1ee3ab2358bc479cb007916a06e5 - 2 | -------------------------------------------------------------------------------- /test/partial_audio_frames/test_2.md5: -------------------------------------------------------------------------------- 1 | 538d3a91b7f881310dbf9ce5cb802d58 - 2 | -------------------------------------------------------------------------------- /test/rdd6/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test1.sh test2.sh test3.sh 2 | 3 | EXTRA_DIST = \ 4 | common.sh \ 5 | test1.sh \ 6 | test1.xml \ 7 | test1.md5 \ 8 | test2.sh \ 9 | test2.xml \ 10 | test2.md5 \ 11 | test3.sh \ 12 | test3.xml \ 13 | test3.md5 14 | 15 | .PHONY: create-data 16 | create-data: 17 | ${srcdir}/test1.sh create_data 18 | ${srcdir}/test2.sh create_data 19 | ${srcdir}/test3.sh create_data 20 | 21 | .PHONY: create-samples 22 | create-samples: 23 | ${srcdir}/test1.sh create_samples 24 | ${srcdir}/test2.sh create_samples 25 | ${srcdir}/test3.sh create_samples 26 | 27 | 28 | noinst_PROGRAMS = test_rdd6_xml 29 | 30 | test_rdd6_xml_SOURCES = test_rdd6_xml.cpp 31 | test_rdd6_xml_CXXFLAGS = $(BMX_CFLAGS) 32 | test_rdd6_xml_LDADD = $(BMX_LDADDLIBS) 33 | -------------------------------------------------------------------------------- /test/rdd6/test1.md5: -------------------------------------------------------------------------------- 1 | dae333da2f607684f0cd5c654d4a5ca2 - 2 | 0a92f9a1a35551a6ca3cb608ae88bac7 - 3 | -------------------------------------------------------------------------------- /test/rdd6/test1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | . $base/common.sh 5 | 6 | run_test $@ test1 25 "9,572" 4 7 | -------------------------------------------------------------------------------- /test/rdd6/test2.md5: -------------------------------------------------------------------------------- 1 | fcb99eee537399c0a271fbf7665d7ab8 - 2 | 44ed2de87239771400995d94032faa06 - 3 | -------------------------------------------------------------------------------- /test/rdd6/test2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | . $base/common.sh 5 | 6 | run_test $@ test2 25 "9,572" 4 7 | -------------------------------------------------------------------------------- /test/rdd6/test3.md5: -------------------------------------------------------------------------------- 1 | fee0c4728cf58b5a13651a5a4ca58465 - 2 | 18a5de6d90a826c12454796b704a8fa8 - 3 | -------------------------------------------------------------------------------- /test/rdd6/test3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | . $base/common.sh 5 | 6 | run_test $@ test3 50 "0" 4 7 | -------------------------------------------------------------------------------- /test/rdd9_mxf/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = \ 2 | mpeg2lg_422p_hl_1080i.test \ 3 | mpeg2lg_mp_hl_1920_1080i.test \ 4 | mpeg2lg_mp_h14_1080i.test \ 5 | anc.sh \ 6 | vbi.sh 7 | 8 | 9 | EXTRA_DIST = \ 10 | mpeg2lg_422p_hl_1080i.test \ 11 | mpeg2lg_mp_hl_1920_1080i.test \ 12 | mpeg2lg_mp_h14_1080i.test \ 13 | mpeg2lg_422p_hl_1080i.md5 \ 14 | mpeg2lg_mp_hl_1920_1080i.md5 \ 15 | mpeg2lg_mp_h14_1080i.md5 \ 16 | anc.sh \ 17 | vbi.sh \ 18 | anc.md5 \ 19 | vbi.md5 \ 20 | check.sh \ 21 | create.sh \ 22 | samples.sh 23 | 24 | 25 | 26 | .PHONY: create-data 27 | create-data: 28 | ${srcdir}/create.sh ${srcdir} 24 14 mpeg2lg_422p_hl_1080i 29 | ${srcdir}/create.sh ${srcdir} 24 15 mpeg2lg_mp_h14_1080i 30 | ${srcdir}/create.sh ${srcdir} 24 16 mpeg2lg_mp_hl_1920_1080i 31 | ${srcdir}/anc.sh create_data 32 | ${srcdir}/vbi.sh create_data 33 | 34 | 35 | .PHONY: create-samples 36 | create-samples: 37 | ${srcdir}/samples.sh 24 14 mpeg2lg_422p_hl_1080i 38 | ${srcdir}/samples.sh 24 15 mpeg2lg_mp_h14_1080i 39 | ${srcdir}/samples.sh 24 16 mpeg2lg_mp_hl_1920_1080i 40 | ${srcdir}/anc.sh create_samples 41 | ${srcdir}/vbi.sh create_samples 42 | 43 | -------------------------------------------------------------------------------- /test/rdd9_mxf/anc.md5: -------------------------------------------------------------------------------- 1 | 23caa5183a2a614cbd98576d7deb05ad - 2 | -------------------------------------------------------------------------------- /test/rdd9_mxf/anc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | 5 | md5tool=../file_md5 6 | 7 | appsdir=../../apps 8 | testdir=.. 9 | tmpdir=/tmp/anc_temp$$ 10 | 11 | testpcm="$tmpdir/test_pcm.raw" 12 | testm2v="$tmpdir/test_m2v.raw" 13 | testanc="$tmpdir/test_anc.raw" 14 | testmxf="$tmpdir/test.mxf" 15 | testmd5="$tmpdir/test.md5" 16 | 17 | sample="/tmp/rdd9_anc.mxf" 18 | 19 | md5file="$base/anc.md5" 20 | 21 | 22 | create_test_file() 23 | { 24 | $testdir/create_test_essence -t 1 -d 24 $testpcm 25 | $testdir/create_test_essence -t 14 -d 24 $testm2v 26 | $testdir/create_test_essence -t 43 -d 24 $testanc 27 | $appsdir/raw2bmx/raw2bmx --regtest -t rdd9 -o $testmxf --anc-const 24 --anc $testanc --mpeg2lg_422p_hl_1080i $testm2v -q 16 --pcm $testpcm -q 16 --pcm $testpcm >/dev/null 28 | } 29 | 30 | calc_md5() 31 | { 32 | $md5tool < $1 > $2 33 | } 34 | 35 | run_test() 36 | { 37 | calc_md5 $testmxf $1 38 | } 39 | 40 | 41 | check() 42 | { 43 | run_test $testmd5 && diff $testmd5 $md5file >/dev/null 44 | } 45 | 46 | create_data() 47 | { 48 | run_test $testmd5 && cp $testmd5 $md5file 49 | } 50 | 51 | create_samples() 52 | { 53 | mv $testmxf $sample 54 | } 55 | 56 | 57 | mkdir -p $tmpdir 58 | 59 | create_test_file 60 | 61 | if test -z "$1" ; then 62 | check 63 | elif test "$1" = "create_data" ; then 64 | create_data 65 | elif test "$1" = "create_samples" ; then 66 | create_samples 67 | fi 68 | res=$? 69 | 70 | rm -Rf $tmpdir 71 | 72 | exit $res 73 | -------------------------------------------------------------------------------- /test/rdd9_mxf/check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/rdd9test_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t rdd9 -o ${TEMP_DIR}/rdd9test.mxf -y 10:11:12:13 --clip test --part 12 " 10 | if [ "$4" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $4 " 12 | fi 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 17 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 18 | 19 | # write 20 | $BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 21 | 22 | # calculate md5sum and compare with expected value 23 | $MD5TOOL < ${TEMP_DIR}/rdd9test.mxf > ${TEMP_DIR}/test.md5 24 | if diff ${TEMP_DIR}/test.md5 ${srcdir}/$3$4.md5 25 | then 26 | RESULT=0 27 | else 28 | echo "*** ERROR: $3$4 regression" 29 | RESULT=1 30 | fi 31 | 32 | # clean-up 33 | rm -Rf ${TEMP_DIR} 34 | 35 | 36 | exit $RESULT 37 | -------------------------------------------------------------------------------- /test/rdd9_mxf/create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/rdd9test_temp$$ 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t rdd9 -o ${TEMP_DIR}/rdd9test.mxf -y 10:11:12:13 --clip test --part 12 " 10 | if [ "$5" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $5 " 12 | fi 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $2 ${TEMP_DIR}/pcm.raw 17 | ../create_test_essence -t $3 -d $2 ${TEMP_DIR}/test_in.raw 18 | 19 | # write and calculate md5sum 20 | if $BASE_COMMAND -a 16:9 --$4 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 21 | then 22 | $MD5TOOL < ${TEMP_DIR}/rdd9test.mxf > $1/$4$5.md5 23 | RESULT=0 24 | else 25 | RESULT=1 26 | fi 27 | 28 | # clean-up 29 | rm -Rf ${TEMP_DIR} 30 | 31 | 32 | exit $RESULT 33 | 34 | -------------------------------------------------------------------------------- /test/rdd9_mxf/mpeg2lg_422p_hl_1080i.md5: -------------------------------------------------------------------------------- 1 | 6dc13f69d836a5651b3bfcc9e451b090 - 2 | -------------------------------------------------------------------------------- /test/rdd9_mxf/mpeg2lg_422p_hl_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 14 mpeg2lg_422p_hl_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/rdd9_mxf/mpeg2lg_mp_h14_1080i.md5: -------------------------------------------------------------------------------- 1 | a3a4469aeb39a0569e0811c77c45ebef - 2 | -------------------------------------------------------------------------------- /test/rdd9_mxf/mpeg2lg_mp_h14_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 15 mpeg2lg_mp_h14_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/rdd9_mxf/mpeg2lg_mp_hl_1920_1080i.md5: -------------------------------------------------------------------------------- 1 | 0cc9d07c0d8d48c1e548344bd18eb1f2 - 2 | -------------------------------------------------------------------------------- /test/rdd9_mxf/mpeg2lg_mp_hl_1920_1080i.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check.sh 24 16 mpeg2lg_mp_hl_1920_1080i 4 | 5 | -------------------------------------------------------------------------------- /test/rdd9_mxf/samples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TEMP_DIR=/tmp/rdd9_temp$$ 4 | OUTPUT=/tmp/rdd9_$3$4.mxf 5 | 6 | mkdir -p ${TEMP_DIR} 7 | 8 | 9 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t rdd9 -o $OUTPUT -y 10:11:12:13 --clip test --part 12 " 10 | if [ "$4" != "" ]; then 11 | BASE_COMMAND="$BASE_COMMAND -f $4 " 12 | fi 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 17 | ../create_test_essence -t $2 -d $1 ${TEMP_DIR}/test_in.raw 18 | 19 | # write 20 | $BASE_COMMAND -a 16:9 --$3 ${TEMP_DIR}/test_in.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw -q 16 --locked true --pcm ${TEMP_DIR}/pcm.raw >/dev/null 21 | 22 | # clean-up 23 | rm -Rf ${TEMP_DIR} 24 | 25 | -------------------------------------------------------------------------------- /test/rdd9_mxf/vbi.md5: -------------------------------------------------------------------------------- 1 | c63127ba2ca2119dc2cadc17be0bebba - 2 | -------------------------------------------------------------------------------- /test/rdd9_mxf/vbi.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | base=$(dirname $0) 4 | 5 | md5tool=../file_md5 6 | 7 | appsdir=../../apps 8 | testdir=.. 9 | tmpdir=/tmp/vbi_temp$$ 10 | 11 | testpcm="$tmpdir/test_pcm.raw" 12 | testm2v="$tmpdir/test_m2v.raw" 13 | testvbi="$tmpdir/test_vbi.raw" 14 | testmxf="$tmpdir/test.mxf" 15 | testmd5="$tmpdir/test.md5" 16 | 17 | sample="/tmp/rdd9_vbi.mxf" 18 | 19 | md5file="$base/vbi.md5" 20 | 21 | 22 | create_test_file() 23 | { 24 | $testdir/create_test_essence -t 1 -d 24 $testpcm 25 | $testdir/create_test_essence -t 14 -d 24 $testm2v 26 | $testdir/create_test_essence -t 44 -d 24 $testvbi 27 | $appsdir/raw2bmx/raw2bmx --regtest -t rdd9 -o $testmxf --vbi-const 24 --vbi $testvbi --mpeg2lg_422p_hl_1080i $testm2v -q 16 --pcm $testpcm -q 16 --pcm $testpcm >/dev/null 28 | } 29 | 30 | calc_md5() 31 | { 32 | $md5tool < $1 > $2 33 | } 34 | 35 | run_test() 36 | { 37 | calc_md5 $testmxf $1 38 | } 39 | 40 | 41 | check() 42 | { 43 | run_test $testmd5 && diff $testmd5 $md5file >/dev/null 44 | } 45 | 46 | create_data() 47 | { 48 | run_test $testmd5 && cp $testmd5 $md5file 49 | } 50 | 51 | create_samples() 52 | { 53 | mv $testmxf $sample 54 | } 55 | 56 | 57 | mkdir -p $tmpdir 58 | 59 | create_test_file 60 | 61 | if test -z "$1" ; then 62 | check 63 | elif test "$1" = "create_data" ; then 64 | create_data 65 | elif test "$1" = "create_samples" ; then 66 | create_samples 67 | fi 68 | res=$? 69 | 70 | rm -Rf $tmpdir 71 | 72 | exit $res 73 | -------------------------------------------------------------------------------- /test/text_object/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | EXTRA_DIST = \ 4 | test.sh \ 5 | utf8.xml \ 6 | utf16le.xml \ 7 | utf16be.xml \ 8 | other.xml \ 9 | test_d10.md5 \ 10 | test_op1a.md5 \ 11 | test_rdd9.md5 \ 12 | info_d10.xml \ 13 | info_op1a.xml \ 14 | info_rdd9.xml \ 15 | utf8_noprolog.xml 16 | 17 | .PHONY: create-data 18 | create-data: 19 | ${srcdir}/test.sh create_data 20 | 21 | .PHONY: create-samples 22 | create-samples: 23 | ${srcdir}/test.sh create_samples 24 | -------------------------------------------------------------------------------- /test/text_object/other.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0"?> 2 | <test xmlns="http://bbc.co.uk/rd/bmx/test/other" xml:lang="en"> 3 | <more>stuff</more> 4 | </test> 5 | -------------------------------------------------------------------------------- /test/text_object/test_d10.md5: -------------------------------------------------------------------------------- 1 | 84c4dc8bcf557b6bfdb059728ab82578 - 2 | -------------------------------------------------------------------------------- /test/text_object/test_op1a.md5: -------------------------------------------------------------------------------- 1 | 783c163bcad9f1f21a18d4138c672ce2 - 2 | -------------------------------------------------------------------------------- /test/text_object/test_rdd9.md5: -------------------------------------------------------------------------------- 1 | 5e979c48861fc9bcd8692a0cc6202801 - 2 | -------------------------------------------------------------------------------- /test/text_object/utf16be.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-16"?> 2 | <test xmlns="http://bbc.co.uk/rd/bmx/test/utf16be" xml:lang="en"> 3 | <more>stuff</more> 4 | </test> 5 | -------------------------------------------------------------------------------- /test/text_object/utf16le.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-16"?> 2 | <test xmlns="http://bbc.co.uk/rd/bmx/test/utf16le" xml:lang="en"> 3 | <more>stuff</more> 4 | </test> 5 | -------------------------------------------------------------------------------- /test/text_object/utf8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | stuff 4 | 5 | -------------------------------------------------------------------------------- /test/text_object/utf8_noprolog.xml: -------------------------------------------------------------------------------- 1 | 2 | stuff 3 | 4 | -------------------------------------------------------------------------------- /test/timed_text/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = test.sh 2 | 3 | EXTRA_DIST = \ 4 | test.sh \ 5 | text_example.xml \ 6 | manifest_1.txt \ 7 | manifest_2.txt \ 8 | manifest_3.txt \ 9 | font.ttf \ 10 | image.png \ 11 | info_1.xml \ 12 | info_2.xml \ 13 | info_3.xml \ 14 | info_4.xml \ 15 | info_5.xml \ 16 | info_6.xml \ 17 | info_7.xml \ 18 | info_8.xml \ 19 | info_9.xml \ 20 | test_1.md5 \ 21 | test_2.md5 \ 22 | test_3.md5 \ 23 | test_4.md5 \ 24 | test_5.md5 \ 25 | test_6.md5 \ 26 | test_7.md5 \ 27 | test_8.md5 \ 28 | test_9.md5 29 | 30 | .PHONY: create-data 31 | create-data: 32 | ${srcdir}/test.sh create_data 33 | 34 | .PHONY: create-samples 35 | create-samples: 36 | ${srcdir}/test.sh create_samples 37 | -------------------------------------------------------------------------------- /test/timed_text/font.ttf: -------------------------------------------------------------------------------- 1 | This is pretending to be a font file. 2 | -------------------------------------------------------------------------------- /test/timed_text/image.png: -------------------------------------------------------------------------------- 1 | This is pretending to be an image file. 2 | -------------------------------------------------------------------------------- /test/timed_text/manifest_1.txt: -------------------------------------------------------------------------------- 1 | file: text_example.xml 2 | profile: imsc1/text 3 | encoding: UTF-8 4 | languages: en,fr -------------------------------------------------------------------------------- /test/timed_text/manifest_2.txt: -------------------------------------------------------------------------------- 1 | file: text_example.xml 2 | profile: imsc1/image 3 | encoding: UTF-8 4 | languages: en 5 | 6 | resource_file: font.ttf 7 | mime_type: application/x-font-opentype 8 | resource_id: urn:uuid:fe16f8e4-57a9-56b5-a93c-6c27d6f61619 # == uuid.uuid5(uuid.UUID('b6cc57a0-87e7-4e75-b1c3-3359f3ae8817'), 'Arial') 9 | 10 | resource_file: image.png 11 | resource_id: urn:uuid:173efd37-3b1e-535c-917f-e126e25bd505 # == uuid.uuid5(uuid.NAMESPACE_URL, 'image.png') 12 | mime_type: image/png 13 | -------------------------------------------------------------------------------- /test/timed_text/manifest_3.txt: -------------------------------------------------------------------------------- 1 | file: text_example.xml 2 | profile: imsc1/text 3 | encoding: UTF-8 4 | languages: en,fr 5 | start: 10:00:00:00 -------------------------------------------------------------------------------- /test/timed_text/test_1.md5: -------------------------------------------------------------------------------- 1 | 56acf41909bac92bb7ebb83ff5b1654d - 2 | -------------------------------------------------------------------------------- /test/timed_text/test_2.md5: -------------------------------------------------------------------------------- 1 | b092a51547c7f3bef8b940dd9d798135 - 2 | -------------------------------------------------------------------------------- /test/timed_text/test_3.md5: -------------------------------------------------------------------------------- 1 | e77b9a290873bb2fc22142364310434c - 2 | -------------------------------------------------------------------------------- /test/timed_text/test_4.md5: -------------------------------------------------------------------------------- 1 | d0d1c400f3f2f08cffcf2117b4f8ce88 - 2 | -------------------------------------------------------------------------------- /test/timed_text/test_5.md5: -------------------------------------------------------------------------------- 1 | e9bfcd3c2e15104f8c47a4266532eb0f - 2 | -------------------------------------------------------------------------------- /test/timed_text/test_6.md5: -------------------------------------------------------------------------------- 1 | cfc38a6bd0af9ba06790ed24992a3637 - 2 | -------------------------------------------------------------------------------- /test/timed_text/test_7.md5: -------------------------------------------------------------------------------- 1 | 1380d205a1fed94606b5052e6e7d78ad - 2 | -------------------------------------------------------------------------------- /test/timed_text/test_8.md5: -------------------------------------------------------------------------------- 1 | d0d1c400f3f2f08cffcf2117b4f8ce88 - 2 | -------------------------------------------------------------------------------- /test/timed_text/test_9.md5: -------------------------------------------------------------------------------- 1 | b092a51547c7f3bef8b940dd9d798135 - 2 | -------------------------------------------------------------------------------- /test/timed_text/text_example.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 |

Lorem ipsum dolor.

19 |
20 | 21 |
22 | -------------------------------------------------------------------------------- /test/wave/Makefile.am: -------------------------------------------------------------------------------- 1 | TESTS = wave_write.test wave_read.test 2 | 3 | 4 | EXTRA_DIST = \ 5 | wave_write.test \ 6 | wave_read.test \ 7 | wave_write.md5 \ 8 | wave_read.md5 \ 9 | check_write.sh \ 10 | check_read.sh \ 11 | create_write.sh \ 12 | create_read.sh \ 13 | samples.sh 14 | 15 | 16 | 17 | .PHONY: create-data 18 | create-data: 19 | ${srcdir}/create_write.sh ${srcdir} 25 wave_write 20 | ${srcdir}/create_read.sh ${srcdir} 25 wave_read 21 | 22 | 23 | .PHONY: create-samples 24 | create-samples: 25 | ${srcdir}/samples.sh 25 wave 26 | 27 | -------------------------------------------------------------------------------- /test/wave/check_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/wavereadtest_temp$$ 5 | OUTPUT1=${TEMP_DIR}/test_1.wav 6 | OUTPUT2=${TEMP_DIR}/test_2.wav 7 | 8 | mkdir -p ${TEMP_DIR} 9 | 10 | 11 | WRITE_BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t wave -o $OUTPUT1 -f 25 -y 10:11:12:13 --orig regtest " 12 | REWRITE_BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t wave -o $OUTPUT2 -f 25 -y 10:11:12:13 --orig regtest " 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 17 | 18 | # write 19 | $WRITE_BASE_COMMAND -q 16 --pcm ${TEMP_DIR}/pcm.raw -q 16 --pcm ${TEMP_DIR}/pcm.raw >/dev/null 20 | 21 | # re-write 22 | $REWRITE_BASE_COMMAND --wave $OUTPUT1 >/dev/null 23 | 24 | # calculate md5sum and compare with expected value 25 | $MD5TOOL < $OUTPUT2 > ${TEMP_DIR}/test.md5 26 | if diff ${TEMP_DIR}/test.md5 ${srcdir}/$2.md5 27 | then 28 | RESULT=0 29 | else 30 | echo "*** ERROR: $2 regression" 31 | RESULT=1 32 | fi 33 | 34 | # clean-up 35 | rm -Rf ${TEMP_DIR} 36 | 37 | 38 | exit $RESULT 39 | 40 | -------------------------------------------------------------------------------- /test/wave/check_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/wavewritetest_temp$$ 5 | OUTPUT=${TEMP_DIR}/test_1.wav 6 | 7 | mkdir -p ${TEMP_DIR} 8 | 9 | 10 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t wave -o $OUTPUT -f 25 -y 10:11:12:13 --orig regtest " 11 | 12 | 13 | # create essence data 14 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 15 | 16 | # write 17 | $BASE_COMMAND -q 16 --pcm ${TEMP_DIR}/pcm.raw -q 16 --pcm ${TEMP_DIR}/pcm.raw >/dev/null 18 | 19 | # calculate md5sum and compare with expected value 20 | $MD5TOOL < $OUTPUT > ${TEMP_DIR}/test.md5 21 | if diff ${TEMP_DIR}/test.md5 ${srcdir}/$2.md5 22 | then 23 | RESULT=0 24 | else 25 | echo "*** ERROR: $2 regression" 26 | RESULT=1 27 | fi 28 | 29 | # clean-up 30 | rm -Rf ${TEMP_DIR} 31 | 32 | 33 | exit $RESULT 34 | -------------------------------------------------------------------------------- /test/wave/create_read.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/wavereadtest_temp$$ 5 | OUTPUT1=${TEMP_DIR}/test_1_$3.wav 6 | OUTPUT2=${TEMP_DIR}/test_2_$3.wav 7 | 8 | mkdir -p ${TEMP_DIR} 9 | 10 | 11 | WRITE_BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t wave -o $OUTPUT1 -f 25 -y 10:11:12:13 --orig regtest " 12 | REWRITE_BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t wave -o $OUTPUT2 -f 25 -y 10:11:12:13 --orig regtest " 13 | 14 | 15 | # create essence data 16 | ../create_test_essence -t 1 -d $2 ${TEMP_DIR}/pcm.raw 17 | 18 | 19 | # write, read and calculate md5sum 20 | if $WRITE_BASE_COMMAND -q 16 --pcm ${TEMP_DIR}/pcm.raw -q 16 --pcm ${TEMP_DIR}/pcm.raw >/dev/null 21 | then 22 | if $REWRITE_BASE_COMMAND --wave $OUTPUT1 >/dev/null 23 | then 24 | $MD5TOOL < $OUTPUT2 >$1/$3.md5 25 | RESULT=0 26 | else 27 | RESULT=1 28 | fi 29 | else 30 | RESULT=1 31 | fi 32 | 33 | 34 | # clean-up 35 | rm -Rf ${TEMP_DIR} 36 | 37 | 38 | exit $RESULT 39 | 40 | -------------------------------------------------------------------------------- /test/wave/create_write.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MD5TOOL=../file_md5 4 | TEMP_DIR=/tmp/wavewritetest_temp$$ 5 | OUTPUT=${TEMP_DIR}/test_1.wav 6 | 7 | mkdir -p ${TEMP_DIR} 8 | 9 | 10 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t wave -o $OUTPUT -f 25 -y 10:11:12:13 --orig regtest " 11 | 12 | 13 | # create essence data 14 | ../create_test_essence -t 1 -d $2 ${TEMP_DIR}/pcm.raw 15 | 16 | # write and calculate md5sum 17 | if $BASE_COMMAND -q 16 --pcm ${TEMP_DIR}/pcm.raw -q 16 --pcm ${TEMP_DIR}/pcm.raw >/dev/null 18 | then 19 | $MD5TOOL < $OUTPUT > $1/$3.md5 20 | RESULT=0 21 | else 22 | RESULT=1 23 | fi 24 | 25 | # clean-up 26 | rm -Rf ${TEMP_DIR} 27 | 28 | 29 | exit $RESULT 30 | 31 | -------------------------------------------------------------------------------- /test/wave/samples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | TEMP_DIR=/tmp/wave_temp$$ 4 | 5 | mkdir -p ${TEMP_DIR} 6 | 7 | 8 | BASE_COMMAND="../../apps/raw2bmx/raw2bmx --regtest -t wave -o /tmp/sample_$2.wav -f 25 -y 10:11:12:13 --orig regtest " 9 | 10 | 11 | # create essence data 12 | ../create_test_essence -t 1 -d $1 ${TEMP_DIR}/pcm.raw 13 | 14 | # write 15 | $BASE_COMMAND -q 16 --pcm ${TEMP_DIR}/pcm.raw -q 16 --pcm ${TEMP_DIR}/pcm.raw >/dev/null 16 | 17 | # clean-up 18 | rm -Rf ${TEMP_DIR} 19 | 20 | -------------------------------------------------------------------------------- /test/wave/wave_read.md5: -------------------------------------------------------------------------------- 1 | a51eebf410dccceafa1f272b0a34447d - 2 | -------------------------------------------------------------------------------- /test/wave/wave_read.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check_read.sh 25 wave_read 4 | 5 | -------------------------------------------------------------------------------- /test/wave/wave_write.md5: -------------------------------------------------------------------------------- 1 | a51eebf410dccceafa1f272b0a34447d - 2 | -------------------------------------------------------------------------------- /test/wave/wave_write.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ${srcdir}/check_write.sh 25 wave_write 4 | 5 | -------------------------------------------------------------------------------- /tools/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = movdump h264dump vc2dump rdd36dump j2cdump jp2extract 2 | 3 | movdump_SOURCES = movdump.cpp 4 | h264dump_SOURCES = h264dump.c 5 | vc2dump_SOURCES = vc2dump.c 6 | rdd36dump_SOURCES = rdd36dump.c 7 | j2cdump_SOURCES = j2cdump.c 8 | jp2extract_SOURCES = jp2extract.c 9 | 10 | AM_CFLAGS = $(BMX_CFLAGS) 11 | AM_CXXFLAGS = $(BMX_CFLAGS) 12 | --------------------------------------------------------------------------------