Projects at

This site is intended as a central point of reference for all things Dirac related, so you will find a wide range of projects hosted here.

Dirac specification

This document defines the Dirac bytestream, and the steps necessary to decode it. This document is a good reference for understanding the Dirac codec. Links to the specification document is on our specifications page.

Dirac container specifications

To standardise dirac support in real applications, e have defined mappings for various container formats. These include MPEG transport stream, ogg, matroska and quicktime. Links to the various mapping specifications are on our specifications page.

Dirac codec implementations

We currently host two implementations of the Dirac codec at

First, there is the Schroedinger implementation of Dirac. This is a high performance codec written in C, which benefits from optimised signal processing routines from the liboil library. Schroedinger is the preferred implementation to use when integrating Dirac support into real applications. The git repository and binary releases of Schroedinger are hosted here at

You can also find the dirac-research implementation of Dirac here. This is the original, experimental code developed by the BBC as a proof of concept. This code is still maintained as an algorithm testbed, but should not be used to add Dirac support to other applications. Higher performance will be achieved via the Schroedinger library.

Dirac integration projects

Several other projects are focussed on adding Dirac support to major media frameworks. These include Directshow filters and Quicktime components to bring Dirac support to many existing Windows and OSX applications.


We have developed some useful tools during the Dirac research work, and have made the source code and some binary releases available at

  • imageviewer is cross platform still frame viewer for raw YUV video sequences
  • videoplayer is a cross platform real time playback tool for raw YUV video seequences
  • ffmpeg2dirac is a tool to transcode any file that can be decoded by FFmpeg to Dirac muxed with Vorbis audio in Ogg
  • schroedinger-tools is a small collection tools to code YUV files and decode raw dirac bytestreams.
  • dirac_parser is a C/C++ wrapper around the dirac-research and schroedinger code