From febd72be6550cd5f4bda2269a382c9ff64d46e8a Mon Sep 17 00:00:00 2001 From: Anssi Hannula Date: Sun, 2 Jan 2011 10:46:50 +0000 Subject: [PATCH] Use new function put_nbyte() to speed up padding. Patch by Anssi Hannula, anssi d hannula a iki d fi Originally committed as revision 26194 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/spdifenc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavformat/spdifenc.c b/libavformat/spdifenc.c index d76b3f74ca..d7a71e161b 100644 --- a/libavformat/spdifenc.c +++ b/libavformat/spdifenc.c @@ -347,7 +347,7 @@ static int spdif_write_packet(struct AVFormatContext *s, AVPacket *pkt) if (!ctx->pkt_offset) return 0; - padding = (ctx->pkt_offset - ctx->use_preamble * BURST_HEADER_SIZE - ctx->out_bytes) >> 1; + padding = (ctx->pkt_offset - ctx->use_preamble * BURST_HEADER_SIZE - ctx->out_bytes) & ~1; if (padding < 0) { av_log(s, AV_LOG_ERROR, "bitrate is too high\n"); return AVERROR(EINVAL); @@ -373,8 +373,7 @@ static int spdif_write_packet(struct AVFormatContext *s, AVPacket *pkt) if (ctx->out_bytes & 1) put_be16(s->pb, ctx->out_buf[ctx->out_bytes - 1]); - for (; padding > 0; padding--) - put_be16(s->pb, 0); + put_nbyte(s->pb, 0, padding); av_log(s, AV_LOG_DEBUG, "type=%x len=%i pkt_offset=%i\n", ctx->data_type, ctx->out_bytes, ctx->pkt_offset);