How to help

From XiphWiki
Jump to navigation Jump to search

This page is intended to collect ideas and areas where new participants can contribute to initiatives.

Because this is an open wiki not all of these points have been reviewed with core Xiph developers.
It is always best to coordinate your efforts on the relevant Xiph mailing lists and IRC channels.

One of the best ways people can contribute is by using the tools and formats.

This accomplishes two primary goals:

  1. By providing materials in free formats you help lower the barriers to adoption for others
  2. By using the tools you will discover problems which you can report contributing to further development and refinement

Most of our organizational discussion happens over IRC on the network.
See project-specific channels below, or join #xiph on for general information.

Software Outreach software often reaches users via other software.

E.g. Few people run libtheora by itself, many people use libtheora through other tools like VLC, Firefox, or gstreamer.
These tools are maintained by other projects but the reliability and robustness of the free format support in these applications is critical to the public's ability to use formats.

Relevant contribution areas:

  1. Testing, e.g. TheoraTestsuite and reporting bugs into the relevant bug trackers
  2. Cross porting features
  3. Updating tools to support the latest features in the implementations (e.g. two-pass encoding for video tools)

Theora specific activities

Places to discuss development:

  • Theora mailing list
  • #theora on

  • Identifying videos where 1.1 or 1.2-development (ptalarbvorm) produce significantly worse results than prior versions. (These case is important compared to "works worse than some random format" because the differences are more likely to be actionable rather than just chance consequences related to differences in the encoders overall behaviour)
  • Decoder assembly optimization for additional platforms (MIPS64; PPC)
    • Skills required: optimization and development experience on the relevant platform.
  • Decoder general performance improvements
    • Skills required: C language; Use of a profiler. Optionally: SIMD assembly on relevant platforms.

Vorbis specific activities

Places to discuss development: Vorbis mailing list; #vorbis on

  • Identifying test samples where Vorbis encodings at very high quality are not completely transparent under careful listening tests.
  • Identifying test cases that exemplify the improvements in the current AoTuV development. (Helps with AoTuV merging)
  • Identifying test samples where Vorbis performs worse than other formats.

Skeleton specific activities

Places to discuss development: Theora mailing list; #theora on

Liboggz specific activities

Places to discuss development: Theora mailing list; #theora on

Cortado specific activities

As of August 2015, Cortado is largely unmaintained. Consider the JavaScript-based ogv.js for new and updated projects; ogv.js has replaced Cortado on Wikipedia and Wikimedia Commons as a fallback in Safari, IE, and Edge browsers that lack native Ogg or WebM support.

Places to discuss development: Theora mailing list; #theora on

Cortado is contains Java implementation of Vorbis/Theora/Kate/Ogg and an applet that allows playback of these formats on the web. It is the most popular fallback for HTML5 Ogg video, allowing users on legacy browsers (as old as Netscape 4) to play modern web video.

Flash port of Theora

There are several workable implementations of Vorbis for the flash virtual machine. An implementation of Theora would allow the creation of a flash applet which plays Ogg video. One possible tool for this would be Adobe Alchemy, a C to Flash compiler which can be used to compile libtheora for flash. Beyond the basic codec porting work there is significant effort required building a player infrastructure around them because the built-in flash video infrastructure are not available for user implemented codecs (unlike silverlight). This initiative is primarily hindered by the surprising lack of overlap between flash developers and people who care about unencumbered formats.

Earlier versions of ogv.js experimented with this -- see Flash and Talk:ogv.js. Note that as of August 2015, most modern browsers can perform Theora decoding adequately in JavaScript without need for Flash.

Additional tools work

  • Build and refine fall-back tools for HTML5 video based on Cortado, Flash Vorbis, and the upcoming Silverlight applet support. Many existing fallback tools require users to adopt H.264, such tools are valuable for media providers who are willing and able to distribute H.264 but they are not useful for ones who are not, and they are not tools that Xiph can really stand behind.

OggDSF specific activities

Directshow is the windows video codec API, OggDSF provides support for Vorbis/Theora/Speex/Flac and Ogg in directshow.

Places to discuss development: Theora mailing list; #theora on

  • Testing. Much of the community are run various unix-like operating systems. While OggDSF is widely used, it isn't frequently used by much of the more experienced community and hasn't has sufficient scrutiny.

PR and organizational matters

  • Participate in external promotional activities such as PlayOgg!
  • Contribute to Wikipedia's video collection
  • Locate media coverage regarding free formats and related areas and share it with the the mailing lists
  • Encourage additional media distributors to support HTML5 with Theora

Internet outreach

  • Encourage places using poor tools (e.g. ffvorbis encoder) to switch to better software.
  • Encourage adoption of Theora video for html5 and theora based fallbacks