You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
qsvenc: AV_PIX_FMT_QSV path should release frame
Fixes high memory usage and prevents over allocation of the frames via proper unref. Can be checked as: -hwaccel qsv -c:v h264_qsv -i ../h264-conformance/CANL2_Sony_E.jsv -c:v h264_qsv -b:v 2000k -y qsv.mp4
This commit is contained in:
@@ -1028,6 +1028,9 @@ static void clear_unused_frames(QSVEncContext *q)
|
|||||||
QSVFrame *cur = q->work_frames;
|
QSVFrame *cur = q->work_frames;
|
||||||
while (cur) {
|
while (cur) {
|
||||||
if (cur->used && !cur->surface.Data.Locked) {
|
if (cur->used && !cur->surface.Data.Locked) {
|
||||||
|
if (cur->frame->format == AV_PIX_FMT_QSV) {
|
||||||
|
av_frame_unref(cur->frame);
|
||||||
|
}
|
||||||
cur->used = 0;
|
cur->used = 0;
|
||||||
}
|
}
|
||||||
cur = cur->next;
|
cur = cur->next;
|
||||||
|
Reference in New Issue
Block a user