[FFmpeg-soc] SOC Qualifiction tasks

Bartlomiej Wolowiec bartek.wolowiec at gmail.com
Sat Mar 15 20:30:40 CET 2008


On sobota, 15 marca 2008, Justin Ruggles wrote:
> I agree that this would be a good task, and also that it won't be as
> easy as the others.  The qualification task is so that we have some
> example of your coding abilities and dedication to the task.  Having
> another sample of your code won't really help us.  We already have that.
>
> :)  I would like to see your dedication to last year's task by helping
>
> to get it ready-for and into FFmpeg SVN.
>
> I have just been very busy lately with other stuff.  If I can get help
> with getting these things done, and then a final patch made which makes
> it into SVN, that would go a long way.  I do want to be clear that this
> would not guarantee a spot, but it would qualify you to be considered on
> the merits of your proposal and all of the other factors we use to
> decide which projects get chosen.
>
> Here is my current plan of action regarding AC3 and E-AC3, which is
> subject to change if needed.
>
> 1. Get the fast, simple AC3 downmixing working based on Rich's
> suggestion of doing the short-block downmixing after the IMDCT but
> before the overlap/add/window.  I want to do this first because it will
> likely change the structure of the decoder a bit, which will be easier
> before E-AC3 is integrated.  Right now I'm getting artifacts.  My plan
> is to analyze a single frame, in depth, to find out where the problem lies.
>
> 2. Right now AC3 is suffering from a major stability problem. There are
> many coded values which affect how many bits are read, and the bitstream
> reader does not have any built-in protection from reading past the input
> buffer.  So malformed or damaged streams can (and do) cause memory
> access problems (detected by valgrind) and/or segfaults.  I have several
> ideas for solutions to this, but I need time to test each one to see
> which is the fastest.
>
> 3. Go through the list of invalid bitstream conditions in the specs and
> add as many of those checks as possible.  Some may not be needed if they
>  significantly decrease decoding speed and do not affect stability.  I
> have already started on this...it just needs to be tested and applied.
>
> 4. Do the same condition checks for E-AC3 as well, but we don't have a
> nicely prepared list to work from.

Ok. Unfortunately, most of the conditions from AC3 hasn't much  in common with 
E-AC3, but I'll try to think of some correctness tests of the stream.

> 5. Update the E-AC3 decoder to include all the changes since last update
> and any subsequent changes.

I should do it before or after those 3 points which I was given?

> 6. There are a couple of samples which seem to be 7.1-channel. It would
> be nice to get this working before SVN inclusion.

I haven't seen 7.1 files. Where can I find them?

> 7. Error conclealment. Simple error concealment is fairly trivial. For
> more robust detection and concealment, Michael made some great
> suggestions for guidelines.  It would require some reworking of the AC3
> parser.

Can you give me some more explanations on this topic, because I think I don't 
understand what do you mean properly

> 8. Prepare a final patch and go through the ffmpeg-devel review process.
>
> So that's about it. :)  If anyone feels I should skip any of these steps
> or change the priority, I am open to suggestions.
>
> That said, I think a good SoC qualification task would be to work on #4
> to #7 while I concentrate on #1 to #3.  Then once that's all ready, do
> #8.  I will, of course, help with all of this and would make sure to
> prioritize this over my other on-going projects.

Ok, so I treat #4 to #7 as a qualification task, I'll try to do them as soon 
as I have some free time:) 

-- 
Bartlomiej Wolowiec



More information about the FFmpeg-soc mailing list