[FFmpeg-devel] [PATCH 5/5] avcodec/qsvenc: Ensure payload array is initialized when using enc_ctrl
Soft Works
softworkz at hotmail.com
Mon Nov 29 20:51:56 EET 2021
Signed-off-by: softworkz <softworkz at hotmail.com>
---
libavcodec/qsvenc.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 06f55604b5..2c3b22e5f7 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -1477,7 +1477,16 @@ static int encode_frame(AVCodecContext *avctx, QSVEncContext *q,
}
#endif
- if (q->set_encode_ctrl_cb) {
+ if (q->set_encode_ctrl_cb && qsv_frame) {
+
+ if (!qsv_frame->enc_ctrl.Payload) {
+ qsv_frame->enc_ctrl.Payload = av_mallocz(sizeof(mfxPayload*) * QSV_MAX_ENC_PAYLOAD);
+ if (!qsv_frame->enc_ctrl.Payload) {
+ av_freep(&frame);
+ return AVERROR(ENOMEM);
+ }
+ }
+
q->set_encode_ctrl_cb(avctx, frame, &qsv_frame->enc_ctrl);
}
--
2.30.2.windows.1
More information about the ffmpeg-devel
mailing list