Opened 5 years ago
Last modified 4 years ago
#8794 new defect
memory leak in qsv decoding
Reported by: | fvb | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avcodec |
Version: | git-master | Keywords: | qsv leak |
Cc: | fredericbochmann@gmail.com | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug: Memory leak when decoding content through qsv decoders, rendered to system memory.
How to reproduce:
Run the below command for a 15-30 minutes and look at your system memory. This is specifically using the capability of rendering to system memory of qsv.
% ffmpeg -re -stream_loop -1 -c:v h264_qsv -i jellyfish-250-mbps-4k-uhd-h264.mkv -f null -
ffmpeg build settings:
ffmpeg version 4.3.git Copyright (c) 2000-2020 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39) configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-bzlib --enable-libdrm --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libfdk-aac --enable-nonfree --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --enable-libsrt --enable-libmfx --enable-libxcb --disable-libzmq --shlibdir=/usr/lib64 --enable-runtime-cpudetect libavutil 56. 55.100 / 56. 55.100 libavcodec 58. 95.100 / 58. 95.100 libavformat 58. 48.100 / 58. 48.100 libavdevice 58. 11.101 / 58. 11.101 libavfilter 7. 87.100 / 7. 87.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100
built 2-3 days ago, ~ Tuesday 14th of July 2020
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Change History (4)
comment:1 by , 5 years ago
Cc: | added |
---|
comment:2 by , 5 years ago
comment:3 by , 4 years ago
Keywords: | memory removed |
---|
comment:4 by , 4 years ago
Hi fvb,
the file is large. could you use a smaller one to reproduce the issue?
I tried the latest code with jellyfish-3-mbps-hd-h264.mkv
It's no leak.
thanks
==14492== HEAP SUMMARY:
==14492== in use at exit: 3,677 bytes in 11 blocks
==14492== total heap usage: 16,853 allocs, 16,842 frees, 53,434,200 bytes allocated
==14492==
==14492== LEAK SUMMARY:
==14492== definitely lost: 0 bytes in 0 blocks
==14492== indirectly lost: 0 bytes in 0 blocks
==14492== possibly lost: 0 bytes in 0 blocks
==14492== still reachable: 3,677 bytes in 11 blocks
==14492== suppressed: 0 bytes in 0 blocks
==14492== Reachable blocks (those to which a pointer was found) are not shown.
==14492== To see them, rerun with: --leak-check=full --show-leak-kinds=all
valgrind output at after some execution looks like this: