After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 682714 - vp8enc: memory leak if auto-alt-ref-frames=1
vp8enc: memory leak if auto-alt-ref-frames=1
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-08-26 08:33 UTC by Oleksij Rempel
Modified: 2012-11-12 12:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
script (652 bytes, text/plain)
2012-08-26 08:33 UTC, Oleksij Rempel
Details
script v2 (780 bytes, text/plain)
2012-10-02 20:39 UTC, Oleksij Rempel
Details

Description Oleksij Rempel 2012-08-26 08:33:17 UTC
Created attachment 222447 [details]
script

vp8enc leaks some where altref frames. I use attached script to encode or convert videos. If i set auto-alt-ref-frames=0, then it performs normal.

Currently i can't find the problem by my self, so i'll be happy if some body can do it.
Comment 1 Tim-Philipp Müller 2012-09-09 11:44:05 UTC
Is this fixed now?

I've transcoded about 15mins worth of an HD movie with your settings (without the multipass stuff though), nand I don't see any huge leaks (sadly valgrind aborts with a SIGILL inside libvpx for me, but top only shows miniscule memory increases).
Comment 2 Oleksij Rempel 2012-09-09 15:02:51 UTC
No. I recode one film and on second pass i get memory leak. Here is "ps aux" output:

lex      6554  169 25.5 2083220 1523292 pts/4 Sl+  16:20  68:55 gst-launch-1.0 filesrc location=die_nackte_wahrheit.mkv ! decodebin name=d webmmux name=m ! filesink location=die_nackte_wahrheit.mkv.webm d. ! queue ! vp8enc threads=3 multipass-mode=2 bitrate=800000 multipass-cache-file=multipass.cache mode=vbr auto-alt-ref-frames=1 speed=0 max-keyframe-distance=360 min-quantizer=0 max-quantizer=60 token-parts=1 ! m. d. ! queue ! audiorate tolerance=50000000 ! audioconvert ! audioresample ! audio/x-raw,rate=44100,channels=2 ! vorbisenc ! m.

This process is 1.5GB now.
Comment 3 Oleksij Rempel 2012-09-09 16:27:49 UTC
Just to make sure. altref frames are not generated on first pass, or on second pass on video without changes - for example it wont work with videotestsrc.
Comment 4 Oleksij Rempel 2012-10-02 20:39:09 UTC
Created attachment 225625 [details]
script v2

This is new script. Newest gstreame use different options. Slomo pointet me on mistakes in my previous script, so this one should produce lots of altref frames.

PS: I still have this memory leak.
Comment 5 Oleksij Rempel 2012-11-12 11:04:26 UTC
I upgraded to ubuntu 12.10 and compiled gstreamer 1.0 from git (latest commit "vp8dec: Fix last commit"). I still have this memory leak. On files with small resolution it is OK - i have enough memory. But on long files with 720p, even my workstation can't handle it.
Comment 6 Sebastian Dröge (slomo) 2012-11-12 12:07:16 UTC
commit 9ad88d265c71f41421f4585ddcc055bc2cff38e9
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Mon Nov 12 13:01:23 2012 +0100

    vp8enc: Don't leak GstVideoCodecFrames that cause the creation of invisible frames
    
    Fixes bug #682714.