summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2023-12-11 19:47:14 +0100
committerClément Bœsch <u@pkh.me>2024-01-10 23:33:02 +0100
commitaa7ccd0ce902450c865c62ac160dd08a7b003eb3 (patch)
tree2d37a85e4bb419c05a097582332233eb076a4847
parent85cb1b9b203e04b7961983f85755d45fafadf189 (diff)
avcodec/proresenc_kostya: 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.
-rw-r--r--libavcodec/proresenc_kostya.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/proresenc_kostya.c b/libavcodec/proresenc_kostya.c
index f4674280fd..49bef5cf2f 100644
--- a/libavcodec/proresenc_kostya.c
+++ b/libavcodec/proresenc_kostya.c
@@ -994,7 +994,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
// frame header
tmp = buf;
buf += 2; // frame header size will be stored here
- bytestream_put_be16 (&buf, 0); // version 1
+ bytestream_put_be16 (&buf, ctx->chroma_factor != CFACTOR_Y422 || ctx->alpha_bits ? 1 : 0);
bytestream_put_buffer(&buf, ctx->vendor, 4);
bytestream_put_be16 (&buf, avctx->width);
bytestream_put_be16 (&buf, avctx->height);