Justin Ruggles <[email protected]> writes:

> On 10/05/2012 02:27 AM, Anton Khirnov wrote:
>> 
>> On Fri, 21 Sep 2012 11:23:31 -0400, Justin Ruggles 
>> <[email protected]> wrote:
>>> ---
>>>  libavcodec/aacdec.c |   36 +++++++++++++-----------------------
>>>  libavcodec/aacsbr.c |    5 ++---
>>>  2 files changed, 15 insertions(+), 26 deletions(-)
> [...]
>>> @@ -2480,16 +2477,11 @@ static int aac_decode_frame_int(AVCodecContext 
>>> *avctx, void *data,
>>>              err = -1;
>>>              goto fail;
>>>          }
>>> -
>>> -        if (avctx->sample_fmt == AV_SAMPLE_FMT_FLT)
>>> -            ac->fmt_conv.float_interleave((float *)ac->frame.data[0],
>>> -                                          (const float **)ac->output_data,
>>> -                                          samples, avctx->channels);
>>> -        else
>>> -            ac->fmt_conv.float_to_int16_interleave((int16_t 
>>> *)ac->frame.data[0],
>>> -                                                   (const float 
>>> **)ac->output_data,
>>> -                                                   samples, 
>>> avctx->channels);
>>> -
>>> +        for (ch = 0; ch < avctx->channels; ch++) {
>>> +            memcpy((float *)ac->frame.extended_data[ch],
>>> +                   ac->output_data[ch],
>>> +                   samples * sizeof(*ac->output_data[ch]));
>>> +        }
>> 
>> No simple way to avoid the memcpy?
>
> I tried before, and I've been trying again today, but I have been unable
> to get it working. It's definitely not easy.

I take that as a challenge.

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to