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

Reply via email to