summaryrefslogtreecommitdiffstats
path: root/meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch')
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch183
1 files changed, 0 insertions, 183 deletions
diff --git a/meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch
deleted file mode 100644
index 57ae44f9..00000000
--- a/meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch
+++ /dev/null
@@ -1,183 +0,0 @@
1commit 389323f728fb2d6392d266d967eddde40465fd93
2Author: Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
3Date: Fri Oct 16 12:35:27 2009 +0000
4
5 Fix compatibility with older programs linked against libva.so.0.
6
7diff --git a/src/Makefile.am b/src/Makefile.am
8index 232d8e8..2d696f1 100644
9--- a/src/Makefile.am
10+++ b/src/Makefile.am
11@@ -72,3 +72,8 @@ EXTRA_DIST = \
12 va_compat_template.h
13
14 va_compat.c: va_compat_template.h
15+
16+lib_LTLIBRARIES += libva-compat.la
17+libva_compat_la_SOURCES = va_compat_lib.c
18+libva_compat_la_LIBADD = libva-x11.la -ldl
19+libva_compat_la_DEPENDENCIES = libva-x11.la
20diff --git a/src/va_compat_lib.c b/src/va_compat_lib.c
21new file mode 100644
22index 0000000..b7e9ea5
23--- /dev/null
24+++ b/src/va_compat_lib.c
25@@ -0,0 +1,158 @@
26+/*
27+ * Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved.
28+ *
29+ * Permission is hereby granted, free of charge, to any person obtaining a
30+ * copy of this software and associated documentation files (the
31+ * "Software"), to deal in the Software without restriction, including
32+ * without limitation the rights to use, copy, modify, merge, publish,
33+ * distribute, sub license, and/or sell copies of the Software, and to
34+ * permit persons to whom the Software is furnished to do so, subject to
35+ * the following conditions:
36+ *
37+ * The above copyright notice and this permission notice (including the
38+ * next paragraph) shall be included in all copies or substantial portions
39+ * of the Software.
40+ *
41+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
42+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
44+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
45+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
46+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
47+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
48+ */
49+
50+#define _GNU_SOURCE 1
51+#include <dlfcn.h>
52+#include <assert.h>
53+#include <stddef.h>
54+
55+typedef void *VADisplay;
56+typedef int VAStatus;
57+typedef unsigned int VAGenericID;
58+typedef VAGenericID VAContextID;
59+typedef VAGenericID VASurfaceID;
60+typedef VAGenericID VAImageID;
61+typedef VAGenericID VASubpictureID;
62+
63+#define PREPARE_FUNC(NAME, RET, ARGS) \
64+ static RET (*lib_##NAME) ARGS; \
65+ if (lib_##NAME == NULL) \
66+ lib_##NAME = dlsym(RTLD_NEXT, #NAME); \
67+ assert(lib_##NAME != NULL)
68+
69+VAStatus
70+vaSyncSurface(
71+ VADisplay dpy,
72+ VAContextID context,
73+ VASurfaceID render_target
74+)
75+{
76+ PREPARE_FUNC(vaSyncSurface, VAStatus, (VADisplay, VASurfaceID));
77+
78+ return lib_vaSyncSurface(dpy, render_target);
79+}
80+
81+VAStatus
82+vaPutImage(
83+ VADisplay dpy,
84+ VASurfaceID surface,
85+ VAImageID image,
86+ int src_x,
87+ int src_y,
88+ unsigned int width,
89+ unsigned int height,
90+ int dest_x,
91+ int dest_y
92+)
93+{
94+ PREPARE_FUNC(vaPutImage, VAStatus, (VADisplay, VASurfaceID, VAImageID,
95+ int, int, unsigned int, unsigned int,
96+ int, int, unsigned int, unsigned int));
97+
98+ return lib_vaPutImage(dpy, surface, image,
99+ src_x, src_y, width, height,
100+ dest_x, dest_y, width, height);
101+}
102+
103+VAStatus
104+vaPutImage2(
105+ VADisplay dpy,
106+ VASurfaceID surface,
107+ VAImageID image,
108+ int src_x,
109+ int src_y,
110+ unsigned int src_width,
111+ unsigned int src_height,
112+ int dest_x,
113+ int dest_y,
114+ unsigned int dest_width,
115+ unsigned int dest_height
116+)
117+{
118+ PREPARE_FUNC(vaPutImage, VAStatus, (VADisplay, VASurfaceID, VAImageID,
119+ int, int, unsigned int, unsigned int,
120+ int, int, unsigned int, unsigned int));
121+
122+ return lib_vaPutImage(dpy, surface, image,
123+ src_x, src_y, src_width, src_height,
124+ dest_x, dest_y, dest_width, dest_height);
125+}
126+
127+VAStatus
128+vaAssociateSubpicture(
129+ VADisplay dpy,
130+ VASubpictureID subpicture,
131+ VASurfaceID *target_surfaces,
132+ int num_surfaces,
133+ short src_x,
134+ short src_y,
135+ short dest_x,
136+ short dest_y,
137+ unsigned short width,
138+ unsigned short height,
139+ unsigned int flags
140+)
141+{
142+ PREPARE_FUNC(vaAssociateSubpicture,
143+ VAStatus, (VADisplay, VASubpictureID, VASurfaceID *, int,
144+ short, short, unsigned short, unsigned short,
145+ short, short, unsigned short, unsigned short,
146+ unsigned int));
147+
148+ return lib_vaAssociateSubpicture(dpy, subpicture,
149+ target_surfaces, num_surfaces,
150+ src_x, src_y, width, height,
151+ dest_x, dest_y, width, height,
152+ flags);
153+}
154+
155+VAStatus
156+vaAssociateSubpicture2(
157+ VADisplay dpy,
158+ VASubpictureID subpicture,
159+ VASurfaceID *target_surfaces,
160+ int num_surfaces,
161+ short src_x,
162+ short src_y,
163+ unsigned short src_width,
164+ unsigned short src_height,
165+ short dest_x,
166+ short dest_y,
167+ unsigned short dest_width,
168+ unsigned short dest_height,
169+ unsigned int flags
170+)
171+{
172+ PREPARE_FUNC(vaAssociateSubpicture,
173+ VAStatus, (VADisplay, VASubpictureID, VASurfaceID *, int,
174+ short, short, unsigned short, unsigned short,
175+ short, short, unsigned short, unsigned short,
176+ unsigned int));
177+
178+ return lib_vaAssociateSubpicture(dpy, subpicture,
179+ target_surfaces, num_surfaces,
180+ src_x, src_y, src_width, src_height,
181+ dest_x, dest_y, dest_width, dest_height,
182+ flags);
183+}