From b04601ed6ab91c4f6f5cbe08050ea1e4d001cec4 Mon Sep 17 00:00:00 2001 From: rcombs Date: Sat, 18 Dec 2021 05:02:47 -0600 Subject: [PATCH] lavc/videotoolbox: set attachments on decoded buffers VideoToolbox internally sets all the colorspace parameters to BT709, regardless of what the bitstream actually indicates, so we need to replace that with what we've parsed. --- libavcodec/videotoolbox.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c index 519f55a9ab..69beb3881f 100644 --- a/libavcodec/videotoolbox.c +++ b/libavcodec/videotoolbox.c @@ -90,6 +90,7 @@ int ff_videotoolbox_buffer_copy(VTContext *vtctx, static int videotoolbox_postproc_frame(void *avctx, AVFrame *frame) { + int ret; VTHWFrame *ref = (VTHWFrame *)frame->buf[0]->data; if (!ref->pixbuf) { @@ -103,6 +104,9 @@ static int videotoolbox_postproc_frame(void *avctx, AVFrame *frame) frame->crop_top = 0; frame->crop_bottom = 0; + if ((ret = av_vt_pixbuf_set_attachments(avctx, ref->pixbuf, frame)) < 0) + return ret; + frame->data[3] = (uint8_t*)ref->pixbuf; if (ref->hw_frames_ctx) {