--- /dev/null
+Description: Fix a crash if a heap is destroyed before being initialized
+Author: Sebastian Ramacher <sramacher@debian.org>
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=58836
+Bug-Debian: http://bugs.debian.org/748294
+Last-Update: 2014-06-02
+
+--- vdpau-video-0.7.4.orig/src/object_heap.c
++++ vdpau-video-0.7.4/src/object_heap.c
+@@ -272,8 +272,10 @@ object_heap_destroy(object_heap_p heap)
+ ASSERT(obj->next_free != ALLOCATED);
+ }
+
+- for (i = 0; i < heap->heap_size / heap->heap_increment; i++) {
+- free(heap->bucket[i]);
++ if (heap->bucket) {
++ for (i = 0; i < heap->heap_size / heap->heap_increment; i++) {
++ free(heap->bucket[i]);
++ }
+ }
+
+ pthread_mutex_destroy(&heap->mutex);
--- /dev/null
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="VDPAU Backend for Video Acceleration (VA) API"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/vaapi"
+SRC_URI="https://www.freedesktop.org/software/vaapi/releases/libva-vdpau-driver/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="debug opengl"
+
+RDEPEND=">=x11-libs/libva-1.2.1-r1:=[X,opengl?,${MULTILIB_USEDEP}]
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ >=x11-libs/libvdpau-0.8[${MULTILIB_USEDEP}]
+ !x11-libs/vdpau-video"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( NEWS README AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-glext-missing-definition.patch
+ "${FILESDIR}"/${P}-VAEncH264VUIBufferType.patch
+ "${FILESDIR}"/${P}-libvdpau-0.8.patch
+ "${FILESDIR}"/${P}-sigfpe-crash.patch
+)
+
+src_prepare() {
+ default
+ sed -i 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ $(use_enable opengl glx)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}