summaryrefslogtreecommitdiff
path: root/libavformat/mpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-10-01 20:05:04 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-10-01 20:05:04 +0000
commitd8b5abfa70586490c56d34af3cc7731f6108aafb (patch)
treec20ca667b4f3aa44278fefe73bc9a699b0a6c971 /libavformat/mpeg.c
parentc40a3a42e1e9cb47e5ac72dad2c54decb9c3a459 (diff)
simplify put_padding_packet()
Originally committed as revision 3549 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mpeg.c')
-rw-r--r--libavformat/mpeg.c33
1 files changed, 9 insertions, 24 deletions
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index 38ae418fd6..427b5a5ab8 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -55,7 +55,7 @@ typedef struct {
computed (VBR case) */
int64_t last_scr; /* current system clock */
- double vcd_padding_bitrate;
+ double vcd_padding_bitrate; //FIXME floats
int64_t vcd_padding_bytes_written;
} MpegMuxContext;
@@ -530,33 +530,18 @@ static int get_packet_payload_size(AVFormatContext *ctx, int stream_index,
}
/* Write an MPEG padding packet header. */
-static int put_padding_header(AVFormatContext *ctx,uint8_t* buf, int full_padding_size)
+static void put_padding_packet(AVFormatContext *ctx, ByteIOContext *pb,int packet_bytes)
{
MpegMuxContext *s = ctx->priv_data;
- int size = full_padding_size - 6; /* subtract header length */
-
- buf[0] = (uint8_t)(PADDING_STREAM >> 24);
- buf[1] = (uint8_t)(PADDING_STREAM >> 16);
- buf[2] = (uint8_t)(PADDING_STREAM >> 8);
- buf[3] = (uint8_t)(PADDING_STREAM);
- buf[4] = (uint8_t)(size >> 8);
- buf[5] = (uint8_t)(size & 0xff);
-
+ int i;
+
+ put_be32(pb, PADDING_STREAM);
+ put_be16(pb, packet_bytes - 6);
if (!s->is_mpeg2) {
- buf[6] = 0x0f;
- return 7;
+ put_byte(pb, 0x0f);
+ packet_bytes -= 7;
} else
- return 6;
-}
-
-static void put_padding_packet(AVFormatContext *ctx, ByteIOContext *pb,int packet_bytes)
-{
- uint8_t buffer[7];
- int size, i;
-
- size = put_padding_header(ctx,buffer, packet_bytes);
- put_buffer(pb, buffer, size);
- packet_bytes -= size;
+ packet_bytes -= 6;
for(i=0;i<packet_bytes;i++)
put_byte(pb, 0xff);