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.

-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to