Bounties: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(→‎FLAC support in libfishsound: clean up wording and remove a nonsense addition)
m (split paras in header)
 
(30 intermediate revisions by 21 users not shown)
Line 1: Line 1:
These are proposed bounty projects, similar to http://gnome.org/bounties/  
These are proposed bounty projects, similar to http://gnome.org/bounties/  
or the [http://ghostscript.com/article/58.html Ghostscript bug bounty] program.
or the [http://ghostscript.com/article/58.html Ghostscript bug bounty] program.
We don't have the same level of funding but could start a pot with $10-$100 and
We don't have the same level of funding but could start a pot with $10-$100 and
let people contribute to specific bounties through paypal.
let people contribute to specific bounties through PayPal.


=== Xiph Quicktime Plugin ===
[http://www.xiph.org/quicktime/ QuickTime Components] is now a project hosted on xiph.org.


=== OggVorbis 5.1 ===
5.1 Sound encoding in Ogg Vorbis.
There are two steps here. Simple coupling and lowpass for the .1 channel, and a full set of tuned modes.
They should be separate bounties.
=== Xiph Quicktime Plugin ===
You have to write a Quicktime Plugin for the Ogg container and the Xiph Codec Family.
You have to write a Quicktime Plugin for the Ogg container and the Xiph Codec Family.
[http://qtcomponents.sf.net qtcomponents] provides support for Ogg Vorbis and MNG. This could be used as start.
[http://qtcomponents.sf.net qtcomponents] provides support for Ogg Vorbis and MNG. This could be used as start.
Xiph Quicktime Plugin has to support endocding/decoding for:
Xiph Quicktime Plugin has to support encoding/decoding for:
* Ogg Media container  
* Ogg Media container
**[http://qtcomponents.sf.net qtcomponents] ''has an operational pluggable API for import, it needs some work to be long term supportable.  It does not have a pluggable API for exporting at this time.''
* Support for Chained Ogg Streams
* Support for Chained Ogg Streams
**[http://qtcomponents.sf.net qtcomponents] ''imports chained files as multiple tracks in QuickTime.  It does not create chained files during export.''
* Support for Icecast Streams (sending is optional)
* Support for Icecast Streams (sending is optional)
**[http://qtcomponents.sf.net qtcomponents] ''implements nothing towards this item.  First up is a reverse-engineering effort, as the specifications for a streaming media handler have not been published.''
* Support for Xiph Codec Family: Vorbis, Theora, FLAC, Speex, Writ
* Support for Xiph Codec Family: Vorbis, Theora, FLAC, Speex, Writ
**[http://qtcomponents.sf.net qtcomponents] ''has code for Vorbis and Speex (not working at the moment) and there is code at [http://damien.drix.free.fr/qtflac/ Damien Drix's site] for FLAC (decode only).''
It must also be possible to use the Xiph codecs in .mov files in combination with other quicktime codecs.
*[http://qtcomponents.sf.net qtcomponents] ''supports embedding media encoded with Xiph codes into .mov files.''
The plugin should work with at least QuickTime 6.x and 7.x on Mac OS X and Windows. (Mac OS 9 would be nice but probably isn't as important.)
All work must be released under the GPL.
Proposed bounty: 100€


=== Aggressive low-bitrate libvorbis encoding improvements for Vorbis I ===
=== Aggressive low-bitrate libvorbis encoding improvements for Vorbis I ===
<p>libvorbis has a lot of room for improvement in all quality/bitrate departments, particularly at the lower quality levels / bitrates.  There are many directions to approach this problem from.</p>
libvorbis has a lot of room for improvement in all quality/bitrate departments, particularly at the lower quality levels / bitrates.  There are many directions from which to approach this problem.
 
To claim this bounty, the following criteria would have to be met:
To claim this bounty, the following criteria would have to be met:
* A 25%-or-better reduction in bitrate for quality levels -1, 0, 1 on a reasonable testsuite while maintaining qualitative equivilence (or improvement) in community testing.
* A 25%-or-better reduction in bitrate for quality levels -1, 0, 1 on a reasonable testsuite while maintaining qualitative equivilence (or improvement) in community testing.
Line 28: Line 36:
* Changes under suitable license for re-integration with Xiph.Org libvorbis
* Changes under suitable license for re-integration with Xiph.Org libvorbis


 
Proposed bounty: 200€


=== iPod playback support ===
=== iPod playback support ===
Line 34: Line 42:
for useful playback.
for useful playback.


=== FLAC support in libfishsound ===
Proposed bounty: 100€
[http://annodex.net/software/libfishsound/ libfishsound] currently only supports Ogg Vorbis and Ogg Speex. It should be extended to support FLAC to complete the set of Xiph audio codecs.


=== Ogg Vorbis Bitrate Peeling ===
=== Ogg Vorbis Bitrate Peeling ===
:Note: a bounty for this project has been posted on [https://launchpad.net/ launchpad.net]: [https://launchpad.net/bounties/ogg-vorbis-bitrate-peeling  Add bitrate peeling to the standard libvorbis encoding library].
<p>Ogg Vorbis bitrate peeling has been a topic brought up time and again to combat MP3 enthusiasts. But this feature does not actually exist, only the mere possibility abounds. This bounty is set to change that.</p>
<p>Ogg Vorbis bitrate peeling has been a topic brought up time and again to combat MP3 enthusiasts. But this feature does not actually exist, only the mere possibility abounds. This bounty is set to change that.</p>
The peeler must meet the following criteria:
The peeler must meet the following criteria:
* Any (optionally transcoded) Vorbis stream can be losslessly re-encoded to a lower quality setting
* Any Vorbis stream can be converted (not transcoded) to a lower quality setting
* Resulting streams would be identical or nearly identical to a stream generated by encoding the original source to the selected quality
* Resulting streams would be identical or nearly identical to a stream generated by encoding the original source to the selected quality
* This process is reasonably fast (that is, signifigantly faster than re-encoding from source)
* This process is reasonably fast (that is, signifigantly faster than re-encoding from source)
Line 47: Line 55:
* Old Vorbis streams must be <em>peelable</em> already, or convertable with a utility in order to be made <em>peelable</em>
* Old Vorbis streams must be <em>peelable</em> already, or convertable with a utility in order to be made <em>peelable</em>
* If older streams are not natively <em>peelable</em>, old <em>unpeelable</em> Vorbis streams must be identifiable and discernable from <em>peelable</em> streams in such a way as to facilitate transcoding streams from the old format
* If older streams are not natively <em>peelable</em>, old <em>unpeelable</em> Vorbis streams must be identifiable and discernable from <em>peelable</em> streams in such a way as to facilitate transcoding streams from the old format
* All work submitted must be licenced under the GPL or compatible licence (excepting circumstances where other licences conflict) ''[Note: In the GPL-alike case the contribution couldn't be re-integrated with the reference Vorbis encoder/decoder... do we need to stipulate a libvorbis-compatible license like the BSD/X11?]''
* All work submitted must be licenced under a BSD style licence (excepting circumstances where other licences may conflict)
 
Proposed bounty: 100€

Latest revision as of 02:30, 28 November 2017

These are proposed bounty projects, similar to http://gnome.org/bounties/ or the Ghostscript bug bounty program.

We don't have the same level of funding but could start a pot with $10-$100 and let people contribute to specific bounties through PayPal.

Xiph Quicktime Plugin

QuickTime Components is now a project hosted on xiph.org.

You have to write a Quicktime Plugin for the Ogg container and the Xiph Codec Family. qtcomponents provides support for Ogg Vorbis and MNG. This could be used as start. Xiph Quicktime Plugin has to support encoding/decoding for:

  • Ogg Media container
    • qtcomponents has an operational pluggable API for import, it needs some work to be long term supportable. It does not have a pluggable API for exporting at this time.
  • Support for Chained Ogg Streams
    • qtcomponents imports chained files as multiple tracks in QuickTime. It does not create chained files during export.
  • Support for Icecast Streams (sending is optional)
    • qtcomponents implements nothing towards this item. First up is a reverse-engineering effort, as the specifications for a streaming media handler have not been published.
  • Support for Xiph Codec Family: Vorbis, Theora, FLAC, Speex, Writ

It must also be possible to use the Xiph codecs in .mov files in combination with other quicktime codecs.

  • qtcomponents supports embedding media encoded with Xiph codes into .mov files.

The plugin should work with at least QuickTime 6.x and 7.x on Mac OS X and Windows. (Mac OS 9 would be nice but probably isn't as important.)

All work must be released under the GPL.

Proposed bounty: 100€

Aggressive low-bitrate libvorbis encoding improvements for Vorbis I

libvorbis has a lot of room for improvement in all quality/bitrate departments, particularly at the lower quality levels / bitrates. There are many directions from which to approach this problem.

To claim this bounty, the following criteria would have to be met:

  • A 25%-or-better reduction in bitrate for quality levels -1, 0, 1 on a reasonable testsuite while maintaining qualitative equivilence (or improvement) in community testing.
  • No overall qualitative/bitrate regressions in quality levels 2 upwards
  • Output ogg files compatible with Vorbis I spec
  • Changes under suitable license for re-integration with Xiph.Org libvorbis

Proposed bounty: 200€

iPod playback support

The Linux on iPod project has vorbis decode working (with alternate firmware) at a good fraction of realtime. It should be a small matter of optimization to get it working for useful playback.

Proposed bounty: 100€

Ogg Vorbis Bitrate Peeling

Note: a bounty for this project has been posted on launchpad.net: Add bitrate peeling to the standard libvorbis encoding library.

Ogg Vorbis bitrate peeling has been a topic brought up time and again to combat MP3 enthusiasts. But this feature does not actually exist, only the mere possibility abounds. This bounty is set to change that.

The peeler must meet the following criteria:

  • Any Vorbis stream can be converted (not transcoded) to a lower quality setting
  • Resulting streams would be identical or nearly identical to a stream generated by encoding the original source to the selected quality
  • This process is reasonably fast (that is, signifigantly faster than re-encoding from source)

The following must also be accomplished to claim this bounty:

  • The encoding libraries must be updated to create peelable Vorbis streams natively
  • Old Vorbis streams must be peelable already, or convertable with a utility in order to be made peelable
  • If older streams are not natively peelable, old unpeelable Vorbis streams must be identifiable and discernable from peelable streams in such a way as to facilitate transcoding streams from the old format
  • All work submitted must be licenced under a BSD style licence (excepting circumstances where other licences may conflict)

Proposed bounty: 100€