[FFmpeg-devel] [PATCH 1/2] Move float windowing code in mp3 decoder to dsputils

Vitor Sessak vitor1001
Sat Jun 19 11:56:32 CEST 2010


On 06/19/2010 01:27 AM, Michael Niedermayer wrote:
> On Fri, Jun 18, 2010 at 03:54:15PM +0200, Vitor Sessak wrote:
>> On 06/18/2010 02:45 PM, Michael Niedermayer wrote:
>>> On Thu, Jun 17, 2010 at 05:34:48PM +0200, Vitor Sessak wrote:
>>>> On 06/17/2010 04:50 PM, M?ns Rullg?rd wrote:
>>>>> Vitor Sessak<vitor1001 at gmail.com>    writes:
>>>>>
>>>>>> $subj. It introduces some code duplication that I have no good idea
>>>>>> how to avoid.
>>>>>
>>>>> Can we please not clutter dsputil with even more codec-specific stuff?
>>>>
>>>> As attached?
>>> [...]
>>>>    /* layer 3 huffman tables */
>>>> @@ -178,7 +180,7 @@
>>>>    void ff_mpa_synth_filter_float(MPA_INT *synth_buf_ptr, int
>>>> *synth_buf_offset,
>>>>                             MPA_INT *window, int *dither_state,
>>>>                             OUT_INT *samples, int incr,
>>>> -                         INTFLOAT sb_samples[SBLIMIT]);
>>>> +                         INTFLOAT sb_samples[SBLIMIT], MPADecodeContext
>>>> *s);
>>>
>>> whats the context needd for ?
>>
>> To get a pointer to the apply_window_mp3() function:
>>
>>> +/* 32 sub band synthesis filter. Input: 32 sub band samples, Output:
>>> +   32 samples. */
>>> +/* XXX: optimize by avoiding ring buffer usage */
>>> +#if CONFIG_FLOAT
>>> +void ff_mpa_synth_filter_float(float *synth_buf_ptr,
>>> +                               int *synth_buf_offset,
>>> +                               float *window, int *dither_state,
>>> +                               float *samples, int incr,
>>> +                               float sb_samples[SBLIMIT],
>>> +                               MPADecodeContext *s)
>>> +{
>>> +    float *synth_buf;
>>> +    int offset;
>>> +
>>> +    offset = *synth_buf_offset;
>>> +    synth_buf = synth_buf_ptr + offset;
>>> +
>>> +    dct32(synth_buf, sb_samples);
>>> +    s->apply_window_mp3(synth_buf, window, dither_state, samples, incr);
>>         ^^^
>>
>> It will be also useful later to get a DCTContext for the asm-optimized
>> dct32()...
>
> if its neeed for more than 1 thing then fine but please placeit
> as first argument like in pretty much every other function.
> at the end it looks just odd

Ok, applied as suggested.

-Vitor



More information about the ffmpeg-devel mailing list