[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