For media players I always recommend Fluendo before
trying to roll your own.
Cannot test OS support for SSE, leaving disabled.
.....
When I get some time I will look into the SSE message.
See the fix for SSE/SSE2 below in cpudetect.c.
Maybe someone could request pushing this to the upstream
code. SSE and SSE2 are enabled on my Atom N330 so
hopefully this will help speedup the CPU bound portions
of the playback. (I'm not certain the "__sun" is the
correct macro going forward, but it is the only thing
that seemed to work with all the compilers I tested).
On a Atom N330 + ION 4GB system not on the Oracle network
I loaded b134 and added the gcc-43, svn, gettext, and
x11/header packages from the /dev repository.
Downloaded mplayer following the VDPAU instructions:
$ mkdir mplayer
$ cd mplayer
$ svn co --ignore-externals svn://svn.mplayerhq.hu/mplayer/trunk .
$ svn co svn://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec
$ svn co svn://svn.mplayerhq.hu/ffmpeg/trunk/libavformat
$ svn co svn://svn.mplayerhq.hu/ffmpeg/trunk/libavutil
$ svn co svn://svn.mplayerhq.hu/ffmpeg/trunk/libpostproc
$ svn co svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdread/src libdvdread4
$ svn co svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src libdvdnav
Made the following changes:
+++ configure 2010-07-20 09:27:25.178089569 -0400
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
#
# Original version (C) 2000 Pontscho/fresh!mindworkz
# ponts...@makacs.poliod.hu
@@ -1503,6 +1503,10 @@
extra_cflags="$extra_cflags -I/usr/pkg/include"
fi
+if sunos ; then
+extra_cflags="$extra_cflags -Wa,--divide"
+fi
+
if darwin; then
extra_cflags="-mdynamic-no-pic -falign-loops=16 -shared-libgcc
$extra_cflags"
_timer=timer-darwin.c
+++ version.sh 2010-07-20 09:28:42.220664374 -0400
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
test "$1" && extra="-$1"
+++ cpudetect.c 2010-07-20 13:47:06.382713016 -0400
@@ -45,6 +45,8 @@
#include <os2.h>
#elif defined(__AMIGAOS4__)
#include <proto/exec.h>
+#elif defined(__sun)
+#include <sys/auxv.h>
#endif
/* Thanks to the FreeBSD project for some of this cpuid code, and
@@ -416,6 +418,11 @@
mp_msg(MSGT_CPUDETECT,MSGL_WARN, "Cannot test OS support for SSE,
disabling to be safe.\n" );
gCpuCaps.hasSSE=0;
#endif /* _POSIX_SOURCE */
+#elif defined(__sun)
+ uint32_t ui = 0;
+ (void)getisax(&ui, 1);
+ gCpuCaps.hasSSE = (ui & AV_386_SSE) ? 1 : 0;
+ gCpuCaps.hasSSE2 = (ui & AV_386_SSE2) ? 1 : 0;
#else
/* Do nothing on other platforms for now.
*/
Built with:
$ export PATH=/usr/gcc/4.3/bin:$PATH
$ export CC=/usr/gcc/4.3/bin/gcc
$ export CXX=/usr/gcc/4.3/bin/g++
$ ./configure --disable-xvr100 --enable-gui --disable-x264-lavc
--disable-x264 --enable-vdpau
$ gmake
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org