[FFmpeg-devel] [PATCH] Arithmetic decoding in ALS
Thu Jan 14 15:20:04 CET 2010
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
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?
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the ffmpeg-devel