• Select your platform:

    Platform:

    Ignite Windows with Dolby Audio

    As a Windows® developer, you can now include one of the world’s most advanced, recognizable, and trusted entertainment experiences in your universal applications and web experiences. You're in a unique position to utilize our next-generation Dolby® Audio (supporting Dolby Digital Plus™ technology) which is included in every x86 Windows 10 desktop PC and tablet. This means you simply need to include encoded content in your Windows application or HTML 5 web app, and the Windows 10 operating system will decode that content providing the best enveloping experience for your customer.

     

    A Windows 10 Sample App Project using Dolby technologies is available for download.

    Code Snippet

    																    // Set the picker to include files that can contain Dolby content such as (.3g2, .3gp2, .3gp, .3gpp., m4a., m4v., mp4v, .mp4, .mov, .m2ts, .asf, .wm, .wmv, .wav, .avi, .ac3, .ec3)
    FileOpenPicker filePicker = new FileOpenPicker();
                    filePicker.SuggestedStartLocation = PickerLocationId.VideosLibrary;
                    filePicker.FileTypeFilter.Add(".mp4");
                    filePicker.FileTypeFilter.Add(".wmv");
                    filePicker.ViewMode = PickerViewMode.Thumbnail;
    //Play picked file through native Win 8 playback stack
                    StorageFile localVideo = await filePicker.PickSingleFileAsync();
                    if (localVideo != null)
                    {
                        var stream = await localVideo.OpenAsync(FileAccessMode.Read);
                        VideoSource.SetSource(stream, localVideo.ContentType);
                        rootPage.NotifyUser("You are playing a local video file", NotifyType.StatusMessage);
                    }
    															    
    																    // Set the picker to include files that can contain Dolby content such as (.3g2, .3gp2, .3gp, .3gpp., m4a., m4v., mp4v, .mp4, .mov, .m2ts, .asf, .wm, .wmv, .wav, .avi, .ac3, .ec3)
    		FileOpenPicker^ filePicker = ref new FileOpenPicker();
    		filePicker->SuggestedStartLocation = PickerLocationId::VideosLibrary;
    		filePicker->FileTypeFilter->Append(".mp4");
    		filePicker->FileTypeFilter->Append(".wmv");
    		filePicker->ViewMode = PickerViewMode::Thumbnail;
    //Play picked file through native Win 8 playback stack
    		task<storagefile^>(filePicker->PickSingleFileAsync()).then(
    			[this](StorageFile^ videoFile)
    		{
    			if (videoFile)
    			{
    				localFile = videoFile;
    				task<irandomaccessstream^>(videoFile->OpenAsync(FileAccessMode::Read)).then(
    					[this](IRandomAccessStream^ stream)
    				{
    					if (stream)
    					{
    						VideoSource->SetSource(stream, localFile->ContentType);
    						rootPage->NotifyUser("You are playing a local video file", NotifyType::StatusMessage);
    					}
    				});
    			}
    		});
    	}
    }
    void Scenario1::playButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
    {
    	VideoSource->Play();
    }
    															    
    																    // Set the picker to include files that can contain Dolby content such as (.3g2, .3gp2, .3gp, .3gpp., m4a., m4v., mp4v, .mp4, .mov, .m2ts, .asf, .wm, .wmv, .wav, .avi, .ac3, .ec3)
    var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
           	openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.videosLibrary;
    	openPicker.fileTypeFilter.replaceAll([".mp4", ".wmv"]);
    	openPicker.pickSingleFileAsync().then(function (file) {
    //Play picked file through native Win 8 playback stack
     if (file) {
                   var localVideo = id("VideoSource");
                   localVideo.src = URL.createObjectURL(file, { oneTimeOnly: true });
                   localVideo.play();
               }
     },
    															    
    																    // Set the picker to include files that can contain Dolby content such as (.3g2, .3gp2, .3gp, .3gpp., m4a., m4v., mp4v, .mp4, .mov, .m2ts, .asf, .wm, .wmv, .wav, .avi, .ac3, .ec3)
       Private Async Sub videoFile_Click(sender As Object, e As RoutedEventArgs)
           Dim b As Button = TryCast(sender, Button)
           If b IsNot Nothing Then
               Dim filePicker As New FileOpenPicker()
               filePicker.SuggestedStartLocation = PickerLocationId.VideosLibrary
               filePicker.FileTypeFilter.Add(".mp4")
               filePicker.FileTypeFilter.Add(".wmv")
               filePicker.ViewMode = PickerViewMode.Thumbnail
    //Play picked file through native Win 8 playback stack
               Dim localVideo As StorageFile = Await filePicker.PickSingleFileAsync()
               If localVideo IsNot Nothing Then
                   Dim stream = Await localVideo.OpenAsync(FileAccessMode.Read)
                   VideoSource.SetSource(stream, localVideo.ContentType)
                   rootPage.NotifyUser("You are playing a local video file", NotifyType.StatusMessage)
               End If
           End If
       End Sub
       Private Sub playButton_Click(sender As Object, e As RoutedEventArgs)
           VideoSource.Play()
       End Sub
    															    

    Specs

    Platform Dolby Digital (ac3) Dolby Digital Plus (ec3) 3rd Party Accessible?
    Windows 8
    Windows 10
    Windows 10 Mobile

    Dolby Digital Plus

    Dolby® Digital Plus™, or Enhanced AC-3 (E-AC-3), is an advanced audio codec designed specifically for evolving media. It can be used in Smartphone Apps, Online Streaming Services, PCs, Tablets, Smartphones and Home Theatres. Dolby Digital Plus defines high-fidelity audio. Dolby® Digital Plus™ employs exclusive compression algorithms to efficiently reduce the file size of digital audio programs. This allows easier transmission and storage. It also brings multichannel capability to bandwidth-constrained applications, mobile networks and Internet-delivered entertainment.

    Dolby Audio...Enhanced

    With the Dolby Digital Plus Decoder built into every Windows Machine, Some OEM Partners want to take audio to the next level by including our Dolby Audio Processing solutions. Our solutions are backwards compatible so there is no need to worry about devices that don’t have Dolby Audio Processing. Depending on the flavor of Dolby Audio, developers can provide a better experience to their users. See the table below for more information.

    Code Snippet

    																    // Set the picker to include files that can contain Dolby content such as (.3g2, .3gp2, .3gp, .3gpp., m4a., m4v., mp4v, .mp4, .mov, .m2ts, .asf, .wm, .wmv, .wav, .avi, .ac3, .ec3)
    FileOpenPicker filePicker = new FileOpenPicker();
                    filePicker.SuggestedStartLocation = PickerLocationId.VideosLibrary;
                    filePicker.FileTypeFilter.Add(".mp4");
                    filePicker.FileTypeFilter.Add(".wmv");
                    filePicker.ViewMode = PickerViewMode.Thumbnail;
    //Play picked file through native Win 8 playback stack
                    StorageFile localVideo = await filePicker.PickSingleFileAsync();
                    if (localVideo != null)
                    {
                        var stream = await localVideo.OpenAsync(FileAccessMode.Read);
                        VideoSource.SetSource(stream, localVideo.ContentType);
                        rootPage.NotifyUser("You are playing a local video file", NotifyType.StatusMessage);
                    }
    															    
    																    // Set the picker to include files that can contain Dolby content such as (.3g2, .3gp2, .3gp, .3gpp., m4a., m4v., mp4v, .mp4, .mov, .m2ts, .asf, .wm, .wmv, .wav, .avi, .ac3, .ec3)
    		FileOpenPicker^ filePicker = ref new FileOpenPicker();
    		filePicker->SuggestedStartLocation = PickerLocationId::VideosLibrary;
    		filePicker->FileTypeFilter->Append(".mp4");
    		filePicker->FileTypeFilter->Append(".wmv");
    		filePicker->ViewMode = PickerViewMode::Thumbnail;
    //Play picked file through native Win 8 playback stack
    		task<storagefile^>(filePicker->PickSingleFileAsync()).then(
    			[this](StorageFile^ videoFile)
    		{
    			if (videoFile)
    			{
    				localFile = videoFile;
    				task<irandomaccessstream^>(videoFile->OpenAsync(FileAccessMode::Read)).then(
    					[this](IRandomAccessStream^ stream)
    				{
    					if (stream)
    					{
    						VideoSource->SetSource(stream, localFile->ContentType);
    						rootPage->NotifyUser("You are playing a local video file", NotifyType::StatusMessage);
    					}
    				});
    			}
    		});
    	}
    }
    void Scenario1::playButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
    {
    	VideoSource->Play();
    }
    															    
    																    // Set the picker to include files that can contain Dolby content such as (.3g2, .3gp2, .3gp, .3gpp., m4a., m4v., mp4v, .mp4, .mov, .m2ts, .asf, .wm, .wmv, .wav, .avi, .ac3, .ec3)
    var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
           	openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.videosLibrary;
    	openPicker.fileTypeFilter.replaceAll([".mp4", ".wmv"]);
    	openPicker.pickSingleFileAsync().then(function (file) {
    //Play picked file through native Win 8 playback stack
     if (file) {
                   var localVideo = id("VideoSource");
                   localVideo.src = URL.createObjectURL(file, { oneTimeOnly: true });
                   localVideo.play();
               }
     },
    															    
    																    // Set the picker to include files that can contain Dolby content such as (.3g2, .3gp2, .3gp, .3gpp., m4a., m4v., mp4v, .mp4, .mov, .m2ts, .asf, .wm, .wmv, .wav, .avi, .ac3, .ec3)
       Private Async Sub videoFile_Click(sender As Object, e As RoutedEventArgs)
           Dim b As Button = TryCast(sender, Button)
           If b IsNot Nothing Then
               Dim filePicker As New FileOpenPicker()
               filePicker.SuggestedStartLocation = PickerLocationId.VideosLibrary
               filePicker.FileTypeFilter.Add(".mp4")
               filePicker.FileTypeFilter.Add(".wmv")
               filePicker.ViewMode = PickerViewMode.Thumbnail
    //Play picked file through native Win 8 playback stack
               Dim localVideo As StorageFile = Await filePicker.PickSingleFileAsync()
               If localVideo IsNot Nothing Then
                   Dim stream = Await localVideo.OpenAsync(FileAccessMode.Read)
                   VideoSource.SetSource(stream, localVideo.ContentType)
                   rootPage.NotifyUser("You are playing a local video file", NotifyType.StatusMessage)
               End If
           End If
       End Sub
       Private Sub playButton_Click(sender As Object, e As RoutedEventArgs)
           VideoSource.Play()
       End Sub
    															    

    Specs

    DOLBY FEATURES

    DOLBY AUDIO

    DOLBY AUDIO PREMIUM

    Surround Decoder

    Dialogue Enhancer

    Volume Leveler

    Intelligent Equalizer

    Graphic Equalizer

    Surround Virtualizer (headphone/speaker)

    speaker only

    Audio Optimizer

    Audio Regulator

    Volume Maximizer

    Bass Enhancer

    Virtual Bass

    Media Intelligence

    Endpoint Intelligence

    Multimode Tuning

    Dolby Audio in the Browser

    You are likely familiar with the premium surround sound audio experience Dolby delivers regularly to feature films in the cinema and home theater. That same high-quality experience is now available on the web through the browser.

    Users can now experience the benefits of Dolby Digital Plus sound, including improved clarity, loudness, and consistency of playback—in addition to optional multichannel surround sound—all through one of the most common playback methods on the planet: the browser on your laptop/PC.

    This site will get you up to speed on how to get your content prepared and delivered in Dolby Digital Plus to the browser. Here you will find sections on content preparation (mixing considerations, for example), encoding options and tools, as well as sample demonstrations and code to host your content in a way that it will play regardless of the capability of the browser being used. Check back often for updated articles, sample code, and tools to help you on your way to delivering the optimal entertainment audio experience to your users.

    read more

    Why Dolby Audio in the Browser?

    With Dolby content delivered to the browser, users can now enjoy the best in-browser entertainment experience available. Dolby Digital Plus has emerged as the primary delivery platform for high-quality connected entertainment in the living room. Many of the world’s leading content streaming services use Dolby to deliver stereo, 5.1, and 7.1 content to entertainment devices such as TVs, gaming consoles, tablets, smartphones, PCs, and smart Blu-ray players.

    With the emergence of high definition video and the increasing resolution and color fidelity in computing displays, the browser visual experience has improved significantly in recent years—yet the audio experience has not—until now. With Dolby Digital Plus encoded content, supporting browsers allow content creators and developers to build web applications and stream content that take advantage of native browser functionality (i.e. without the need for plug-ins such as Flash or Silverlight).

    Dolby Digital Plus is available today in Microsoft Edge (Windows 10 and above), Apple Safari 9 on OS X 10.11 (El Capitan and above), and Apple Safari 9 on iOS 9.3 and above.

    Advantages of Dolby Digital Plus

    Dolby Digital Plus is an end-to-end platform that includes tools for content creators to create stereo and multichannel audio soundtracks. It is also a highly efficient and robust format for delivering content over physical, Internet protocol (IP), and broadcast networks. Content services around the world use Dolby as their preferred format because they know Dolby delivers the best possible entertainment experience to their consumers. Dolby Digital Plus also allows services to greatly simplify their operational infrastructure and workflow. With Dolby Digital Plus, services can create a single audio bitstream and deliver that same bitstream to a multitude of different devices, including TVs, AV Receivers (AVR’s), gaming consoles, smart Blu-ray players, PCs, tablets, and smartphones. Dolby Digital Plus has built-in intelligence to render audio optimally for each device. For example, the decoder will sense whether it is running in a multi-channel home theater system or on a PC with built-in stereo speakers. It will render the output with the volume and dynamic range most appropriate for the situation. Being able to create an audio stream once and deliver it to many different types of devices removes the significant cost of having to create and maintain multiple versions of an asset.

    Volume level variation across a content service catalog is a pervasive issue for streaming services and an annoyance for consumers. Dolby Digital Plus encoding addresses this issue directly.

    Beyond improved dialog clarity and intelligent device-aware loudness management, Dolby Digital Plus supports additional content features, such as support for multiple soundtracks, including different languages, director’s commentary, and descriptive visual services for accessibility. Dolby Digital Plus has also been designed to easily accommodate adaptive bitrate content—so that streamed content can be delivered at the maximum bitrate available to the end user at any given time. In this way content continues to play, even when the network is congested.

    For browser users, Dolby Digital Plus enables a high-quality, immersive entertainment experience that is true to the original artistic intent, featuring crisp sound, clear dialogue, and improved detail. The Dolby Digital Plus decoder automatically optimizes the audio, whether the PC is rendering over stereo endpoints (built-in speakers or headphones) or through a home theater system connected to the PC. For stereo speakers, the dynamic range of the content will be adjusted automatically to accommodate the capabilities of the smaller speakers. The emotion of the content—from quiet conversation to loud action scenes—is retained, drawing the viewer into the story as the artist intended. Dialogue, so crucial to movie and episodic content, is rendered much more intelligibly because the Dolby Digital Plus encoded content contains information that precisely identifies its proper level. If the PC is connected to a surround-sound system, Chrome can deliver the full 5.1 (or 7.1) audio soundtrack to the AVR. With the growing popularity of casting video content from the laptop, this will become a more prevalent use case allowing these users to enjoy a fully immersive experience.

    Browser Support

    Below is a list of current browsers (March 1, 2016) and how they report their ability to playback Dolby ec3 files. Notice how some browsers use “True” and “False” while other report “No” or “Maybe”.

      Probably Maybe Supports Dolby Audio
    Microsoft Edge True True
    Chrome 48 False True
    Firefox 42 No False
    Internet Explorer 11 False True
      Probably Maybe Supports Dolby Audio
    Safari 9 True True
    Safari 8* True True
    Chrome 48 False False
    Firefox 42 True False

      * Safari 8 falsely reports it can play Dolby.

      Probably Maybe Supports Dolby Audio
    Safari True True
    Chrome 48 Maybe False
      Probably Maybe Supports Dolby Audio
    Chrome 48 False True
    Firefox 42 No False
    Amazon Silk (OS 4+) False True

    Preparing Audio: Considerations

    In creating a digital entertainment experience to be streamed to the browser, the upstream considerations are largely the same as for creating assets to be delivered via other delivery routes, such as DVD, OTT streaming services, etc. It’s important to always work, where possible, with the original audio and video files so that when you are ready to do your final mix and encode, the amount of post-production distortion is minimized.

    Beyond basic high-quality audio production principles, the main consideration in preparing assets to be optimized for Dolby output is whether you are producing a 2-channel stereo or multichannel (e.g. 5.1, or 7.1/7.2) surround sound experience. If you expect your primary target to be desktop, laptop and mobile devices (and not devices connected to home theater systems), a 2-channel setup has benefits of efficiency and simplicity. Otherwise, if your distribution is likely to be varied you will want to consider a multi-channel mix (that can later be down-mixed).

    Mixing and Encoding: Considerations & Tools

    Once you’ve collected your content and decided on whether you’re going to produce a multi-channel surround production or a 2-channel stereo one, you’ll begin the process of ingesting your media sources. These could include: raw video footage, audio tracks and sound effects, other video clips, etc. Typically, these will be imported into a non-linear editing system, such as Adobe Premiere, Final Cut Pro, or any of a number of editing systems.

    In your editing system, you will need to ensure each sound channel is optimized to play back in the right position at the appropriate levels. For finer-grained control of spatial audio, tools like Adobe Audition and Avid ProTools provide great controls that allow you to vary sound direction and characteristics over time—so, for example, you could have a sound start in the front-left and move rapidly around the room clockwise and then fade out. The sky is the limit using these sophisticated audio processing tools. Rest assured that once you’ve got your final mix playing perfectly in your studio, that the Dolby encoding process will preserve the crucial aspects of your production for perfect playback on any supporting device. Please see this Dolby video for a simple illustration of mixing and encoding a simple short video with audio from multiple sources. For a more extensive demo that uses both Premiere and Audition, see this demo from Adobe. For a more in-depth overview of production principles for preparing a high quality Dolby Audio accompaniment to your video, see the Dolby Made for Web Sound Production Guide.

    Encoding Audio to Dolby Digital Plus

    If you’re already working with Adobe Premiere and Audition, you have a complete Dolby Audio encoding solution in your product. Simply export your video in h.264 for video and then select Dolby|Dolby Digital Plus as the audio encoding codec. Reasonable default parameters are provided and you can adjust these as fits your audio profile. If, on the other hand, your video production files are not mixed in Premiere, you can alternatively use any number of available Dolby Audio encoding solutions. To get started with a small sample file, try out our simple web-based encoder on this site.For larger files, sign up for an encoding.com account and select the video and Dolby Digital Plus parameters you desire.

    Transport Formats

    The most common format you’ll encounter for your video files will be MP4—with an H.264 video track and a Dolby Digital Plus audio track—along with a fallback .mp4 file with an AAC (or other prolific audio codec) track for audio, to play in the event the browser does not yet support Dolby Digital Plus. See the Code section of this site for information on how to detect and play the video file you desire.

    For a more robust setup to support high quality assets to a large number of users with varying bandwidth capabilities, you will want to consider delivering you video and audio via a streaming format, such as MPEG-DASH or HLS, both of which support Dolby Digital Plus audio tracks. There are a number of tools which will take your baseline video and audio files and convert them to these formats. Encoding.com provides this as one of the output formats. Other stand-alone tools include both open source and commercial tools, including mp4box, Elemental Stream, and others. Packaging your video and audio tracks in these streaming formats provides a more efficient means to deliver your video over the web. Moreover, they can be configured to play your media in adaptive bitrate, so that depending on the bandwith available to the consumer, the best video/audio tracks will be served, to balance quality with playback capability.

    Get the code

    Websites will now be able to selectively support Dolby Audio as a premium sound experience. Websites that want to use Dolby should feature detect on the format and be prepared to stream alternative audio formats on systems that don’t support Dolby Audio.

    Step 1: Add this script to your HTML file

    1. <script type="text/javascript"
    2. src="https://s3-us-west-1.amazonaws.com/dolbydeveloper/1.1.0/js/dolby.min.js"></script>

    Step 2: Add the Method

    Use this method in your code to check for Dolby Audio Support. This method will return TRUE if Dolby Digital Plus is supported. Then you can enable higher quality sound and features that Dolby provides by delivering audio and video assets encoded in Dolby Digital Plus.

    Dolby.checkDDPlus()

    Step 3: Playback: HTML5 and Javascript

    Once you’ve got your video and/or audio assets prepared (mixed, encoded, and formatted), all that remains is serving up the media files on the web. Modern web browsers supporting HTML5 can handle most of the work for you through a combination of HTML tags (the <video> and <audio> tags) and JavaScript.

    The most basic playback of a video file containing a Dolby Digital Plus (DD+) audio track, simply uses the video element to point to the encoded file. The browser does the rest, providing a simple player and performing the decoding.

    Using the <video> and <audio> elements with their default behavior alone is just the beginning. You can use JavaScript and tag attributes to customize the player as you desire, with custom start/pause/playback speed buttons, alternative video sizes, and many other attributes. See this article from Microsoft on using JavaScript to customize your video playback experience.

    HTML Audio/Video DOM Reference HTML Video JS Control

    Web Audio API

    If you’ve prepared your audio assets in DD+ (and typically a fallback encoding), you can use these same audio files to create interactive experiences using the WebAudio API. Browsers running on systems that support DD+ (MS Windows 10 and above; Mac OS 10.11 and above) can decode DD+ audio streams in the same way they decode other audio formats. Use AudioContext.DecodeAudioData(). You can use mono, stereo, or multi-channel inputs. Once you have the audio ingested you can further manipulate it using the WebAudio API features, including the PannerNode to place your sounds dynamically based on user input or desired events. See the re.flow demo and blog post series which showcases blending 3D graphics objects in WebGL with 3D panning in WebAudio to create an immersive interactive audio/video experience using Dolby Digital Plus.

    View Reflow Demo Flow.GL/Blog

    Your Game, Dolby Technology

    Dolby® surround sound puts gamers right in the middle of the action, providing a competitive advantage and making the experience more exciting and real. Featured in today’s top games, Dolby technologies enhance the impact of the dazzling graphics with striking surround sound that makes players feel as if they are actually inside the game.

    Dolby technologies help you create and deliver stunning multichannel sound on any game platform: Xbox®, PlayStation®, Wii™, or PC. Dolby encoding gives active sound positioning that follows the screen action for a listening experience that rivals Hollywood’s blockbusters.

    Audio Technologies

        
    Dolby Digital
    Dolby Digital Plus*  *  
    Dolby True HD* *
    Dolby Pro Logic II
    * For linear content only

     

    Dolby Digital

    Dolby Digital technology deliver up to five discrete full-range channels that create a convincing, realistic ambience, plus a Low-Frequency Effects (LFE) channel for stunning bass impact. The 5.1-channel arrangement—Left, Center, Right, Left Surround, and Right Surround, plus LFE—also enables precise placement of sounds. The worldwide audio standard for the DVD format, Dolby Digital brings true-to-life digital audio to gaming with the goal of immersing gamers in the action. You’ll be able to feel the explosions, sense helicopters coming in behind you, and hear footsteps sneaking up on your side.

    Dolby Pro Logic® II

    Dolby Pro Logic® II technology provides full-bandwidth, five-channel surround sound for game consoles. For players, Dolby Pro Logic II incorporates advanced matrix sound technology to offer compelling and convincing ambience and effects. For game developers, Pro Logic II enables game consoles to deliver five-channel sound with no demands on the host CPU. Dolby Pro Logic II is completely backward-compatible with Dolby Pro Logic technology, and transforms any high-quality stereo program, especially music, into a natural and enveloping surround sound experience.

    Creating Games with Dolby Technology

    It's simple and affordable to create games with Dolby® Digital or Dolby Pro Logic® II technology. The following steps describe the process.

    1. Contact the Dolby Games group First, drop us a note by contacting us . Whether you’re working on an upcoming game title, developing your next-generation in-house audio engine, or planning a new middleware product for developers, we offer custom support to suit your needs. If you are developing software for the PlayStation® 3 or PlayStation 4, please refer to information at Sony's PlayStation Developer Network. For Xbox 360® or Xbox One related documentation contact XBOX Live Developer Portal and for support contact XBOX Live Forums . The Xbox team has information particular to Dolby Digital and the Xbox consoles. For Wii™ products, take a look at the Dolby Pro Logic II support built into Nintendo's AX API.
    2. Get the logo Nearly every major game publisher has already executed our Trademark Agreement (TMA). This agreement allows publishers to use the Dolby Laboratories logo and associated trademarks. It's always a good idea to contact us to make sure your publisher is signed up and ready to proceed.
    3. Submit your game for Dolby review For quality assurance purposes, Dolby recommends that developers/publishers submit one copy of each of their products that use our technologies, so we can ensure that our technologies have been implemented in the best possible way before a title ships. Our quality assurance program can provide valuable feedback on the quality of the sound in your game title. If you are interested in receiving an evaluation from our experienced testing department, let us know. Also, if possible, any packaging, artwork, or instruction manual content that mention Dolby technologies should be submitted to Dolby for review before a product ships.
     

    Artistic Considerations

    Dynamic Range

    Dynamic range is defined as the difference between the loudest possible peak and the softest sound that can be intelligibly reproduced. In games, dynamic range is used to describe the differences between the loudest sounds and the softest sounds of the game's output. For example, a game that outputs continuously loud or continuously quiet sounds is considered to have little dynamic range. A game that outputs quiet sounds as well as very loud sounds is considered to have a large amount of dynamic range.

    read more

    Utilizing dynamic range can be very effective in creating immersive environments that affect the player's emotions. For example, movie scenes that use quiet breathing and footsteps immediately followed by a loud shriek can create a sense of fear in the audience. This tactic has been used for many years in horror films. Another use of dynamic range can be to draw the player's attention in a certain direction. In a first person shooter, for example, a loud gunshot from a Surround channel can clue the player in to the location of his enemy. Conversely, a gunshot that is not substantially louder than the rest of the mix will not have the same effect.

    Another benefit of using dynamic range is found when using Dolby® Pro Logic® II. The Dolby Pro Logic II steering algorithm is based upon relative loudness, with the dominant signal in the mix being steered. Sounds that are not dominant usually fall into an "unsteered" state, causing leakage and crosstalk. If there is little dynamic range in a mix, there might not be an easily identifiable dominant signal to steer. This can cause the majority of the mix to fall into an unsteered state. Thus, mixes with more dynamic range will be reproduced closer to the sound designer's intent when listening through a Dolby Pro Logic II decoder.

    LFE Usage

    The LFE channel is a separate, limited-frequency bandwidth signal created by the mixing engineer or game engine. The LFE is delivered alongside the main channels in a Dolby Digital bitstream. The subwoofer signal is created in the decoder, and contains the LFE as well as any redirected bass from the main channels.

    read more

    This signal is created using bass management, which is performed by all Dolby Digital decoders. Through bass management, a subwoofer signal may comprise bass from any channel or combination of channels. Typically, bass frequencies from channels being replayed on small speakers are directed to the subwoofer speaker.

    If no subwoofer is present, the bass (including the LFE channel, if it exists) is redirected to the speaker(s) best able to reproduce it, usually the main stereo pair.

    In games, it is essential not to overuse the LFE. The LFE is used for delivering extra bass for cinematic impact during exceptional moments in gameplay. If overused, the cinematic impact will be diminished, as there will be no dynamic range left to exploit in the LFE channel. A good rule of thumb is to use content in the LFE channel when controller vibration is used. As with controller vibration, the LFE should be used sparingly and saved for impact, such as in the following situations:

    • The entrance of a boss at the end of a level
    • The destruction of a large, important structure
    • When firing a secret weapon used by the player that has limited ammunition
    • A very damaging explosion near the player character

    LFE should not be used in the following situations:

    • Options menu sound effects
    • Human dialogue
    • Frequent player character audio
    • Explosions far away from the player character

    Some game engines have the ability to route audio from the main channel to the LFE. This is often called an “LFE send” and is generally not recommended because a user's decoder will often sum the LFE and the redirected bass from the main channels during the decode process. If this has already been done in the game engine, the result will essentially be "double bass" present in the subwoofer. Any delays present in the overall signal delivery system will compound this problem, and might well result in comb filtering of the bass signal.

    The best way to use the LFE channel is to route unique bass signals that complement the signal routed to the main channels. This LFE signal can be created in a variety of ways, including:

    • Adding several sine waves <80 Hz that are not harmonically related
    • Processing a similar sound effect with an 80 Hz lowpass filter
    • Extracting from an LFE sample CD

    Using various settings on an attack-delay-sustain-release (ADSR) envelope, a single LFE signal can be reshaped to complement a variety of sound effects. As a result, a small library of standard LFE signals may be sufficient for most applications. A few hours in the studio with a synthesizer or sampler, combined with a bit of restraint during game creation, can result in a game that is incredibly dynamic as a result of proper use of the LFE channel.

    In most background music, it is unlikely there will be a technical need to use the LFE channel. Since the overall program level may be adjusted to render any proportion of bass perfectly, the LFE channel might be an advantage only in situations like the famous cannon shots in Tchaikovsky’s 1812 Overture.

    It is always important to remember that the Dolby Digital downmix process discards the LFE signal, so the LFE signals will not be present for users listening on stereo systems. Therefore, it is critical that any essential audio in the LFE channel be complemented (not replicated) in the main channels.

    Center Channel Usage

    Surround channels can enhance the sense of depth and space over conventional stereo, adding a new sonic dimension and fully immersing the player in the experience of the game.   A game player is already immersed in a fully enveloping world, and has the ability to directly interact with and often control the environment. As a result, a game player expects the audio associated with this environment to pan appropriately and dynamically. Passive media, such as film, often makes only subtle use of the surround speakers, as the viewer has no control over the soundfield. As a result, games tend to make much more overt use of the surround speakers, and often use them to directly drive gameplay.

    read more

    The most obvious use of surround audio is offering audio cues to drive the player toward or away from anything that is out of the limited field of view offered by a television screen. These cues can warn the player of enemy fire from a particular direction, lead her toward the location of a hidden item, or help her find a friendly non-player character by the sound of his voice.

    The use of audio clues is one of the most important aspects of surround audio for games. If implemented correctly, the surround soundfield can enhance a game tremendously. The surround soundfield can also be used to enhance the feeling of player immersion, reduce player fatigue, increase playing time, and enhance overall enjoyment of the experience. The ambience of an environment can be accurately conveyed from proper use of the front and surround speakers, and can drastically change the listener’s experience. A properly rendered surround ambience can be the difference between peering through a window and actually jumping inside the world of the game.

    The most effective way to create a surround ambience is to create an interactive environment engine that makes use of both the front and surround speakers. If a stereo interactive environment engine has already been implemented, incorporating multichannel panning is quite easy.

    Prerendered looping or streaming ambiences are often used when an interactive environment engine is not practical. If streaming or looping multichannel audio is not feasible for this purpose, multichannel reverberation may be able to create the feeling of immersion.

    Many games also send stereo ambiences to the front speakers, and then attenuate by half and route the same audio to the surround speakers. This technique can be effective in some situations, but does not convey a sense of immersion as well as true surround ambiences.

    Background music can often benefit as well from a creative use of the surrounds, whether with background singers, instruments, or effects. But as with any new tool or effect, it can be overdone and become tiresome if used to excess. When using surround audio, it is critical to maintain proper balance between ambiences, music, player character audio, and dynamically panned effects, and to leave enough headroom for the audio that drives gameplay. This is even more important in a surround soundfield, where perception of directionality is critical. If the level of nonessential audio, such as background music, is too high, it will be difficult for the player to perceive the directionality of essential audio.

    Surround Channel Usage

    In a stereo program, there is only one way to obtain a centrally placed sound image: mix the signal equally to the Left and Right channels. In a multichannel system, there are three ways to obtain this sound image:

    • Create a phantom center just as with stereo
    • Use the Center channel alone
    • Use all three front channels equally or in varied proportion
    read more

    Each approach offers advantages and drawbacks. The phantom center has been in use since stereo began, and thus is well understood. The primary disadvantage of this technique is that the listener must be equidistant from the Left and Right speakers to achieve proper center imaging. This is rarely the case in the home, especially when multiple users are playing on a single console.

    Using the Center speaker alone creates a stable center image for every listener no matter where they sit. As a result, it is most important to place sounds in the Center channel that benefit from a focused, central audio image. Sounds that are often routed directly to the Center channel include:

    • Sound effects emanating from the first-person player character
    • Onscreen dialogue during a cinematic sequence

    In contrast, it is often beneficial to position environmental sound effects among the four remaining channels (Left, Right, Left surround, and Right surround). These sound effects may include:

    • Sounds emanating from opponents or other player characters
    • Background music
    • Environmental ambiences

    Even in a game presented in a third-person perspective, it can help to route audio emanating from the player's character directly to the Center channel. This helps users distinguish their character’s sounds from audio emanating from other sources.

    To prevent the image from sounding too focused or narrow, reverb from the Center channel can be spread to the Left and Right channels. Alternatively, distributing the center image among the three front speakers allows control of the range of spatial depth and width.

    A phantom center can be reinforced by additional signals in the Center channel, or a Center channel signal can be enhanced with additional signals spread into the L/R pair. However, the more channels that are used to carry the same signal, the more likely it is that side effects may occur. Signals might interact with each other, causing the phantom image to conflict with the true center image. In systems using dissimilar speakers, or in cases where the listeners are seated off the central axis, the sound arriving from all three speakers may not blend well. Differences in arrival time can cause a comb-filtering effect, shifts in tonal color, or a smearing of the image.

    Another negative aspect of distributing a signal across the front three channels is a potential loss of audio focus, which is a primary reason for using the Center channel in the first place. Consider all of these effects when placing the exact same signal in all three front channels. In general, it is best to use the Center channel discreetly. If a loss of focus is specifically desired, process the additional signals first to change their spatial character, timbre, or prominence relative to the main center signal.

    Console Development

    PlayStation

    What technology the PlayStation 3 and PlayStation 4 use?

    The PlayStation® 3 and PlayStation 4 (PS3™/PS4™) are able to support Dolby® Digital audio during game play. The Dolby logo on the back of the games indicate support for Dolby Digital 5.1, which will make the most of a home theater system.

    What kind of system do users need to get the most out of their PS3 or PS4?

    Many gamers are buying home-theater-in-a-box (HTIB) products, which include a Dolby Digital receiver, five main speakers, a subwoofer, and all the wiring necessary to connect the system. These products often cost around $300. They deliver between 50 and 100 watts of power to each of the main speakers, so they can make some serious sound.

    The subwoofers in particular often pack quite a punch, as they are perfectly matched to the system and can handle a lot of power. This allows many HTIBs to create bass that can deliver a massive game experience. While Dolby Digital comes standard in most of these systems, gamers often look for systems that have Dolby Pro Logic® II as well for use with a Wii™ console.

    How do users hook up their PS3 or PS4 to a Dolby Digital receiver?

    A receiver has many different inputs in the back, which allows it to function as a "switch box" between several different components. If a user connects everything properly, it will be easy to switch between their PlayStation and other game consoles or source components.

    The PS3 and PS4 feature a digital S/PDIF optical and HDMI® digital output. Both digital outputs are capable of outputting a Dolby Digital 5.1-channel signal.   For the console to be connected properly, users will need at least one free optical digital or HDMI input on their receiver. An optical digital audio cable or HDMI cable is needed to connect the digital audio output from the console to the optical or HDMI digital input on the receiver.

    Xbox

    What technology does the Xbox 360 and Xbox One use?

    The Xbox® 360® supports Dolby® Digital audio during game play. The Dolby Digital logo on the back of an Xbox 360 game indicates that the game will make the most of a home theater system.   The Xbox One doesn’t currently support Dolby Digital during game play; Microsoft is working to update the console with this capability in the near future.

    What kind of system do users need to get the most out of their Xbox?

    Many gamers are buying home-theater-in-a-box (HTIB) products, which include a Dolby Digital receiver, five main speakers, a subwoofer, and all the wiring necessary to connect the system. These products often cost around $300. They deliver between 50 and 100 watts of power to each of the main speakers, so they can make some serious sound.

    The subwoofers in these systems often pack quite a punch, as they are perfectly matched to the system and can handle a lot of power. This allows many HTIBs to create bass that can deliver a massive game experience. While Dolby Digital comes standard in most of these systems, gamers often look for systems with Dolby Pro Logic II as well for use with a Wii™ console.

    How do users hook up their Xbox 360 to a Dolby Digital receiver?

    A receiver has many different inputs in the back, which allows it to function as a "switch box" between several different components. If a user connects everything properly, it will be easy to switch between their console and other game consoles or source components.

    The Xbox 360 and Xbox One feature a digital S/PDIF optical output and an HDMI® digital output. Both digital outputs are capable of outputting a Dolby Digital 5.1-channel signal.   For the Xbox to be connected properly, users will need at least one free optical digital or HDMI input on their receiver. An optical digital audio cable or HDMI cable is needed to connect the digital audio output from the console to the optical or HDMI digital input on the receiver.

    Wii

    What technology do the Wii and Wii U use?

    The Wii™ is able to support Dolby® Pro Logic® II audio during game play. The Dolby Pro Logic II logo on the back of Nintendo Wii games indicates support for Dolby Pro Logic II, which will make the most of a home theater system.   The Wii U currently does not support Dolby Pro Logic II.

    What kind of system do users need to get the most out of their Nintendo Wii?

    Many gamers are buying home-theater-in-a-box (HTIB) products, which include a Dolby Digital and Dolby Pro Logic II receiver, five main speakers, a subwoofer, and all the wiring necessary to connect the system. These products often cost around $300. They deliver between 50 and 100 watts of power to each of the main speakers, so they can make some serious sound.  The subwoofers in particular often pack quite a punch, as they are perfectly matched to the system and can handle a lot of power. This allows many HTIBs to create bass that can deliver a massive game experience.

    How do users hook up their Nintendo Wii to a Dolby Pro Logic II receiver?

    A receiver has many different inputs in the back, which allows it to function as a "switch box" between several different components. If a user connects everything properly, it will be easy to switch between their Nintendo Wii and other game consoles or source components.

    The Nintendo Wii features a two-channel analog audio output capable of transmitting a Dolby Pro Logic II–encoded signal.

    For the Nintendo Wii to be connected properly, users will need at least one free two-channel analog input on their receiver. When available, Dolby recommends gamers use Dolby Pro Logic II Game mode to get the optimal surround Dolby Pro Logic II gaming experience.

    Dolby Audio Products for Games

    Dolby designs state-of-the-art products to aid in incorporating Dolby technologies for game developers and audio professionals.

    • Dolby VM600
      For operations that are shifting to virtual workspaces, Dolby has created the VM600 software platform, which builds on the capabilities of our innovative DP600 hardware. Now you can have a file-based workflow solution for loudness correction, audio conversion, and upmixing.
    • Dolby Professional Reference Decoder DP580
      The Dolby Professional Reference Decoder DP580 provides real-time decoding of up to 7.1 channels and assists in the adoption and deployment of the entire family of Dolby audio codecs.

    Dolby Audio Format for Android

    Dolby has worked with many OEMs to integrate Dolby Audio supporting Dolby Digital Plus into phones & tablets. As a developer you can deliver Dolby premium quality content by including the content into your Android projects. Benefits will include a clear and consistent playback of audio allowing your customers to get the best experience. Take a look below for more information to find out which devices have integrated Dolby Audio.

     

     

    Code Snippet

    																    //Create a MediaExtractor instance, and select the audio stream according to the MIME type of Dolby Digital Plus.
    public final static String EAC3_AUDIO = "audio/eac3"; mExtractor = new MediaExtractor(); 
    
    for (int i = 0; i < numTracks; ++i) {

         MediaFormat format = mExtractor.getTrackFormat(i);

         String mime_type = format.getString(MediaFormat.KEY_MIME);
              if (mime_type.equals(EAC3_AUDIO)) { //eac3 stands for Dolby Digital Plus.
                   mExtractor.selectTrack(i);

                   mFormatAudio = format;

                   mMimeTypeAudio = mime_type;
              Log.d(TAG, "selected audio track with type: " + mime_type);
              }
         ...... 
    }
    
    //Create and configure a MediaCodec instance
    mCodecAudio = MediaCodec.createDecoderByType(mMimeTypeAudio);
    mCodecAudio.configure(mFormatAudio, null, null, 0);
    
    //Start the MediaCodec instance to decode the audio stream.
    mCodecAudio.start();
    
    //Create and start an AudioTrack instance to render the decoded PCM audio data.
    mTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRateHz, channelConfig, AudioFormat.ENCODING_PCM_16BIT, bufferSize*2, AudioTrack.MODE_STREAM, 0);
    mTrack.play();
    mTrack.write(pcm_data, 0, pcm_data.length);
    
    //Release the instances of MediaExtractor, MediaCodec, and AudioTrack when the playback stops.
    if (mCodecAudio != null) {
         mCodecAudio.stop();
         mCodecAudio.release();
         mCodecAudio = null;
         }
    
    if (mExtractor != null) {
         mExtractor.release();
         mExtractor = null;
         }
    
    if (null != mTrack) {
         mTrack.stop();
         mTrack.flush();
         mTrack.release();
         mTrack = null;
         }
    															    

    Specs

    Platform Dolby Digital(ac3) Dolby Digital Plus (ec3)
    HTC One M9
    Lenovo A7000
    LG G4

    Dolby Digital Plus

    Dolby® Digital Plus™, or Enhanced AC-3 (E-AC-3), is an advanced audio codec designed specifically for evolving media. It can be used in Smartphone Apps, Online Streaming Services, PCs, Tablets, Smartphones and Home Theaters. Dolby Digital Plus defines high-fidelity audio. Dolby® Digital Plus™ employs exclusive compression algorithms to efficiently reduce the file size of digital audio programs. This allows easier transmission and storage. It also brings multichannel capability to bandwidth-constrained applications, mobile networks and Internet-delivered entertainment.

    Sample Project

    Accessing the Dolby Digital Plus Decoder

    ddp_android_playback.zip 0.7 mb
    Download

    Dolby Audio API

    As an Android™ Developer, you can take advantage of Dolby® Digital Plus™, which is built into many Android™ devices out in the market. This means your Android™ Applications and Games can have amazing immersive sound by integrating the Dolby® Audio API for Android™

    The impact on music, movies, and games is noticeable and immediate. (Try this Demo)

    Dolby is introducing the Dolby® Audio API for Android™, which only takes 15 minutes to integrate, It's also 100% free!

    Benefits include:

    • Volume Leveling: maintains constant volume across all content and applications.
    • Surround Virtualizer: creates a surround sound experience.
    • Audio Optimizer: gives you natural and louder, distortion-free sound.
    • Dolby Digital Pass-Through: allows direct home theater connections for a full multichannel experience.
    • So it's time to stand out from the crowd. Download the Dolby® Audio API for Android™ today!

     

    Quick Start Guide

    To view the Android audio API quick start guide, click the direct link below.

    Dolby Audio API Quick Start Guide  
    View the Guide

    API Package

    Dolby® Audio API for Android™

    Dolby Audio API 2.3 mb
    Download API

    Code Snippet

    																    // This is for DEMO purposes only, for a more in-depth use of the API make sure to download the Dolby Audio API Package for documentation and sample code
    import android.app.Activity;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    import com.dolby.dap.DolbyAudioProcessing;
    import com.dolby.dap.OnDolbyAudioProcessingEventListener;
    import com.dolby.dap.DolbyAudioProcessing.PROFILE;
    public class MainActivity
    extends Activity implements MediaPlayer.OnCompletionListener, OnDolbyAudioProcessingEventListener
    {
    Button btnPlay;
    MediaPlayer mPlayer;
    DolbyAudioProcessing mDolbyAudioProcessing;
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      btnPlay = new Button(this);
      btnPlay.setText("Play");
      btnPlay.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          if(mPlayer == null) {
            try {
              mPlayer = MediaPlayer.create(
                MainActivity.this,
                R.raw.audio_dolby_living_room);
              mPlayer.start();
            }
            catch (Exception e) {
              e.printStackTrace();
            }
          }
          else {
            mPlayer.stop();
            mPlayer.release();
            mPlayer = null;
          }
        }
      });
    setContentView(btnPlay);
    mDolbyAudioProcessing = DolbyAudioProcessing.getDolbyAudioProcessing(this, DolbyAudioProcessing.PROFILE.GAME, this);
    if (mDolbyAudioProcessing == null){
    	Toast.makeText(this, "Dolby isn't available on this device", Toast.LENGTH_SHORT).show();
    	finish();
    	return;
    }
    }
    @Override
    public void onDestroy() {
      super.onDestroy();
      if(mPlayer != null) {
        mPlayer.release();
      }
    this.releaseDolbyAudioProcessing();
    }
    //OnCompletionListener Methods
    @Override
    public void onCompletion(MediaPlayer mp) {
      mPlayer.release();
      mPlayer = null;
    }
    @Override
    public void onDolbyAudioProcessingClientConnected() {
    }
    @Override
    public void onDolbyAudioProcessingClientDisconnected(){
    }
    @Override
    public void onDolbyAudioProcessingProfileSelected(PROFILE arg0){
    }
    @Override
    public void onDolbyAudioProcessingEnabled(boolean arg0) {
    	// TODO Auto-generated method stub
    }
    public void releaseDolbyAudioProcessing(){
    	if (mDolbyAudioProcessing != null) {
    		mDolbyAudioProcessing.release();
    		mDolbyAudioProcessing = null;
    	}
    	}
    }
    															    
    																    // Dolby Audio Plug-in for Unity 3D available for download in the frameworks tab.
    using UnityEngine;
    using System.Collections;
    using System.Runtime.InteropServices; //Allows us to use DLLImport
    public class DolbyController : MonoBehaviour
    {
      #if UNITY_ANDROID && !UNITY_EDITOR
      [DllImport("DSPlugin")]
      public static extern bool isAvailable();
      [DllImport("DSJavaPlugin")]
      public static extern int initialize();
      [DllImport("DSJavaPlugin")]
      public static extern int setProfile(int profileid);
      [DllImport("DSJavaPlugin")]
      public static extern int suspendSession();
      [DllImport("DSJavaPlugin")]
      public static extern int restartSession();
      [DllImport("DSJavaPlugin")]
      public static extern void release();
      void Start() {
        if (isAvailable()) {
          InitDolby(10);
        }
      }
      void InitDolby(int limit) {
        if (initialize() > -1) {
          setProfile(2); /* Set Profile to "Game" */
        } else if (limit > 0) {
          limit --;
          StartCoroutine(Delay(limit));
        }
      }
      IEnumerator Delay(int limit){
        // Wait 100ms to make sure Dolby service is enabled
        yield return new WaitForSeconds(0.1f);
        InitDolby(limit);
      }
      void OnApplicationPause(bool pauseStatus) {
        if (!pauseStatus) return;
        suspendSession();
      }
      void OnApplicationFocus(bool focusStatus) {
        if (!focusStatus) return;
        restartSession();
      }
      void OnApplicationQuit() {
        release();
      }
      #endif
    }
    															    
    																    // Dolby Audio Plug-in for AIR available for download in the frameworks tab.
    try{
    if (DolbyAudio.isSupported())
    {
    DolbyAudio.create();
    DolbyAudio.audio.setDolbyAudioEnabled(true);
    textDebug("Dolby audio enabled.");
    } else {
    textDebug("Dolby Audio Processing not available on this device.");
    }
    }catch(e:Error){
    textDebug("Error trying dolby audio"+e.toString());
    }
    															    
    																    // Dolby Audio Plug-in for Cordova available for download in the frameworks tab.
    <script type="text/javascript">
    
        var onDeviceReady = function () {
    
            //initialize Dolby Audio Processing
            dolby.dap.initialize(dolby.DapProfile.GAME, onSuccess, onFail);
        }
    
        function onSuccess() {
        }
    
        function onFail(err) {
        }
    
    </script>
    															    

    Specs

      Format Support Post Processing Developer Access
    Platform Dolby Digital(ac3) Dolby Digital Plus (ec3) Dolby Audio Processing Dolby Audio API
    Lenovo A7000 w/ Atmos
    HTC One M9 (2015)
    Samsung Galaxy S4
    Samsung Galaxy Tab 3 8”

    Dolby Digital Plus

    Dolby® Digital Plus™, or Enhanced AC-3 (E-AC-3), is an advanced audio codec designed specifically for evolving media. It can be used in Smartphone Apps, Online Streaming Services, PCs, Tablets, Smartphones and Home Theaters. Dolby Digital Plus defines high-fidelity audio. Dolby® Digital Plus™ employs exclusive compression algorithms to efficiently reduce the file size of digital audio programs. This allows easier transmission and storage. It also brings multichannel capability to bandwidth-constrained applications, mobile networks and Internet-delivered entertainment.

    Fire up Dolby Audio

    As an Amazon App Developer, you now have access to Dolby® Audio, which is built into every Kindle Fire™ HD & HDX product. This means you can now include one of the world’s most advanced, recognizable, and trusted entertainment experiences directly in your application.

    Dolby is redefining the way your customers enjoy entertainment. Dolby® Audio produces dynamic surround sound, while simultaneously making overall audio more consistent. The impact on music, movies, and games is noticeable and immediate. (Try this Demo )

    Dolby is introducing the Dolby® Audio API (Unity, Marmalade Plug-ins also available), which only takes 15 minutes to integrate, It's also 100% free!

    Benefits include:

    • Volume Leveling: maintains constant volume across all content and applications.
    • Surround Virtualizer: creates a surround sound experience.
    • Audio Optimizer: gives you natural and louder, distortion-free sound.
    • Dolby Digital Pass-Through: allows direct home theater connections for a full multichannel experience.

    Download the Dolby® Audio API today and make your Kindle Fire™ Game sound better than ever.  

    Quick Start Guide

    To view the Kindle Fire API quick start guide, click the direct link below.

    Dolby Audio API Quick Start Guide  
    View the Guide

    API Package

    Dolby® Audio API for Android™

    Dolby Audio API 2.3 mb
    Download API

    Code Snippet

    																    // This is for DEMO purposes only, for a more in-depth use of the API make sure to download the Dolby Audio API Package for documentation and sample code
    import android.app.Activity;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    import com.dolby.dap.DolbyAudioProcessing;
    import com.dolby.dap.OnDolbyAudioProcessingEventListener;
    import com.dolby.dap.DolbyAudioProcessing.PROFILE;
    public class MainActivity
    extends Activity implements MediaPlayer.OnCompletionListener, OnDolbyAudioProcessingEventListener
    {
    Button btnPlay;
    MediaPlayer mPlayer;
    DolbyAudioProcessing mDolbyAudioProcessing;
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      btnPlay = new Button(this);
      btnPlay.setText("Play");
      btnPlay.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          if(mPlayer == null) {
            try {
              mPlayer = MediaPlayer.create(
                MainActivity.this,
                R.raw.audio_dolby_living_room);
              mPlayer.start();
            }
            catch (Exception e) {
              e.printStackTrace();
            }
          }
          else {
            mPlayer.stop();
            mPlayer.release();
            mPlayer = null;
          }
        }
      });
    setContentView(btnPlay);
    mDolbyAudioProcessing = DolbyAudioProcessing.getDolbyAudioProcessing(this, DolbyAudioProcessing.PROFILE.GAME, this);
    if (mDolbyAudioProcessing == null){
    	Toast.makeText(this, "Dolby isn't available on this device", Toast.LENGTH_SHORT).show();
    	finish();
    	return;
    }
    }
    @Override
    public void onDestroy() {
      super.onDestroy();
      if(mPlayer != null) {
        mPlayer.release();
      }
    this.releaseDolbyAudioProcessing();
    }
    //OnCompletionListener Methods
    @Override
    public void onCompletion(MediaPlayer mp) {
      mPlayer.release();
      mPlayer = null;
    }
    @Override
    public void onDolbyAudioProcessingClientConnected() {
    }
    @Override
    public void onDolbyAudioProcessingClientDisconnected(){
    }
    @Override
    public void onDolbyAudioProcessingProfileSelected(PROFILE arg0){
    }
    @Override
    public void onDolbyAudioProcessingEnabled(boolean arg0) {
    	// TODO Auto-generated method stub
    }
    public void releaseDolbyAudioProcessing(){
    	if (mDolbyAudioProcessing != null) {
    		mDolbyAudioProcessing.release();
    		mDolbyAudioProcessing = null;
    	}
    	}
    }
    															    
    																    // Dolby Audio Plug-in for Unity 3D available for download in the frameworks tab.
    using UnityEngine;
    using System.Collections;
    using System.Runtime.InteropServices; //Allows us to use DLLImport
    public class DolbyController : MonoBehaviour
    {
      #if UNITY_ANDROID && !UNITY_EDITOR
      [DllImport("DSPlugin")]
      public static extern bool isAvailable();
      [DllImport("DSJavaPlugin")]
      public static extern int initialize();
      [DllImport("DSJavaPlugin")]
      public static extern int setProfile(int profileid);
      [DllImport("DSJavaPlugin")]
      public static extern int suspendSession();
      [DllImport("DSJavaPlugin")]
      public static extern int restartSession();
      [DllImport("DSJavaPlugin")]
      public static extern void release();
      void Start() {
        if (isAvailable()) {
          InitDolby(10);
        }
      }
      void InitDolby(int limit) {
        if (initialize() > -1) {
          setProfile(2); /* Set Profile to "Game" */
        } else if (limit > 0) {
          limit --;
          StartCoroutine(Delay(limit));
        }
      }
      IEnumerator Delay(int limit){
        // Wait 100ms to make sure Dolby service is enabled
        yield return new WaitForSeconds(0.1f);
        InitDolby(limit);
      }
      void OnApplicationPause(bool pauseStatus) {
        if (!pauseStatus) return;
        suspendSession();
      }
      void OnApplicationFocus(bool focusStatus) {
        if (!focusStatus) return;
        restartSession();
      }
      void OnApplicationQuit() {
        release();
      }
      #endif
    }
    															    
    																    // Dolby Audio Plug-in for AIR available for download in the frameworks tab.
    try{
    if (DolbyAudio.isSupported())
    {
    DolbyAudio.create();
    DolbyAudio.audio.setDolbyAudioEnabled(true);
    textDebug("Dolby audio enabled.");
    } else {
    textDebug("Dolby Audio Processing not available on this device.");
    }
    }catch(e:Error){
    textDebug("Error trying dolby audio"+e.toString());
    }
    															    
    																    // Dolby Audio Plug-in for Cordova available for download in the frameworks tab.
    <script type="text/javascript">
     
        var onDeviceReady = function () {
     
            //initialize Dolby Audio Processing
            dolby.dap.initialize(dolby.DapProfile.GAME, onSuccess, onFail);
        }
     
        function onSuccess() {
        }
     
        function onFail(err) {
        }
     
    </script>
    															    

    Specs

      Format Support Post Processing Developer Access
    Platform Dolby Digital(ac3) Dolby Digital Plus (ec3) Dolby Audio Processing Dolby Audio API
    Amazon Fire HD Series
    Amazon Fire HDX Series
    Amazon Fire TV & Stick

    Dolby Digital Plus

    Dolby® Digital Plus™, or Enhanced AC-3 (E-AC-3), is an advanced audio codec designed specifically for evolving media. It can be used in Smartphone Apps, Online Streaming Services, PCs, Tablets, Smartphones and Home Theaters. Dolby Digital Plus defines high-fidelity audio. Dolby® Digital Plus™ employs exclusive compression algorithms to efficiently reduce the file size of digital audio programs. This allows easier transmission and storage. It also brings multichannel capability to bandwidth-constrained applications, mobile networks and Internet-delivered entertainment.

    Sample Project

    Dolby® Audio API for Android™ Sample App

    DolbyAudioExample.apk.zip 2.3 mb
    DOWNLOAD

    Perfect Audio —? No Matter How You Plug in

    Dolby Developer has come up with some cool solutions for App & Game Developers. We've introduced the Dolby Audio API which is a Java solution and works naturally with native Android Developers, but we understand that developers want choice when it comes to cross-platform tools. That's why we're including some plug-ins for you to use.

     

    We’re adding new frameworks constantly so if you don't see yours , let us know , or check back soon.

    iOS

    Originally introduced in iOS 9.3, iOS 10 continues to support Dolby Audio on millions of iOS devices, including the new iPhone 7 and iPhone 7s. Dolby Digital Plus (aka Enhanced AC-3) and Dolby Digital (AC-3) are natively supported data types in Core Audio, the foundational audio framework for all Apple platforms. The Dolby Digital Plus decoder is also available to all third-party applications. This means that these audio formats are supported throughout the operating system and in all the high-level media frameworks such as AVFoundation or Audio Toolbox. Playback of Dolby Audio in AVPlayer for example is as simple as passing a file with a Dolby Digital Plus soundtrack, and the system handles the rest.

    Code Snippet

    																    // Sample code using the AVPlayer Class
    //
    //
    (void)viewDidLoad {
        [super viewDidLoad];
        
        [self.mShownImage setImage:getImage()];
        [self.mProgressStatusLabel setText:@"0.00:0.00"];
        [self.mShowName setText:self.selectedItem.filename];
        mCurSeconds = 0.0;
        mDuration = 0.0;
        
        if ([self.selectedItem.module isEqual: @"AVPlayer"]){
    	
    	//Creates an instance of AVAsset URL that points the Dolby Digital Plus (E-AC3) encoded file
            NSURL *movieURL = [[NSBundle mainBundle] URLForResource:self.selectedItem.filename withExtension:self.selectedItem.extension];
            AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:movieURL options:nil];
    		
    	//Create an AVPlayerItem with a pointer to the Asset to play
            AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:movieAsset];
            player = [AVPlayer playerWithPlayerItem:playerItem];
    		
    	//Create a player layer to direct the video content
            AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
            playerLayer.frame = self.view.layer.bounds;
    		
    	//Attach layer into layer hierarchy 
            [self.view.layer addSublayer:playerLayer];
    		
    	//Play the audio/video content
            [player play];
            
            mDuration = CMTimeGetSeconds(movieAsset.duration);   
        }
    															    
    																    //
    @implementation DLBAVAudioPlayer
    
    -(id) initWithAudio:(NSString *)path{
        
        if (!path) {
            NSLog(@"*** Error *** DLBAVAudioPlayer init path is nil\n");
            return nil;
        }
        
        mError = 0;
        
        audioplayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];
        [audioplayer play];
        
        mStarted = YES;
        mEnd = NO;
        
        return self;    
    }
    															    
    																    //
    -(id)createDLBAUGraph
    {
        //Create AUGraph
        if (noErr != checkError(NewAUGraph(&mGraph), "NewAUGraph failed") )
            return nil;
        
        //Create description for output
        AudioComponentDescription outputDesc = {0};
        outputDesc.componentType = kAudioUnitType_Output;
        outputDesc.componentSubType = kAudioUnitSubType_RemoteIO;
        outputDesc.componentManufacturer = kAudioUnitManufacturer_Apple;
        
        //Create description for file player
        AudioComponentDescription playerDesc = {0};
        playerDesc.componentType = kAudioUnitType_Generator;
        playerDesc.componentSubType = kAudioUnitSubType_AudioFilePlayer;
        playerDesc.componentManufacturer = kAudioUnitManufacturer_Apple;
        
        //Add output node
        if (noErr != checkError(AUGraphAddNode(mGraph, &outputDesc, &mOutputNode), "AUGraphAddNode failed, adding output node"))
            return nil;
        
        //Add player node
        if (noErr != checkError(AUGraphAddNode(mGraph, &playerDesc, &mPlayerNode), "AUGraphAddNode failde, add player node"))
            return nil;
        
        //Open the graph
        if (noErr != checkError(AUGraphOpen(mGraph), "AUGraphOpen failde"))
            return nil;
    															    
    																    //
    #import "DLBAVAudioEngine.h"
    
    AVAudioEngine *audioengine;
    AVAudioPlayerNode *audioplayernode;
    
    @implementation DLBAVAudioEngine
    
    //start playback with URL that points to a Dolby Digital Plus encoded file
    -(id) initWithAudio:(NSString *)path{
        
        if (!path) {
            NSLog(@"*** Error *** DLBAVAudioEngine init path is nil\n");
            return nil;
            
        }
        
        dispatch_queue_t stateChangeQueue = dispatch_queue_create("DLBAVAudioEngine.stateChangeQueue", DISPATCH_QUEUE_SERIAL);
        
        audioengine = [[AVAudioEngine alloc] init];
        
        audioplayernode = [[AVAudioPlayerNode alloc] init];
        
        [audioengine attachNode:audioplayernode];
        
        NSURL* url = [NSURL fileURLWithPath:path];
        
        NSError* file_error = nil;
        AVAudioFile* file = [[AVAudioFile alloc] initForReading:url error: &file_error];
        
        //build up audioengine pipeline
        [audioengine connect:audioplayernode to:audioengine.mainMixerNode format:file.processingFormat];
        
        NSError* audioSession_error = nil;
        //register an callback funtion for reporting error message
        [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&audioSession_error];
        
        dispatch_sync(stateChangeQueue, ^{
            //active audiosession
            [[AVAudioSession sharedInstance] setActive:YES error:nil];
            NSError *error = nil;
            BOOL success = [audioengine startAndReturnError:&error];
            NSAssert(success, @"%@", [error localizedDescription]);
            
            @try {
                //set file for audio source node and register a callback funtion for reaching the end of play
                [audioplayernode scheduleFile:file atTime:nil completionHandler:nil];
            } @catch (NSException *exception) {
                NSLog(@"*** Error *** DLBAVAudioEngine catch exception: %@%@\n", [exception name], [exception reason]);
                return;
            } @finally {
                //return;
            }
            
            [audioplayernode play];
        });
        
        return self;
        
    }
    
    //stop playback
    -(void)stopPlayback{
        
        NSLog(@"DLBAVAudioEngine dealloced!");
        
        [audioplayernode stop];
        [audioengine stop];
        
        [[AVAudioSession sharedInstance] setActive:NO error:nil];
    }
    
    @end
    															    

    Specs

    Platform Dolby Digital(ac3) Dolby Digital Plus (ec3)
    iPhone 7 Series
    iPhone 6 Series
    iPhone SE
    iPhone 5s and newer
    iPhone 5c and older
    iPad Pro Series
    iPad Air Series
    iPad mini 2/3/4
    Original iPad Series
    iPod touch 6th Gen

    Sample Project

    iOS Sample Code

    iOS_Sample_Code N/A mb
    View on Github

    tvOS

    With the 4th Generation Apple TV, Apple has added support for Dolby Audio and made the Dolby Digital Plus format accessible to tvOS Developers. As a tvOS App Developer you can now include the Dolby Digital Plus format into your tvOS Applications. Want to deliver a consistent playback experience to your customers? Encode your content in Dolby Digital Plus and include it into your application today!

    Click here to learn more about Dolby Audio

    Code Snippet

    																    // Sample code using the AVPlayer Class
    //
    //
    (void)viewDidLoad {
        [super viewDidLoad];
        
        [self.mShownImage setImage:getImage()];
        [self.mProgressStatusLabel setText:@"0.00:0.00"];
        [self.mShowName setText:self.selectedItem.filename];
        mCurSeconds = 0.0;
        mDuration = 0.0;
        
        if ([self.selectedItem.module isEqual: @"AVPlayer"]){
    	
    	//Creates an instance of AVAsset URL that points the Dolby Digital Plus (E-AC3) encoded file
            NSURL *movieURL = [[NSBundle mainBundle] URLForResource:self.selectedItem.filename withExtension:self.selectedItem.extension];
            AVAsset *movieAsset = [AVURLAsset URLAssetWithURL:movieURL options:nil];
    		
    	//Create an AVPlayerItem with a pointer to the Asset to play
            AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:movieAsset];
            player = [AVPlayer playerWithPlayerItem:playerItem];
    		
    	//Create a player layer to direct the video content
            AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
            playerLayer.frame = self.view.layer.bounds;
    		
    	//Attach layer into layer hierarchy 
            [self.view.layer addSublayer:playerLayer];
    		
    	//Play the audio/video content
            [player play];
            
            mDuration = CMTimeGetSeconds(movieAsset.duration);   
        }
    															    
    																    //
    @implementation DLBAVAudioPlayer
    
    -(id) initWithAudio:(NSString *)path{
        
        if (!path) {
            NSLog(@"*** Error *** DLBAVAudioPlayer init path is nil\n");
            return nil;
        }
        
        mError = 0;
        
        audioplayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];
        [audioplayer play];
        
        mStarted = YES;
        mEnd = NO;
        
        return self;    
    }
    															    
    																    //
    -(id)createDLBAUGraph
    {
        //Create AUGraph
        if (noErr != checkError(NewAUGraph(&mGraph), "NewAUGraph failed") )
            return nil;
        
        //Create description for output
        AudioComponentDescription outputDesc = {0};
        outputDesc.componentType = kAudioUnitType_Output;
        outputDesc.componentSubType = kAudioUnitSubType_RemoteIO;
        outputDesc.componentManufacturer = kAudioUnitManufacturer_Apple;
        
        //Create description for file player
        AudioComponentDescription playerDesc = {0};
        playerDesc.componentType = kAudioUnitType_Generator;
        playerDesc.componentSubType = kAudioUnitSubType_AudioFilePlayer;
        playerDesc.componentManufacturer = kAudioUnitManufacturer_Apple;
        
        //Add output node
        if (noErr != checkError(AUGraphAddNode(mGraph, &outputDesc, &mOutputNode), "AUGraphAddNode failed, adding output node"))
            return nil;
        
        //Add player node
        if (noErr != checkError(AUGraphAddNode(mGraph, &playerDesc, &mPlayerNode), "AUGraphAddNode failde, add player node"))
            return nil;
        
        //Open the graph
        if (noErr != checkError(AUGraphOpen(mGraph), "AUGraphOpen failde"))
            return nil;
    															    
    																    //
    #import "DLBAVAudioEngine.h"
    
    AVAudioEngine *audioengine;
    AVAudioPlayerNode *audioplayernode;
    
    @implementation DLBAVAudioEngine
    
    //start playback with URL that points to a Dolby Digital Plus encoded file
    -(id) initWithAudio:(NSString *)path{
        
        if (!path) {
            NSLog(@"*** Error *** DLBAVAudioEngine init path is nil\n");
            return nil;
            
        }
        
        dispatch_queue_t stateChangeQueue = dispatch_queue_create("DLBAVAudioEngine.stateChangeQueue", DISPATCH_QUEUE_SERIAL);
        
        audioengine = [[AVAudioEngine alloc] init];
        
        audioplayernode = [[AVAudioPlayerNode alloc] init];
        
        [audioengine attachNode:audioplayernode];
        
        NSURL* url = [NSURL fileURLWithPath:path];
        
        NSError* file_error = nil;
        AVAudioFile* file = [[AVAudioFile alloc] initForReading:url error: &file_error];
        
        //build up audioengine pipeline
        [audioengine connect:audioplayernode to:audioengine.mainMixerNode format:file.processingFormat];
        
        NSError* audioSession_error = nil;
        //register an callback funtion for reporting error message
        [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&audioSession_error];
        
        dispatch_sync(stateChangeQueue, ^{
            //active audiosession
            [[AVAudioSession sharedInstance] setActive:YES error:nil];
            NSError *error = nil;
            BOOL success = [audioengine startAndReturnError:&error];
            NSAssert(success, @"%@", [error localizedDescription]);
            
            @try {
                //set file for audio source node and register a callback funtion for reaching the end of play
                [audioplayernode scheduleFile:file atTime:nil completionHandler:nil];
            } @catch (NSException *exception) {
                NSLog(@"*** Error *** DLBAVAudioEngine catch exception: %@%@\n", [exception name], [exception reason]);
                return;
            } @finally {
                //return;
            }
            
            [audioplayernode play];
        });
        
        return self;
        
    }
    
    //stop playback
    -(void)stopPlayback{
        
        NSLog(@"DLBAVAudioEngine dealloced!");
        
        [audioplayernode stop];
        [audioengine stop];
        
        [[AVAudioSession sharedInstance] setActive:NO error:nil];
    }
    
    @end
    															    

    Specs

    Platform Dolby Digital(ac3) Dolby Digital Plus (ec3)
    Apple TV - 4th Gen
    Apple TV - 3rd Gen *
    Apple TV - 2nd Gen *
    * Dolby Digital Passthrough Only

    Sample Project

    tvOS Sample Code

    iOS_Sample_Code N/A mb
    View on Github

    OS X El Capitan

    In OS X El Capitan, Apple has added support for Dolby Audio and made the Dolby Digital Plus format accessible to Apple Developers on OS X. Using the Dolby Digital Plus format will ensure a consistent playback experience on all devices. This is a great way to differentiate and enhance the audio experience for your customers. So, what are you waiting for? Encode your content in Dolby Digital Plus and include it into your application today!

    Click here to learn more about Dolby Audio

    Code Snippet

    																    //
    // Coming Soon. While we're putting something together for you, visit 
    // https://developer.apple.com/library/mac/samplecode/AVSimplePlayerOSX/Introduction/Intro.html
    															    

    Specs

    Platform Dolby Digital(ac3) Dolby Digital Plus (ec3)
    OS X El Capitan
    OS X Yosemite *
    OS X Mavericks *
    * Dolby Digital Passthrough Only

    Sample Project

    AVSimplePlayer Sample Project from Apple's Developer Site

    Intro.html 0.24 mb
    Visit Apple Developer

    Dolby Atmos for VR (Beta)

    At Dolby, we believe that virtual reality holds the promise to transform every segment of the home entertainment market. We're committed to help make this happen through providing VR content creators and distributors with the tools and technologies needed to enable amazing VR experiences.

    Our Partners

    Jaunt is pioneering the future of creative storytelling through cinematic virtual reality. Founded in 2013, Jaunt is the leading developer of the hardware, software, tools, and applications to enable cinematic VR and put the power of virtual reality in the hands of today's best content creators.

    Beta Program

    Want to create VR content in Dolby Atmos? Let's get started.

    Access to the Dolby Atmos for VR Beta Program is by invitation only. Check back here regularly as we may expand our Beta Program in the future

    Login to access the Dolby Atmos for VR Knowledge base and Forums

    Dolby Atmos

    What is Dolby Atmos?

    Dolby Atmos® puts you inside gaming action with powerful, moving audio that sweeps all around you with amazing precision and realism. It gives you a competitive edge with sound that heightens your sense of awareness, and it immerses you in an intensified gaming experience.

    • Brings the game alive with stunning detail, precision and realism.
    • No longer confined, sound can now come from any direction — including overhead — filling your environment with astonishing richness and depth to completely immerse you in the scene.
    • Locates and move sounds precisely to give you a competitive edge.
    • The individual sounds of each teammate, opponent, danger, and opportunity sweep around you in three-dimensional space, freeing you to hear what you cannot see.
    • Intensifies the tension, fear and excitement with powerful, moving audio.
    • The clarity, realism, and power of sound heightens your senses and amplifies your engagement with the game that is unfolding around you.

    Dolby Atmos is not available for console games at this time. Please check back for updates. If you are interested in developing a PC title with Atmos, please contact us.

    Our Partners

    Blizzard Entertainment® is a premier developer and publisher of entertainment software. After establishing the Blizzard Entertainment label in 1994, the company quickly became one of the most popular and well-respected makers of computer games. By focusing on creating well-designed, highly enjoyable entertainment experiences, Blizzard Entertainment has maintained an unparalleled reputation for quality since its inception.

    It only makes sense that a game with such high-quality audio design serves as the first ever game delivered with Dolby Atmos. Experience Star Wars Battlefront in Dolby Atmos on PC and get the ultimate, authentic interactive experience you've been looking for.

    Contact Us

    For more information about Dolby Atmos for Games please contact Dolby Developer.

    Contact Us

    Dolby Vision

    Dolby Vision™ is a transformative technology for imaging that delivers a dramatic visual experience — astonishing brightness, incomparable contrast, and captivating color- that brings games to life. It achieves this stunning image quality by leveraging breakthrough HDR and wide color gamut imaging technologies, both on-screen and in specially mastered content. As a result Dolby Vision enabled devices deliver images with much greater brightness, and provide much deeper, more nuanced and detailed darks, while rendering a fuller palette of rich new colors never before seen on screen.

    Dolby Vision is not available for PC or console games at this time.  If you are interested in Dolby Vision for your game project, please contact us.

    Contact Us

    For more information about Dolby Vision for Games please contact Dolby Developer.

    Contact Us

    JPEG-HDR

    new-tech-lander.png

    JPEG-HDR produces true high-dynamic-range images in a JPEG-compatible still-photo format for smartphones and other cameras.

    JPEG-HDR dyanamic range matches or exceeds the dynamic range achieved through processing RAW files from high-end digital cameras, without huge RAW file sizes and the high effort and steep learnign curves of postprocessing software.

    It has additional practical advantages over RAW:

    • JPEG-HDR produces true high-dynamic-range images in a JPEG-compatible still-photo format for smartphones and other cameras.
    • JPEG-HDR dyanamic range matches or exceeds the dynamic range achieved through processing RAW files from high-end digital cameras, without huge RAW file sizes and the high effort and steep learnign curves of postprocessing software. It has additioanl practical advantages over RAW.

    Contact Us

    For more information and access to the source code, please contact Dolby Developer.

    Contact Us