Hi, Thanks for your answer.
> DECLARE_ALIGNED(16,uint8_t,audio_buf)[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2]; > int data_size = sizeof(audio_buf); > int len = avcodec_decode_audio3(dec,(int16_t *)audio_buf, > &data_size,your_packet); I can test this when I am back at home, but.. My current code looks something like this: unsigned int bufferSize = AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2; unsigned char buffer[bufferSize]; int len = avcodec_decode_audio3(decoder, buffer, &bufferSize, myPacket); That's basically the same, isn't it? Aya~ On 04.08.2010, at 03:21, avcoder <[email protected]> wrote: > Dear: > > On Wed, Aug 4, 2010 at 6:45 AM, Aya Koshigaya <[email protected]> wrote: >> Hi, >> >> I have a strange problem with some AAC Files when decoding them using >> avcodec_decode_audio3. >> I read the AAC Stream from a MKV File (via libav_format). For some AAC >> streams everything is working fine, and for some it's crashing. >> >> The Trace-Callback only shows this: >> >> #0 float_to_int16_interleave_sse2 >> #1 aac_decode_frame > > The second parameter of avcodec_deocde_audio3() MUST be aligned to 16 > bytes due to SSE issue > > try the following code: > > DECLARE_ALIGNED(16,uint8_t,audio_buf)[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2]; > int data_size = sizeof(audio_buf); > int len = avcodec_decode_audio3(dec,(int16_t *)audio_buf, > &data_size,your_packet); > > > > > -- > ----------------------------------------------------------------------------------------- > My key fingerprint: d1:03:f5:32:26:ff:d7:3c:e4:42:e3:51:ec:92:78:b2 > _______________________________________________ > libav-user mailing list > [email protected] > https://lists.mplayerhq.hu/mailman/listinfo/libav-user _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
