[theora] More information on GSoC project

saulgoode at flashingtwelve.brickfilms.com saulgoode at flashingtwelve.brickfilms.com
Tue Apr 1 07:47:41 PDT 2008


I can not speak for the Xiph.org or Theora projects nor can I respond  
directly to GSoC issues, but I might be able to add a little  
background to this discussion. Late last year I started to write code  
for adding Theora encoding capabilities to the GIMP Animation Package  
(GAP) but had to place that effort on hold in order to help with  
updating the GAP to function properly with the newly-released version  
2.4 of GIMP.

The GAP primarily uses libraries from the FFMPEG project for its video  
encoding (it also provides an interface to AVILIB for creating  
uncompressed AVI files). Since FFMPEG developers seem reluctant to  
include support for Theora encoding, it would be best if the GAP  
employed its own implementation of libtheora encoding (even if FFMPEG  
included Theora support, it should still be beneficial to provide a  
dedicated encoder).

Fortunately, the modular approach to encoding taken by the GAP's code  
makes it rather straightforward to provide additional encoding  
schemes. The maintainer of the GAP codebase (Wolfgang Hofer) is  
amenable to such additions. He did express some concern about how  
audio is to be handled but it is my opinion that it can be done within  
his current framework to an acceptable degree. Currently, GAP audio is  
limited to raw, 16-bit stereo in WAV files, and playback only  
supported on *NIX platforms -- this should probably need expanding to  
include VORBIS & SPEEX and to support playback on the Windows platform  
(perhaps using SDL_Mixer as a cross-platform foundation).

Though I am, again, unqualified to speak for either the Theora or GIMP  
projects in any official capacity, let me attempt to address the  
questions posed in the original message.

> 1. Why GIMP need encoding support?

The GIMP Animation Package is proving to be rather popular amongst  
animated GIF makers and, though this is not really the main target of  
GIMP development, would seem to be one of the best free/Free tools  
available for this. The interests of these users is to create  
animations, and they are "encoding" to the GIF format solely because  
that is the only popular way to share their creations. This despite  
GIFs' lack of sound, terrible image quality, and disastrous filesizes  
(for anything substantial).

Providing the alternative of producing animations (or even processed  
"real" video) and publishing full sound, high quality video on the Web  
directly from the GIMP would, in my opinion, help promote the adoption  
of the HTML5 <video> element (especially with OGG/Theora as the  
container/encoding). Given GIMP's powerful scripting capabilities, it  
would be almost trivial to produce a plug-in which mimics the  
functionality of ccPublisher and uploads the video to a suitable host  
(e.g., archive.org), all from within GIMP.

In short, OGG support within GIMP will help to bring video to the Web  
in a format that all can produce freely and enjoy without restrictions.

> 2.If you have any guidance in integrating encoding support for GIMP

The place to start is by duplicating the 'gap/vid_enc_avi' directory  
'gap/vid_enc_ogg' and then editing those files to perform OGG encoding  
as opposed to uncompressed AVI (you would also need to add some  
definitions to 'gap/vid_common' and a couple of header files). You  
would also need to create a new interface template for the dialog with  
which the user sets his desired encoding parameters.

Audio might be a bit more involved, as the GAP's functionality dates  
back several years and uses now-defunct tools. GAP's audio needs to be  
brought up to date but the basic structure is provided.

> 3.If you have any defined format for the proposal

Someone with experience with GSoC applications and mentoring will need  
to answer this. I am not really qualified to be an official Mentor to  
this project, but I am quite willing to assist as much as possible  
(and I intend to pursue this on my own regardless).

Quoting Nuwan Millawitiya <millawitiya at gmail.com>:

> hello everybody,
> I would like to participate in GSoC 2008 program under xiph.org. I went
> through the open project list[1] and found the project " Theora encoding
> support in GIMP" proposal interesting. I'd really grateful to you if you can
> give me more information on this, including
> 1. Why GIMP need encoding support?
> 2.If you have any guidance in integrating encoding support for GIMP
> 3.If you have any defined format for the proposal
> [1] - http://wiki.xiph.org/index.php/Summer_of_Code

More information about the theora mailing list