[FFmpeg-devel] [PATCH] Arithmetic decoding in ALS

Thilo Borgmann thilo.borgmann
Mon Jan 18 15:53:23 CET 2010


Am 14.01.10 15:20, schrieb Thilo Borgmann:
> Am 13.01.10 00:00, schrieb Michael Niedermayer:
>> On Tue, Jan 12, 2010 at 08:50:27PM +0100, Thilo Borgmann wrote:
>>> Am 12.01.10 00:33, schrieb Michael Niedermayer:
>>>> On Mon, Jan 11, 2010 at 09:15:05PM +0100, Thilo Borgmann wrote:
>>>>> ...
>>>>
>>>>> +    while (cf_table[sx][(symbol + 1) << delta] > target)
>>>>> +        symbol++;
>>>>
>>>> this probably can be speed up by a LUT of some of the MSBs
>>>
>>> ...
> 
> Ok here is the approach with lookup (prediction...) tables then.
> 
> Speedup compared to full search i.e. not using any luts is about 12-15%:
> 
> 3580258 dezicycles in complete bgmc decoding using lut, 511 runs, 1 skips
> 4141277 dezicycles in complete bgmc decoding not using lut, 512 runs, 0
> skips
> 
> The size for the luts is tuneable. It might be easily added to use a
> #define to disable the use of luts completely, would this make sense?
> 
> The size of the luts might be further reduced if the shifted symbol
> would be stored and use a smaller type than uint for the luts. Then, the
> stored symbol would have to be shifted back before usage, but this again
> costs many << operations (one for each sample in the file). Useful?

ping



More information about the ffmpeg-devel mailing list