[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