Dolby Encoding Engine Release Notes
Copyright
Copyright (c) 2019 Dolby Laboratories. All rights reserved.
Dolby and the double-D symbol are registered trademarks of
Dolby Laboratories. All other trademarks remain the property of their respective owners.
http://www.dolby.com
Confidential information for Dolby Laboratories Licensees only. Unauthorized use, sale, or duplication is prohibited.
About
Dolby Encoding Engine is file-based software encoder kit, that supports encoding of Dolby Vision,
Dolby Digital Plus with Dolby Atmos content and Dolby Digital Plus formats.
Dolby Encoding Engine offers a set of batch processing functionalities as well as replaceable plugins for
multiple processing blocks, e.g. JPEG 2000 decoding, HEVC encoding, HEVC decoding.
Dolby Encoding Engine 3.5
What's new
- The
--stdout
CLI option.
- When used in conjunction with the
--log-file
option, --stdout
forces DEE to print the log to both the file and stdout.
- Dolby AC-4 immersive stereo music album encoding.
- Refer to
DolbyEncodingEngineAlbumEncoding.html
for usage overview.
- XML templates:
xml_templates/encode_to_ims_ac4/music
.
- 5.1.4 channel-based immersive input support in Dolby Digital Plus with Dolby Atmos encoding.
- XML template:
xml_templates/encode_to_atmos_ddp/wav_encode_to_atmos_ddp_ec3.xml
.
- As an input, use WAV file containing 10 interleaved channels:
L,R,C,LFE,Ls,Rs,Lfh,Rfh,Lrh,Rrh
.
- Support for audio bitstream timecode insertion (currently only for
pcm_to_ddp
filter with dd
encoding mode).
- Refer to
DEETimecodeInsertion.html
for usage overview.
- Encoding range (
start
/end
values) in pcm_to_ddp
and encode_to_ims_ac4
can now be specified as relative to the beginning of the file or an offset specified in the input.
- XML templates:
xml_templates/pcm_to_ddp
and xml_templates/encode_to_ims_ac4
.
- Refer to the
time_base
element in pcm_to_ddp
/encode_to_ims_ac4
.
- The
channel_configuration
element in wav_list
audio input now supports auto
value.
- The configuration is assigned automatically, based on the number of specified WAV files.
- The option to change the output bitstream mode when encoding with the
pcm_to_ddp
filter.
- XML templates:
xml_templates/pcm_to_ddp
.
- Refer to element
bitstream_mode
in pcm_to_ddp
.
- Job configuration in JSON format is now supported. Refer to the User's Guide for more details.
- The
atmos_info
standalone tool for displaying details about Dolby Atmos mezzanine files.
- The
dee_cpl_parser
standalone tool for parsing the Composition Playlist file in an IMF package.
- Documentation:
tools/dee_cpl_parser/dee_cpl_parser.md
.
- To prevent missusage, the
generic
input element no longer supports atmos, wav and container file type
values:
atmos_mezz
mxf_iab
damf
adm
wav
wav_list
mp4
ts
- Input
generic
is no longer supported in encode_to_ims_ac4
and encode_to_atmos_ddp
. Specific input types (atmos_mezz
or wav
) must be used.
- Audio filter
ddp_decode
.
- Decodes Dolby Digital or Dolby Digital Plus stream, and measures its loudness.
- Supports piping of input bitstream and output PCM.
- XML templates:
xml_templates/ddp_decode
.
- Audio filter
encode_to_dd_single_pass
.
- Encodes PCM in
wav
to Dolby Digital stream.
- Along with
ddp_decode
, can be used to build simple decode-encode workflow.
- XML templates:
xml_templates/encode_to_dd_single_pass
.
- Audio filter
pcm_loudness_correction_single_pass
.
- Performs loudness correction of
wav
input, using loudness results provided in a from of the manifest (produced by ddp_decode
).
- Supports piping of output PCM.
- XML templates:
xml_templates/pcm_loudness_correction_single_pass
.
- Frame-based prepending and appending added for
encode_to_atmos_ddp
and pcm_to_ddp
.
- Filters
encode_to_atmos_ddp
and pcm_to_ddp
have a new XML element append_silence_duration
.
- Both this new element and the
prepend_silence_duration
now support values in video frames as well as seconds.
- XML templates:
xml_templates/pcm_to_ddp
, xml_templates/encode_to_atmos_ddp
.
- ABR ladder encoding in
encode_to_atmos_ddp
.
- It is possible now to specify multiple data-rates within a single job run.
- XML template:
xml_templates/encode_to_atmos_ddp/abr_ladder_encoding.xml
.
For performance information, refer to the performance_reports
folder in the Dolby Encoding Engine documentation package.
System Requirements
Operation systems:
- Ubuntu 16.04 (64-bit)
- CentOS 7 (64-bit)
- Windows 10 (64-bit)
Recommended hardware specifications:
- CPU: Intel Xeon processor E5-1620 v4, 3.50 GHz
- RAM: 32 GB
Minimum hardware specifications:
- CPU: every x86_64 processor supporting AVX2 and FMA3 instruction set
- RAM: 16 GB
Windows computers require:
Open Source Plugins
Open-source plugins are available on GitHub:
https://github.com/DolbyLaboratories/dolby-encoding-engine
Dolby Encoding Engine installation
Install the Dolby Encoding Engine using the provided installer package and the license file.
Installing Dolby Encoding Engine on Linux
Unpack the Dolby Encoding Engine and launch the installer from the command-line interface (CLI) with the
specified installation parameters.
Procedure:
- Optional: If you are upgrading to a newer version of the Dolby Encoding Engine, uninstall and remove all
components of the previous version (including the plug-ins and other libraries).
- Unpack the .zip file.
- Add the permission to execute the file.
- Optional: To display the available installer options, enter: dolby_encoding_engine_install.bin -h
- To launch the installer, enter:
dolby_encoding_engine_install.bin -d <folder_path>
.
In this entry: <folder_path>
is the installation folder.
- Follow the instructions on the screen.
Results
The Dolby Encoding Engine installs on your computer.
Installing Dolby Encoding Engine on Windows
Unpack the Dolby Encoding Engine, and launch the installer file.
Procedure:
- Optional: If you are upgrading to a newer version of the Dolby Encoding Engine, uninstall and remove all
components of the previous version (including the plug-ins and other libraries).
- Unpack the .zip file.
- Launch the
dolby_encoding_engine_install.exe
file.
- Follow the instructions on the screen.
Results
The Dolby Encoding Engine installs on your computer.
Adding a product license
To use the Dolby Encoding Engine, add your product license to the folder specified in this procedure.
We recommend placing the Dolby Encoding Engine product license in the Dolby Encoding Engine
application folder or the plug-in folder (specified by the DEE_PLUGIN_PATH environment variable).
Placing the license file in a different location requires you to specify the license file path in the CLI for each
operation, using the --license-file option.
Procedure:
Place the license.lic file in the Dolby Encoding Engine application folder or the plug-ins folder.
Dolby Encoding Engine known issues
- The prepending frames functionality is in an experimental phase. It is recommended to use default
mode=1 which re-uses the metadata from the first frame. This may not provide the pure-black
prepended frames but guarantees the best bitstream compatibility.
- Using FFmpeg as both the decoder and encoder in the same HEVC transcoding job is not supported. It is
recommended to use the native x265 encoder instead.
- 4:4:4 and 4:2:2, 8-bit and 10-bit streams are not supported in decoding scenarios.
- In the case of Dolby Atmos encoding where the DAMF/ADM input indicates video frame-rate above 30fps, setting the timecode_frame_rate parameter to not_indicated causes all start and end
calculations to assume frame-rate 23.976fps. To avoid this, indicate the actual frame-rate in timecode_frame_rate.
- In the case of SDR to Dolby Vision profile 4 encoding on systems with less than the eight recommended
logical processors, the workflow can rarely fail. The issue appeared on an R4.xlarge AWS EC2 instance.
Support services are available to address any questions about this product.
For any questions regarding the described technology, contact dee-support@dolby.com.
If you have comments or feedback about this information set, send us an email at
documentation@dolby.com.
Appendix: Release History
Dolby Encoding Engine 3.4
- Dolby AC-4 immersive stereo encoding filter. Templates:
xml_templates/encode_to_ims_ac4
- Channel Order Detector for 5.1 .wav input, which can rewrite to .wav with an L, R, C, LFE, Ls, Rs channel order. Templates:
xml_templates/pcm_channel_order/wav_pcm_channel_order_manifest.xml
xml_templates/pcm_channel_order/wav_pcm_channel_order_wav.xml
xml_templates/pcm_channel_order/wav_pcm_channel_order_manifest_wav.xml
atmos_mezz_to_atmos_ddp
and pcm_to_atmos_ddp
filters are now merged into a single filter named encode_to_atmos_ddp
. The old filter names still work but are deprecated.
- The interpretation of values passed to the
<start>
and <end>
parameters has been unified across filters, which has slightly changed the exact behavior for many of them. Timecodes in the form of HH:MM:SS:FF
and HH:MM:SS.ss
are now inclusive at the start point and exclusive at the end point. Explicit video frame numbers passed to <start>
and <end>
remain inclusive at both ends. For details on the new interpretation, see the "Timecodes" section in the user's guide.
- The
<start>
and <end>
parameters now accept negative frame indexes, with -1
meaning the last frame, -2
the penultimate one and so on.
- GitHub: Source code for Beamr plugins (HEVC decoder and HEVC encoder).
Dolby Encoding Engine 3.3
- Support for TIFF with sidecar Dolby Vision metadata as a valid Dolby Vision mezzanine format.
- Templates starting with
tiff_sidecar
are included for all Dolby Vision mezzanine encoding use cases.
- Dolby Vision profile 5 sample workflow script.
- Scripts and resources are located in
xml_templates/dv_profile_5/script
.
- Documentation is located in
xml_templates/dv_profile_5/script/DEEQuickStartDolbyVisionProfile5.md
or DEEQuickStartDolbyVisionProfile5.html
in documentation package.
- The segmented encoding example
dv_profile_5_workflow_chunked.py
shows how to set the concatenation_flag
to create a valid Dolby Vision bitstream when performing distributed encoding.
- Updated Dolby Vision Profile 7 sample workflow.
- A new mandatory
--fps
option.
- A new segmented encoding example in
dv_profile_7_workflow_chunked.py
.
- Scripts and resources are located in
xml_templates/dv_profile_7/script
.
- Updated documentation is located in
xml_templates/dv_profile_7/script/DEEQuickStartDolbyVisionProfile7.md
or DEEQuickStartDolbyVisionProfile7.html
in documentation package.
- Dolby Vision profile 8.1 pre-processor for YUV and RPU generation.
- Refer to templates in
xml_templates/dv_mezz_to_dv_profile_8_1_yuv
.
- Dolby Vision profile 8.1 sample workflow script.
- Scripts and resources are located in
xml_templates/dv_profile_8_1/script
.
- Documentation is located in
xml_templates/dv_profile_8_1/script/DEEQuickStartDolbyVisionProfile81.md
or DEEQuickStartDolbyVisionProfile81.html
in documentation package.
- Auto mode for the active area offset properties.
- In auto mode offset values are extracted from Dolby Vision mezzanine.
- An option to override
signal_range_coded
property in Dolby Vision filters (element signal_range_coded
).
- Dolby Digital encoding.
- Enabled in the pcm_to_dpp filter by setting
<encoder_mode>dd</encoder_mode>
.
xml_templates/pcm_to_ddp/wav_pcm_to_ddp_ac3.xml
.
xml_templates/pcm_to_ddp/wav_list_pcm_to_ddp_ac3.xml
.
- Dolby Digital Plus 7.1 encoding.
- Enabled in the pcm_to_dpp filter by setting
<encoder_mode>ddp71</encoder_mode>
.
xml_templates/pcm_to_ddp/wav_pcm_to_ddp_ec3_71.xml
.
xml_templates/pcm_to_ddp/wav_list_pcm_to_ddp_ec3_71.xml
.
- A new Hybrid Mode option (
allow_hybrid_downmix
) for 5.1 Dolby Digital Plus encoding.
- Refer to the updated templates in the
xml_templates/pcm_to_ddp
directory.
- Dolby Digital and Dolby Digital Plus transcoding to Dolby Digital Plus with loudness measurement and correction.
- For more information, refer to "Audio transcoding job" in the Dolby Encoding Engine User’s Guide and the following template files:
xml_templates/transcode_to_ddp/ac3_transcode_to_ddp_ec3.xml
.
xml_templates/transcode_to_ddp/ac3_transcode_to_ddp_ec3_wav.xml
.
xml_templates/transcode_to_ddp/ec3_transcode_to_ddp_ec3.xml
.
- Dolby E to Dolby Digital Plus transcoding with loudness measurement and correction.
- For more information, refer to "Audio transcoding job" in the Dolby Encoding Engine User’s Guide and the following template file:
xml_templates/transcode_to_ddp/wav_s337m_transcode_to_ddp_ec3.xml
.
- Dolby Atmos mezzanines now can be used as input to create channel based Dolby Digital Plus 5.1.
xml_templates/pcm_to_ddp/adm_pcm_to_ddp_ec3.xml
.
xml_templates/pcm_to_ddp/damf_pcm_to_ddp_ec3.xml
.
xml_templates/pcm_to_ddp/mxf_iab_pcm_to_ddp_ec3.xml
.
- Dolby Digital Plus with Dolby Atmos encoding supports Warp Mode and Custom Trims if specified in the Dolby Atmos mezzanine source.
- Dolby Digital Plus with Dolby Atmos encoding supports 576 kbps data rate.
- Audio filter
convert_atmos_mezz
has been temporarily removed.
Github updates
- The DEE x265 plugin has been tested and updated to work with x265 version 3.1.2.
Dolby Encoding Engine 3.2.1
- An issue related to loading the JPEG2000
kakadu_dlb
decoder plug-in has been solved.
You are required to replace the kakadu_dlb plug-in with one of these: dee_plugin_j2k_dec_kakadu_dlb.so
or dee_plugin_j2k_dec_kakadu_dlb.dll
. DEE 3.2.0 reinstallation is not required.
- Release notes converted to HTML format
Dolby Encoding Engine 3.2
- Dolby Vision Content Mapping support for versions 2.9 and 4.0 for all encoding pipelines
- REST API with a corresponding script and documentation
- Dolby Encoding Engine REST API (
DEERestApi.html
)
- A Metafier tool added to the installation package for verification of the input masters
- New engineering documents:
- Dolby Encoding Engine Quick Start with Dolby Digital Plus Atmos Encoding (
DEEQuickStartDolbyAtmos.html
)
- Dolby Encoding Engine Quick Start with Dolby Vision Profile 7 (
DEEQuickStartDolbyVisionProfile7.html
)
- Support for immersive audio bitstream (IAB) MXF for Dolby Atmos encoding
- The Dolby Encoding Engine Watch Folder script with corresponding documentation (
DEEWatchFolder.html
)
- Support for adding black video frames to MP4 containing audio only
- Use the
<fill_video>true</fill_video>
parameter in the MP4 output section of the configuration XML
- See an example in the
xml_templates/atmos_mezz_to_atmos_ddp/generic_atmos_mezz_to_atmos_ddp_mp4.xml
file
- Support for AVC pass-through to MP4 output
- The
dv_mezz_to_sdr_yuv
and dv_mezz_to_hdr10_yuv
filters are now fully supported.
- Refer to the XML templates in the
xml_templates/dv_mezz_to_sdr_yuv
and xml_templates/dv_mezz_to_hdr10_yuv
subfolders.
Dolby Encoding Engine 3.1
- A dedicated folder for all the Dolby Vision profile 7 related XML templates: xml_templates/dv_profile_7
- Includes new HEVC encoder templates:
xml_templates/dv_profile_7/encode_to_hevc
- A use_case parameter in the dv_mezz_to_dv_profile_7_bl filter to easily select a Dolby Vision
profile 7 use case
- Support for file name patterns in JPEG2000 with sidecar input (in the
<j2k_prefix>
parameter) and
Apple ProRes with sidecar input (<prores_prefix>
)
- The dv_mezz_to_dv_profile_7_el can now also generate a manifest file
- A
dv_profile_7_workflow.py
script (in the xml_templates/dv_profile_7/script folder
) with an example Dolby Vision
profile 7 workflow that allows you to understand, build, and execute your own profile 7 workflows
- Because the Dolby Vision workflows can be customized, Dolby recommends verifying all encoded
Dolby Vision bitstreams with the Dolby Vision Verification Toolkit.
For more information about the Dolby Vision Verification Toolkit, visit the Dolby Developer portal Dolby Vision Verification Toolkit.
Dolby Encoding Engine 3.2 Release Notes 2
9 July 2019
- A fix for the issue with incorrect Dolby Vision preprocessing with Apple ProRes 422 essence and
<ColorSpace>ycbcr_bt2020</ColorSpace>
in the metadata
- An execution summary report printed at the end of a job log that summarizes any occurred errors,
warnings, and performance data
Dolby Encoding Engine 3.0
-
Dolby Vision profile 7 encoding functionality (performed, among others, by the Dolby Vision profile 7
base layer processor and the Dolby Vision profile 7 enhancement layer processor) which enables the
delivery of Dolby Vision with an HDR10 compatible base layer for Blu-ray.
This functionality is in an experimental phase which means it has not been fully tested, yet.
For more information, refer to “Dolby Vision profile 7 encoding” in the Dolby Encoding Engine User’s
Guide and the following template files:
- j2k_sidecar_dv_mezz_to_dv_profile_7_bl_yuv420p10le_manifest.xml
- mov_sidecar_dv_mezz_to_dv_profile_7_bl_yuv420p10le_manifest.xml
- mxf_dv_mezz_to_dv_profile_7_bl_yuv420p10le_manifest.xml
- mxf_sidecar_dv_mezz_to_dv_profile_7_bl_yuv420p10le_manifest.xml
- prores_sidecar_dv_mezz_to_dv_profile_7_bl_yuv420p10le_manifest.xml
- j2k_sidecar_hevc_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- j2k_sidecar_yuv420_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- mov_sidecar_hevc_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- mov_sidecar_yuv420_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- mxf_hevc_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- mxf_sidecar_hevc_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- mxf_sidecar_yuv420_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- mxf_yuv420_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- prores_sidecar_hevc_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- prores_sidecar_yuv420_manifest_dv_mezz_to_dv_profile_7_el_yuv420_rpu_manifest.xml
- hevc_rpu_dv_ves_mux_hevc_profile_7.xml
- hevc_dv_md_postproc_hevc_profile7.xml
-
The dv_mezz_to_sdr_yuv pre-processing filter, which generates YUV output from Dolby Vision
mezzanine input.
This functionality is in an experimental phase – it has not been fully tested, yet and it has not been
documented in the Dolby Encoding Engine User’s Guide.
For more information, refer to the following template files:
- j2k_sidecar_dv_mezz_to_sdr_yuv_yuv420p10le.xml
- mov_sidecar_dv_mezz_to_sdr_yuv_yuv420p10le.xml
- mxf_dv_mezz_to_sdr_yuv_yuv420p10le.xml
- mxf_sidecar_dv_mezz_to_sdr_yuv_yuv420p10le.xml
- prores_sidecar_dv_mezz_to_sdr_yuv_yuv420p10le.xml
-
Loudness metering and correction filter that allows you to measure and correct loudness of PCM content.
This functionality is in an experimental phase – it has not been fully tested, yet and it has not been
documented in the Dolby Encoding Engine User’s Guide.
For more information, refer to the following template files:
- wav_pcm_loudness_correction_measure_only.xml
- wav_pcm_loudness_correction.xml
- wav_list_pcm_loudness_correction_measure_only.xml
- wav_list_pcm_loudness_correction.xml
- The following Dolby Vision filter parameters reorganized:
- For the encode_to_hevc filter, additional encode_type values: dv_profile_7_bl, dv_profile_
7_el, dv_profile_4_2_bl, dv_profile_4_2_el
- The dv_profile_4_2_bl and dv_profile_4_2_el values replacing the previous dv_profile_4.2
- An encode_type value for Dolby Vision profile 8.1 renamed from dv_profile_8.1 to dv_profile_
8_1
- The transcode_to_hevc filter requiring an encode_type property, with the only possible values
being sdr and hdr10
- The removal of the pcm_to_ddp_7_1 filter
- A pcm_to_ddp filter parameter renamed from measure_correct_preset to measure_and_correct
- A new version of the Kakadu decoder - 7.10.7 (v7.A.7)
- Removed support for wildcards
- Maximum memory and average CPU use of the Dolby Encoding Engine process printed to log at the end
of a process
- Improved Dolby Vision pre-processing performance when working with a remotely mounted storage