|
|
Log in / Subscribe / Register

The Schrödinger Project

The Schrödinger Project, named after Austrian physicist Erwin Schrödinger, is a joint effort between Fluendo and BBC Research & Development with the aim of developing a set of ANSI C libraries that implement the encoding and decoding functions of the Dirac video codec project. "Dirac is a video codec that provides general-purpose video compression and decompression tools comparable with state-of-the-art systems. Dirac is available for distribution under the MPL version 1.1 software license."

[Schrödinger] The Dirac introduction outlines that project's early history: "In January 2003, BBC R&D produced a prototype video coding algorithm, based on wavelet technology, which is different from that used in the main proprietary or standard video compression systems. Our algorithm seems to give a two-fold reduction in bit rate over MPEG-2 for high definition video (e.g. 1920x1080 pixels), its original target application. It has been further developed to optimise it for internet streaming resolutions and seems broadly competitive with state of the art video codecs. At the moment the codec, called Dirac, is in the early stages of development. It has been developed as a research tool, not a product, as a basis for further developments. An experimental version of the code, written in C++, was released under an Open Source licence agreement on 11th March 2004."

The Schrödinger Project is the next step forward. The Dirac codec is a C++ project, while the Schrödinger libraries will be written in ANSI C. The Schrödinger Project's initial announcement states: "The goal of this new implementation is to focus on speed and maintainability."

The announcement mentions the planned support for Ogg containers:

As part of this project we will also make sure the Dirac video codec can be contained in the Ogg container format and work with Xiph.org to ensure that this mapping is acceptable to the Xiph community. The code is not yet in a working state, but interested people are suggested to join the mailing list or check out development as it proceeds in our Subversion repository.

A more formal announcement is forthcoming. This looks like fertile ground for the development of some interesting new video applications. New developers are welcome to join the project.


to post comments

The Schrödinger Project

Posted Jan 5, 2006 10:14 UTC (Thu) by nurhussein (guest, #16226) [Link] (1 responses)

So at any particular time, you can either see the project roadmap, or do a CVS checkout of the latest source code, but not both at the same time?

The Schrödinger Project

Posted Jan 5, 2006 13:17 UTC (Thu) by hppnq (guest, #14462) [Link]

You have to think out of the box. ;-)

The Schrödinger Project

Posted Jan 5, 2006 18:34 UTC (Thu) by gregj (guest, #16266) [Link] (4 responses)

WHAT A STUPPIDITY !
WHAT A WASTE OF RESOURCES!

I would understand rewriting python or perl or .net or java
implementation in C, for performance reason. But doing C++->C
reimplementation is plain stupidity!
It would make some sens to write plain C interface/API for C++ backend.
For those dumb ones who are unable to use C++ in C software directly, and
for comfort of those who can, but can't use it in their projects.

The Schrödinger Project

Posted Jan 5, 2006 22:09 UTC (Thu) by Uraeus (guest, #33755) [Link] (3 responses)

The re-implementation wasn't done for language reasons. It was decided that
a re-implementation was needed as a second implementation of the spec was wanted for standarization purposes, and due to the old code having grown into a state where it was not very easy to work with. So when the decision was made that a from scratch implementation was to be done, then we decided to do in it C instead of C++. This choice was done due to developer familiarity and C still having many good qualities in regards to code which needs good performance and portability. So the next time you want to scream about the stupidity of something remember that the wise man stays silent where the stupid one cries out :)

Christian

The Schrödinger Project

Posted Jan 8, 2006 22:54 UTC (Sun) by rjw (guest, #10415) [Link] (2 responses)

good qualities in regards to code which needs good performance and portability

I'd love to know what you think those are (and no, linking to libstdc++ is not a requirement of using c++). I think you would have been better off sticking to the developer familiarity argument.

The Schrödinger Project

Posted Jan 12, 2006 9:27 UTC (Thu) by stuart (subscriber, #623) [Link] (1 responses)

I think the author was merely saying C has good performance and portability qualities. He/she was not bashing C++ as such.

Also, certainly in Debian, GNU C++ has had 2 major ABI transitions in the last year. At least the C ABI has been stable for a few years now.

Stu.

The Schrödinger Project

Posted Jan 17, 2006 23:02 UTC (Tue) by gdamjan (subscriber, #33634) [Link]

> GNU C++ has had 2 major ABI transitions in the last year.

I keep reading about this... can you specify which ABI transitions are these?
Wasn't the C++ ABI frozen in GCC 3.x?


Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds