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

Alexander Strange astrange
Wed Feb 17 07:42:15 CET 2010


On Feb 16, 2010, at 6:19 PM, Alex Converse wrote:

> On Tue, Feb 16, 2010 at 6:01 PM, Alex Converse <alex.converse at gmail.com>wrote:
> 
>> 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.
>> *SIMD placeholder patch not included
>> 
> 
> Wrong patch.
> try 4.1 :)
> <sbr.diff>

I tried it with ffplay and it plays 2x too slow. If ffplay needs to be fixed, I wonder if other players will too? Well, it's unavoidable anyway.
ffmpeg to wav sounds fine.

> +        while (k <= sbr->n_lim) {
> +            // if ( nOctaves * limBands >= 0.49) ...
> +            if (log2(sbr->f_tablelim[k] / (float)sbr->f_tablelim[k-1]) *
> +                lim_bands_per_octave[sbr->bs_limiter_bands - 1] >= 0.49) {
> +                k++;
> +                continue;
> +            }
> +            if (sbr->f_tablelim[k] == sbr->f_tablelim[k-1] ||
> +                !in_table_int16(patch_borders, sbr->num_patches, sbr->f_tablelim[k]))
> +                remove_table_element_int16(sbr->f_tablelim, &sbr->n_lim, k);
> +            else if (!in_table_int16(patch_borders, sbr->num_patches, sbr->f_tablelim[k-1]))
> +                remove_table_element_int16(sbr->f_tablelim, &sbr->n_lim, k-1);
> +            else
> +                k++;
> +        };

Stray ';' at the end.

> +/// Chirp Factors (14496-3 sp04 p214)
> +static void sbr_chirp(SpectralBandReplication *sbr, SBRData *ch_data)
> +{
> +    int i;
> +    float new_bw;
> +    float temp_bw;
> +


I got an uninitialized warning on new_bw. av_uninit or a default case in the switch fixed it.

Didn't see anything else.



More information about the ffmpeg-devel mailing list