[SCM] libav/experimental: align the audio decoding buffer, since some codecs write to it with simd
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:27:21 UTC 2013
The following commit has been merged in the experimental branch:
commit 81b060faf98d3ef3ab009220ba8a725a31ff047f
Author: Loren Merritt <lorenm at u.washington.edu>
Date: Tue Aug 12 05:59:12 2008 +0000
align the audio decoding buffer, since some codecs write to it with simd
Originally committed as revision 14707 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/ffmpeg.c b/ffmpeg.c
index 850778d..53009d3 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1198,8 +1198,11 @@ static int output_packet(AVInputStream *ist, int ist_index,
if (ist->decoding_needed) {
switch(ist->st->codec->codec_type) {
case CODEC_TYPE_AUDIO:{
- if(pkt)
- samples= av_fast_realloc(samples, &samples_size, FFMAX(pkt->size*sizeof(*samples), AVCODEC_MAX_AUDIO_FRAME_SIZE));
+ if(pkt && samples_size < FFMAX(pkt->size*sizeof(*samples), AVCODEC_MAX_AUDIO_FRAME_SIZE)) {
+ samples_size = FFMAX(pkt->size*sizeof(*samples), AVCODEC_MAX_AUDIO_FRAME_SIZE);
+ av_free(samples);
+ samples= av_malloc(samples_size);
+ }
data_size= samples_size;
/* XXX: could avoid copy if PCM 16 bits with same
endianness as CPU */
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list