diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2015-03-21 15:38:37 +0100 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2015-04-20 12:41:33 +0200 |
commit | d34039b171bebe37bf723a1b03e5651267099739 (patch) | |
tree | 8727852dd010db0dde14148096385fb6498241b4 /libavformat/rmenc.c | |
parent | 656e31ed8728b0c095d037dc9764fc8137c87200 (diff) | |
download | ffmpeg-d34039b171bebe37bf723a1b03e5651267099739.tar.gz |
rmenc: Drop the temporary buffer for ac3 byteswap
Use direcly avio_w8().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavformat/rmenc.c')
-rw-r--r-- | libavformat/rmenc.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/libavformat/rmenc.c b/libavformat/rmenc.c index 863a866d1e..ad2c17d529 100644 --- a/libavformat/rmenc.c +++ b/libavformat/rmenc.c @@ -355,31 +355,23 @@ static int rm_write_header(AVFormatContext *s) static int rm_write_audio(AVFormatContext *s, const uint8_t *buf, int size, int flags) { - uint8_t *buf1; RMMuxContext *rm = s->priv_data; AVIOContext *pb = s->pb; StreamInfo *stream = rm->audio_stream; int i; - /* XXX: suppress this malloc */ - buf1 = av_malloc(size * sizeof(uint8_t)); - if (!buf1) - return AVERROR(ENOMEM); - write_packet_header(s, stream, size, !!(flags & AV_PKT_FLAG_KEY)); if (stream->enc->codec_id == AV_CODEC_ID_AC3) { /* for AC-3, the words seem to be reversed */ - for(i=0;i<size;i+=2) { - buf1[i] = buf[i+1]; - buf1[i+1] = buf[i]; + for (i = 0; i < size; i += 2) { + avio_w8(pb, buf[i + 1]); + avio_w8(pb, buf[i]); } - avio_write(pb, buf1, size); } else { avio_write(pb, buf, size); } stream->nb_frames++; - av_free(buf1); return 0; } |