[FFmpeg-devel] [PATCH] QCELP decoder

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


Hi,
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
http://samples.mplayerhq.hu/A-codecs/qclp/
given that the decoder does not override the samplerate to mandatory  
8KHz.
The SoC decoder might choke when it encounters some erasure.

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

Concerning the reference implementation, it looks like the postfilter is
implemented:
the postfilter code in qc13_tia_50_ansi733_20040315-025/code/ 
postfilter.c
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 ?

Kenan

[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