[FFmpeg-cvslog] avcodec/proresenc_aw : simplify frame flags
Martin Vignali
git at videolan.org
Sat Feb 23 14:23:12 EET 2019
ffmpeg | branch: master | Martin Vignali <martin.vignali at gmail.com> | Sat Feb 9 18:15:59 2019 +0100| [6cc8cfe30c09b1776b935988fcdedf0333602f8e] | committer: Martin Vignali
avcodec/proresenc_aw : simplify frame flags
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6cc8cfe30c09b1776b935988fcdedf0333602f8e
---
libavcodec/proresenc_anatoliy.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
index 2bed58bdc1..afd1fa6b13 100644
--- a/libavcodec/proresenc_anatoliy.c
+++ b/libavcodec/proresenc_anatoliy.c
@@ -684,6 +684,7 @@ static int prores_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
int header_size = 148;
uint8_t *buf;
int pic_size, ret;
+ uint8_t frame_flags;
int frame_size = FFALIGN(avctx->width, 16) * FFALIGN(avctx->height, 16)*16 + 500 + AV_INPUT_BUFFER_MIN_SIZE; //FIXME choose tighter limit
@@ -705,11 +706,10 @@ static int prores_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
bytestream_put_buffer(&buf, ctx->vendor, 4);
bytestream_put_be16(&buf, avctx->width);
bytestream_put_be16(&buf, avctx->height);
- if (avctx->profile >= FF_PROFILE_PRORES_4444) { /* 4444 or 4444 Xq */
- *buf++ = 0xC2; // 444, not interlaced
- } else {
- *buf++ = 0x82; // 422, not interlaced
- }
+ frame_flags = 0x82; /* 422 not interlaced */
+ if (avctx->profile >= FF_PROFILE_PRORES_4444) /* 4444 or 4444 Xq */
+ frame_flags |= 0x40; /* 444 chroma */
+ *buf++ = frame_flags;
*buf++ = 0; /* reserved */
/* only write color properties, if valid value. set to unspecified otherwise */
*buf++ = ff_int_from_list_or_default(avctx, "frame color primaries", pict->color_primaries, valid_primaries, 0);
More information about the ffmpeg-cvslog
mailing list