[FFmpeg-devel] [PATCH] QCELP decoder

Kenan Gillet kenan.gillet
Fri Oct 10 19:03:11 CEST 2008

On Oct 10, 2008, at 12:45 AM, Benjamin Larsson wrote:

> Kenan Gillet wrote:
>> Hi,
>> On Oct 9, 2008, at 3:49 PM, Michael Niedermayer wrote:
>>> On Thu, Oct 09, 2008 at 10:50:15AM +0200, Benjamin Larsson wrote:
>>>> Michael Niedermayer wrote:
>>>>> btw, is there some reference sw or reference bitstreams?
>>>> Yes and no.
>>>> http://www.3gpp2.org/Public_html/specs/Software_Distribution_vA-1.0_for_C.S0020-Av1.0_13k_Specification.zip
>>>> But there is a test specification:
>>>> http://www.3gpp2.org/Public_html/specs/C.S0021-0with3Gcover.pdf
>>>> The specification references some test files but I wasn't able to
>>>> find them.
>>> If we have a reference implementation then we can make some test  
>>> files
>>> or compare any random qcelp file we do have ...
>>> I would strongly prefer these over accepting the patch based on "it
>>> sounds ok"
>>> I think all new codecs should be tested much more nitpickish against
>>> reference decoders before accepting them.
>> I totally agree, and would be glad to work on it.
>> Just let me how we should proceed.
>> Kenan

> I think that by the specs the SoC decoder isn't complete. It is  
> missing
> the post format filter or something like that. IIRC this isn't used in
> the reference source so I would be complete if one where to compare
> against that. And finally there is a patch on the mailinglist that  
> uses
> the reference source for qcelp decoding.

The SoC decoder implements rate 1, rate 1/2, rate 1/4 and part of the
erasure detection. It works with most of the samples from
given that the decoder does not override the samplerate to mandatory  
The SoC decoder might choke when it encounters some erasure.

Now my patch also implements rate 1/8, and handles the erasure of  

Concerning the reference implementation, it looks like the postfilter is
the postfilter code in qc13_tia_50_ansi733_20040315-025/code/ 
is called at
qc13_tia_50_ansi733_20040315-025/code/decode.c line 269 in [1]

you can enable/disable it from the command line.

The patch using the reference code is at [2].
As a plan of action, I propose to work on the inclusion of this patch  
as a first
step, and then continue on working the SoC decoder

what do you think ?


[1] http://www.3gpp2.org/Public_html/specs/Software_Distribution_vA-1.0_for_C.S0020-Av1.0_13k_Specification.zip
[2] http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-December/020223.html

More information about the ffmpeg-devel mailing list