[FFmpeg-devel] Google Summer of Code 2010 Small Task Orientation
Robert Swain
robert.swain
Fri Mar 26 08:29:13 CET 2010
On 26/03/10 04:45, Marcelo Galv?o P?voa wrote:
> Thanks for the reply.
>
> 2010/3/25 Robert Swain<robert.swain at gmail.com>:
>> Hello,
>>
>> On 25/03/10 02:33, Ronald S. Bultje wrote:
>>>
>>> On Mar 24, 2010, at 8:45 PM, Marcelo Galv?o P?voa
>>> <marspeoplester at gmail.com> wrote:
>>>>
>>>> Hello, I'm a student interested in participating in GSoC 2010 and I've
>>>> got interest in AMR-WB decoder project idea. However, I don't have
>>>> experience in codecs implementation and specification, although I'm
>>>> proficient in C language and general programming. I would like to know
>>>> if this project (or maybe one of the other decoders suggested, such as
>>>> WMA lossless or BSAC AAC) is suitable for beginners in this subject,
>>>> despite I'm ready to put whichever effort needed in learning about it. :)
>>
>> CELP-ish codecs like AMR-WB are simpler than WMA or AAC in my opinion so I
>> think it's better to start with such. One question - are you familiar with
>> fixed point maths?
>
> No, I've never worked with it.
OK, then I think we'll go the floating point route like a number of
other Code-Excited Linear Prediction codecs we have implemented (QCELP,
AMR-NB).
>>>> If so, I would appreciate an adequate Small Task suggestion for this
>>>> project. I've considered the "RealAudio 14.4 encoder", it is suitable?
>>>
>>> Robert is the projected mentor, you should discuss with him what
>>> qualification task would be suitable for this SoC project. Maybe an
>>> amrwb frame parser makes sense as qualification task?
>>
>> Yes, that's a good suggestion and would at least make some progress towards
>> the project as well as getting you, Marcelo, used to the way we work, the
>> specs and so on. You can catch me on IRC in #ffmpeg-devel on
>> irc.freenode.net. My nick is superdump.
>
> I've searched online a bit and couldn't find a
> specification/description of the codec internals, I guess it is
> because of patents. I don't know exactly what a "frame parser" is, so
> I am clueless about how to start it. However, I'm interested in giving
> it a try if you could point a way to help me develop the task.
The specs are all on 3gpp.org. You will need to register with them but
an account is free. All the codec specs are here:
http://www.3gpp.org/ftp/Specs/html-info/26-series.htm
The AMR-WB specs of interest are:
General Description
http://www.3gpp.org/ftp/Specs/html-info/26171.htm
Transcoding functions:
http://www.3gpp.org/ftp/Specs/html-info/26190.htm
Frame structure:
http://www.3gpp.org/ftp/Specs/html-info/26201.htm
The last is of most interest for writing a frame parser.
Pretty much all codecs, audio and video alike, compress data in some
kind of frame - that is, some data which represents the output at some
point in the stream for some duration.
A frame parser for AMR-WB would have you write the basic skeleton for
implementing a codec in libavcodec for FFmpeg and would have you read
frames of data from the input, parsing it as specified in the provided
documents into variables in some data structure in your code. You could
even borrow ideas from the existing AMR-NB floating point decoder for this.
This may be a little outdated, but here's some documentation for how to
write a skeleton for an AVCodec:
http://wiki.multimedia.cx/index.php?title=FFmpeg_codec_howto
I'm normally on IRC between 0900 and 1700 CET in #ffmpeg-devel on
irc.freenode.net as mentioned before. But if I'm not around, feel free
to e-mail me privately.
Best regards,
Rob
More information about the ffmpeg-devel
mailing list