summaryrefslogtreecommitdiff
path: root/src/gallium/targets
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2013-08-05 11:41:27 -0600
committerChristian König <christian.koenig@amd.com>2014-02-06 16:16:34 +0100
commit15e39ca28a1a98ea43729b65eb19e8e4e5e94ebc (patch)
tree4306a8b5fa3e5f4408136d9a5282243f0c49c7ef /src/gallium/targets
parentc9b941ff1b9633d02c61ada969726a5c0a9944c6 (diff)
st/omx: initial OpenMAX support v3
Featuring a full grown MPEG2 and H264 decoder and a couple of hundred bugs. v2 (Leo): fix an error for pic_order_cnt_type 1 v3 (Leo): implement support for field decoding Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Leo Liu <leo.liu@amd.com>
Diffstat (limited to 'src/gallium/targets')
-rw-r--r--src/gallium/targets/Makefile.am8
-rw-r--r--src/gallium/targets/r600/omx/Makefile.am77
l---------src/gallium/targets/r600/omx/drm_target.c1
-rw-r--r--src/gallium/targets/radeonsi/omx/Makefile.am68
l---------src/gallium/targets/radeonsi/omx/drm_target.c1
5 files changed, 155 insertions, 0 deletions
diff --git a/src/gallium/targets/Makefile.am b/src/gallium/targets/Makefile.am
index e356020cead..a3369140844 100644
--- a/src/gallium/targets/Makefile.am
+++ b/src/gallium/targets/Makefile.am
@@ -84,6 +84,10 @@ endif
if HAVE_ST_VDPAU
SUBDIRS += r600/vdpau
endif
+
+if HAVE_ST_OMX
+SUBDIRS += r600/omx
+endif
endif
if HAVE_GALLIUM_RADEONSI
@@ -94,6 +98,10 @@ endif
if HAVE_ST_VDPAU
SUBDIRS += radeonsi/vdpau
endif
+
+if HAVE_ST_OMX
+SUBDIRS += radeonsi/omx
+endif
endif
if HAVE_GALLIUM_NOUVEAU
diff --git a/src/gallium/targets/r600/omx/Makefile.am b/src/gallium/targets/r600/omx/Makefile.am
new file mode 100644
index 00000000000..7660a8d2740
--- /dev/null
+++ b/src/gallium/targets/r600/omx/Makefile.am
@@ -0,0 +1,77 @@
+# Copyright © 2012 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+include $(top_srcdir)/src/gallium/Automake.inc
+
+AM_CFLAGS = \
+ $(GALLIUM_CFLAGS) \
+ $(PTHREAD_CFLAGS) \
+ $(LIBDRM_CFLAGS)
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/src/gallium/drivers \
+ -I$(top_srcdir)/src/gallium/winsys
+
+omxdir = $(OMX_LIB_INSTALL_DIR)
+omx_LTLIBRARIES = libomx_r600.la
+
+EXPORTS = '^(omx_component_library_Setup|radeon_drm_winsys_create)$$'
+
+libomx_r600_la_SOURCES = \
+ drm_target.c \
+ $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
+
+libomx_r600_la_LDFLAGS = \
+ -module \
+ -export-symbols-regex $(EXPORTS) \
+ -shared \
+ -no-undefined
+
+libomx_r600_la_LIBADD = \
+ $(top_builddir)/src/gallium/auxiliary/libgallium.la \
+ $(top_builddir)/src/gallium/drivers/r600/libr600.la \
+ $(top_builddir)/src/gallium/state_trackers/omx/libomxtracker.la \
+ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \
+ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \
+ $(GALLIUM_DRI_LIB_DEPS) \
+ $(OMX_LIBS) \
+ $(LIBDRM_LIBS) \
+ $(RADEON_LIBS) \
+ -lstdc++
+
+if HAVE_MESA_LLVM
+libomx_r600_la_LINK = $(CXXLINK) $(libomx_r600_la_LDFLAGS)
+# Mention a dummy pure C++ file to trigger generation of the $(LINK) variable
+nodist_EXTRA_libomx_r600_la_SOURCES = dummy-cpp.cpp
+
+libomx_r600_la_LDFLAGS += $(LLVM_LDFLAGS)
+libomx_r600_la_LIBADD += $(LLVM_LIBS)
+else
+libomx_r600_la_LINK = $(LINK) $(libomx_r600_la_LDFLAGS)
+# Mention a dummy pure C file to trigger generation of the $(LINK) variable
+nodist_EXTRA_libomx_r600_la_SOURCES = dummy-c.c
+endif
+
+# Provide compatibility with scripts for the old Mesa build system for
+# a while by putting a link to the driver into /lib of the build tree.
+all-local: libomx_r600.la
+ $(MKDIR_P) $(top_builddir)/$(LIB_DIR)/gallium
+ ln -f .libs/libomx_r600.so* $(top_builddir)/$(LIB_DIR)/gallium/
diff --git a/src/gallium/targets/r600/omx/drm_target.c b/src/gallium/targets/r600/omx/drm_target.c
new file mode 120000
index 00000000000..6955421104a
--- /dev/null
+++ b/src/gallium/targets/r600/omx/drm_target.c
@@ -0,0 +1 @@
+../common/drm_target.c \ No newline at end of file
diff --git a/src/gallium/targets/radeonsi/omx/Makefile.am b/src/gallium/targets/radeonsi/omx/Makefile.am
new file mode 100644
index 00000000000..5eea303d69f
--- /dev/null
+++ b/src/gallium/targets/radeonsi/omx/Makefile.am
@@ -0,0 +1,68 @@
+# Copyright © 2012 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+include $(top_srcdir)/src/gallium/Automake.inc
+
+AM_CFLAGS = \
+ $(GALLIUM_CFLAGS) \
+ $(PTHREAD_CFLAGS) \
+ $(LIBDRM_CFLAGS)
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/src/gallium/drivers \
+ -I$(top_srcdir)/src/gallium/winsys
+
+omxdir = $(OMX_LIB_INSTALL_DIR)
+omx_LTLIBRARIES = libomx_radeonsi.la
+
+EXPORTS = '^(omx_component_library_Setup|radeon_drm_winsys_create)$$'
+
+libomx_radeonsi_la_SOURCES = \
+ drm_target.c \
+ $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
+
+libomx_radeonsi_la_LDFLAGS = \
+ -module \
+ -export-symbols-regex $(EXPORTS) \
+ -shared \
+ -no-undefined
+
+libomx_radeonsi_la_LIBADD = \
+ $(top_builddir)/src/gallium/auxiliary/libgallium.la \
+ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
+ $(top_builddir)/src/gallium/state_trackers/omx/libomxtracker.la \
+ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \
+ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \
+ $(GALLIUM_DRI_LIB_DEPS) \
+ $(OMX_LIBS) \
+ $(LIBDRM_LIBS) \
+ $(RADEON_LIBS)
+
+if HAVE_MESA_LLVM
+libomx_radeonsi_la_LDFLAGS += $(LLVM_LDFLAGS)
+libomx_radeonsi_la_LIBADD += $(LLVM_LIBS)
+endif
+
+# Provide compatibility with scripts for the old Mesa build system for
+# a while by putting a link to the driver into /lib of the build tree.
+all-local: libomx_radeonsi.la
+ $(MKDIR_P) $(top_builddir)/$(LIB_DIR)/gallium
+ ln -f .libs/libomx_radeonsi.so* $(top_builddir)/$(LIB_DIR)/gallium/
diff --git a/src/gallium/targets/radeonsi/omx/drm_target.c b/src/gallium/targets/radeonsi/omx/drm_target.c
new file mode 120000
index 00000000000..6955421104a
--- /dev/null
+++ b/src/gallium/targets/radeonsi/omx/drm_target.c
@@ -0,0 +1 @@
+../common/drm_target.c \ No newline at end of file