History

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.

Xu Guangxin committed 5 years ago

Commit 3bbe0c21 parent bb9141c1 file · +2 −0Browse files

Unified · Split

libavcodec/qsvenc.c+2−0
@@ -1271,6 +1271,8 @@ static void clear_unused_frames(QSVEncContext *q) · 1270 unmodified lines
1271 while (cur) {1271 while (cur) {
1272 if (cur->used && !cur->surface.Data.Locked) {1272 if (cur->used && !cur->surface.Data.Locked) {
1273 free_encoder_ctrl_payloads(&cur->enc_ctrl);1273 free_encoder_ctrl_payloads(&cur->enc_ctrl);
1274 //do not reuse enc_ctrl from previous frame
1275 memset(&cur->enc_ctrl, 0, sizeof(cur->enc_ctrl));
1274 if (cur->frame->format == AV_PIX_FMT_QSV) {1276 if (cur->frame->format == AV_PIX_FMT_QSV) {
1275 av_frame_unref(cur->frame);1277 av_frame_unref(cur->frame);
1276 }1278 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t