avcodec/proresenc_anatoliy: use a compatible bitstream version

Quoting SMPTE RDD 36:2015:
  A decoder shall abort if it encounters a bitstream with an unsupported
  bitstream_version value. If 0, the value of the chroma_format syntax
  element shall be 2 (4:2:2 sampling) and the value of the
  alpha_channel_type element shall be 0 (no encoded alpha); if 1, any
  permissible value may be used for those syntax elements.

So if we're not in 4:2:2 or if there is alpha, we are not allowed to use
version 0.
This commit is contained in:
Clément Bœsch 2023-12-11 19:45:08 +01:00
parent 0405f71e19
commit 85cb1b9b20
9 changed files with 9 additions and 9 deletions

View file

@ -746,7 +746,7 @@ static int prores_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
bytestream_put_be32(&buf, FRAME_ID);
bytestream_put_be16(&buf, header_size);
bytestream_put_be16(&buf, 0); /* version */
bytestream_put_be16(&buf, avctx->pix_fmt != AV_PIX_FMT_YUV422P10 || ctx->need_alpha ? 1 : 0); /* version */
bytestream_put_buffer(&buf, ctx->vendor, 4);
bytestream_put_be16(&buf, avctx->width);
bytestream_put_be16(&buf, avctx->height);