1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00

avcodec/proresenc_aw : simplify frame flags

This commit is contained in:
Martin Vignali 2019-02-09 18:15:59 +01:00
parent c679119a73
commit 6cc8cfe30c

View File

@ -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);