diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-10-29 13:49:43 +0200 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-10-29 15:48:43 +0200 |
commit | c5865a8967c99aad4684ba18dce6835e1a8126fc (patch) | |
tree | 386e0b705443c0357fc8df53395a42abeb31d4a2 /libavcodec/proresenc.c | |
parent | d9f4dc52a0fe3edb93f153cf13e750f7c46243d1 (diff) | |
download | ffmpeg-c5865a8967c99aad4684ba18dce6835e1a8126fc.tar.gz |
Use bytestream functions to write header.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavcodec/proresenc.c')
-rw-r--r-- | libavcodec/proresenc.c | 44 |
1 files changed, 19 insertions, 25 deletions
diff --git a/libavcodec/proresenc.c b/libavcodec/proresenc.c index 5c3a7c817b..97e331b24a 100644 --- a/libavcodec/proresenc.c +++ b/libavcodec/proresenc.c @@ -497,31 +497,25 @@ static int prores_encode_frame(AVCodecContext *avctx, unsigned char *buf, int pic_size = prores_encode_picture(avctx, pic, buf + header_size + 8, buf_size - header_size - 8); - AV_WB32(buf, pic_size + 8 + header_size); - AV_WB8 (buf + 4, 'i'); - AV_WB8 (buf + 5, 'c'); - AV_WB8 (buf + 6, 'p'); - AV_WB8 (buf + 7, 'f'); - - AV_WB16(buf + 8, header_size); - AV_WB16(buf + 10, 0); - AV_WB8 (buf + 12, 'f'); - AV_WB8 (buf + 13, 'm'); - AV_WB8 (buf + 14, 'p'); - AV_WB8 (buf + 15, 'g'); - AV_WB16(buf + 16, pic->width); - AV_WB16(buf + 18, pic->height); - buf[20] = 0x83; // {10}(422){00}{00}(frame){11} - buf[21] = 0; - buf[22] = 2; - buf[23] = 2; - buf[24] = 6; - buf[25] = 32; - buf[26] = 0; - buf[27] = 3; - - memcpy(buf + 28, QMAT_LUMA[avctx->profile], 64); - memcpy(buf + 92, QMAT_CHROMA[avctx->profile], 64); + bytestream_put_be32(&buf, pic_size + 8 + header_size); + bytestream_put_buffer(&buf, "icpf", 4); + + bytestream_put_be16(&buf, header_size); + bytestream_put_be16(&buf, 0); + bytestream_put_buffer(&buf, "fmpg", 4); + bytestream_put_be16(&buf, pic->width); + bytestream_put_be16(&buf, pic->height); + *buf++ = 0x83; // {10}(422){00}{00}(frame){11} + *buf++ = 0; + *buf++ = 2; + *buf++ = 2; + *buf++ = 6; + *buf++ = 32; + *buf++ = 0; + *buf++ = 3; + + bytestream_put_buffer(&buf, QMAT_LUMA[avctx->profile], 64); + bytestream_put_buffer(&buf, QMAT_CHROMA[avctx->profile], 64); return pic_size + 8 + header_size; } |