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

Vitor Sessak vitor1001
Wed Feb 17 19:45:00 CET 2010


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.

> +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};

> +++ 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
                        ^^^^^^^^

-Vitor



More information about the ffmpeg-devel mailing list