[FFmpeg-devel] [PATCH] HE-AAC v1 decoder try 4

Alex Converse alex.converse
Wed Feb 17 22:16:22 CET 2010


On Wed, Feb 17, 2010 at 1:45 PM, Vitor Sessak <vitor1001 at gmail.com> wrote:
> Alex Converse wrote:
>>
>> On Tue, Feb 16, 2010 at 6:01 PM, Alex Converse
>> <alex.converse at gmail.com>wrote:
>
> My final comments:
>
>>> Notes:
>>> *All the computation time is spent in ff_sbr_apply() and it's
>>> children. If it isn't called from ff_sbr_apply() making it 100% faster
>>> isn't going to buy us anything.
>>> *Right now the synthesis filterbank is written on top on an MDCT. With
>>> appropriate SIMD functions it may make sense to move it to an FFT.
>>> Right now the MDCT version is much faster.
>
> Since you have already done it, can you send it so we can have a look?
>
> Also if you still have the butterflies without the scratch buffer, I'd like
> also to have a look. I'd like to understand why it is slower.
>

I already chased down your cosine tables red herring and this one. If
you want to make a very fast scalar filter bank be my guest. I can
send you the relevant pages.

>> +static VLC vlc_sbr[10];
>> +static const int8_t vlc_sbr_lav[10] =
>> + ? ?{ 60, 60, 24, 24, 31, 31, 12, 12, 31, 12 };
>> +static DECLARE_ALIGNED_16(float, analysis_cos_pre)[64];
>> +static DECLARE_ALIGNED_16(float, analysis_sin_pre)[64];
>> +static DECLARE_ALIGNED_16(float, analysis_cossin_post)[32][2];
>> +static DECLARE_ALIGNED_16(float, zero64)[64];
>
> Would the following work?
>
> static const DECLARE_ALIGNED_16(float, zero64)[64] = {0};
>

memset dropped

>> +++ b/libavcodec/sbr.h
>
> ? ? ? ? ? ? ? ? ? ^^^^^
>>
>> @@ -0,0 +1,152 @@
>> +/*
>> + * Spectral Band Replication definitions and structures
>> + * Copyright (c) 2008-2009 Robert Swain ( rob opendot cl )
>> + * Copyright (c) 2010 ? ? ?Alex Converse <alex.converse at gmail.com>
>> + *
>> + * This file is part of FFmpeg.
>> + *
>> + * FFmpeg is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU Lesser General Public
>> + * License as published by the Free Software Foundation; either
>> + * version 2.1 of the License, or (at your option) any later version.
>> + *
>> + * FFmpeg is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ?See the GNU
>> + * Lesser General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU Lesser General Public
>> + * License along with FFmpeg; if not, write to the Free Software
>> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
>> 02110-1301 USA
>> + */
>> +
>> +/**
>> + * @file libavcodec/aacsbr.h
>
> ? ? ? ? ? ? ? ? ? ? ? ^^^^^^^^
>

Fixed



More information about the ffmpeg-devel mailing list