avcodec/proresenc_anatoliy: do not write into chroma reserved bitfields
The layout for the frame flags is as follow: chroma_format u(2) reserved u(2) interlace_mode u(2) reserved u(2) chroma_format has 2 allowed values: 0: reserved 1: reserved 2: 4:2:2 3: 4:4:4 interlace_mode has 3 allowed values: 0: progressive 1: tff 2: bff 3: reserved 0x80 is what we expect for "422 not interlaced", and the extra 0x2 from 0x82 is actually writing into the reserved bits.
This commit is contained in:
parent
21f7a814ea
commit
af509f9957
17 changed files with 17 additions and 17 deletions
|
|
@ -750,7 +750,7 @@ 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);
|
||||
frame_flags = 0x82; /* 422 not interlaced */
|
||||
frame_flags = 0x80; /* 422 not interlaced */
|
||||
if (avctx->profile >= AV_PROFILE_PRORES_4444) /* 4444 or 4444 Xq */
|
||||
frame_flags |= 0x40; /* 444 chroma */
|
||||
if (ctx->is_interlaced) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue