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
