You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avcodec/qsv_enc: do not reuse enc_ctrl from previous frames
fixes #8857 If we do not clear the enc_ctrl, we will reuse previous frames' data like FrameType. Reviewed-by: Xiang, Haihao <haihao.xiang@intel.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@@ -1271,6 +1271,8 @@ static void clear_unused_frames(QSVEncContext *q)
|
|||||||
while (cur) {
|
while (cur) {
|
||||||
if (cur->used && !cur->surface.Data.Locked) {
|
if (cur->used && !cur->surface.Data.Locked) {
|
||||||
free_encoder_ctrl_payloads(&cur->enc_ctrl);
|
free_encoder_ctrl_payloads(&cur->enc_ctrl);
|
||||||
|
//do not reuse enc_ctrl from previous frame
|
||||||
|
memset(&cur->enc_ctrl, 0, sizeof(cur->enc_ctrl));
|
||||||
if (cur->frame->format == AV_PIX_FMT_QSV) {
|
if (cur->frame->format == AV_PIX_FMT_QSV) {
|
||||||
av_frame_unref(cur->frame);
|
av_frame_unref(cur->frame);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user