[MPlayer-cvslog] Re: CVS: main/postproc swscale_template.c, 1.116, 1.117
Tobias Diedrich
ranma at tdiedrich.de
Tue Jun 28 00:30:18 CEST 2005
Tobias Diedrich wrote:
> It redefines "inline" as "inline __attribute__((always_inline))".
> If I add "#define inline inline __attribute__((always_inline))" at
> the top of swscale_template.c it works with gcc-3.3 and the MMX2
> code no longer segfaults.
Since reimar says it doesn't work for him, here is the patch and
exact gcc version + command line tested:
ranma at nukunuku:~/src/mplayer-cvs/main-rw/postproc$ dpkg -l gcc-3.3
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii gcc-3.3 3.3.5-13 The GNU C compiler
ranma at nukunuku:~/src/mplayer-cvs/main-rw/postproc$ gcc --version
gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ranma at nukunuku:~/src/mplayer-cvs/main-rw/postproc$ cvs -z3 diff -u swscale_template.c
ranma at mplayer.dev.hu's password:
Index: swscale_template.c
===================================================================
RCS file: /cvsroot/mplayer/main/postproc/swscale_template.c,v
retrieving revision 1.117
diff -u -r1.117 swscale_template.c
--- swscale_template.c 24 Jun 2005 12:17:30 -0000 1.117
+++ swscale_template.c 27 Jun 2005 22:23:25 -0000
@@ -16,6 +16,8 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define inline inline __attribute__((always_inline))
+
#undef REAL_MOVNTQ
#undef MOVNTQ
#undef PAVGB
ranma at nukunuku:~/src/mplayer-cvs/main-rw/postproc$ make clean && make
rm -f *.o *.a *~ *.so cs_test swscale-example
gcc -c -I../libvo -I../../libvo -I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu99 -I. -I.. -I.. -o swscale.o swscale.c
gcc -c -I../libvo -I../../libvo -I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu99 -I. -I.. -I.. -o rgb2rgb.o rgb2rgb.c
In file included from rgb2rgb.c:12:
rgb2rgb.h: In function `yuv2rgb':
rgb2rgb.h:134: warning: implicit declaration of function `printf'
gcc -c -I../libvo -I../../libvo -I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu99 -I. -I.. -I.. -o yuv2rgb.o yuv2rgb.c
ar r libswscale.a swscale.o rgb2rgb.o yuv2rgb.o
ar: creating libswscale.a
true libswscale.a
ranma at nukunuku:~/src/mplayer-cvs/main-rw/postproc$ cd .. && make mplayer
gcc -I../libvo -I../../libvo -I/usr/X11R6/include -fno-PIC -g -O4 -march=athlon-xp -mcpu=athlon-xp -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu99 -I. -I/usr/include/freetype2 -I/usr/X11R6/include -o mplayer mplayer.o mp_msg.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o m_config.o m_option.o m_struct.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subreader.o vobsub.o mixer.o parser-mpcmd.o subopt-helper.o libvo/libvo.a libao2/libao2.a libmpcodecs/libmpcodecs.a loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a libaf/libaf.a libmpdemux/libmpdemux.a input/libinput.a postproc/libswscale.a osdep/libosdep.a -Llibmpdvdkit2 -lmpdvdkit libavcodec/libavcodec.a libavformat/libavformat.a -lmad -ltheora -logg -lmp3lame -lpng -lz -lz -ljpeg -lasound -ldl -lpthread -lfreetype -lz -ltermcap -lnsl -lungif -lfontconfig libfaad2/libfaad2.a liba52/liba52.a libmpeg2/libmpeg2.a tremor/libvorbisidec.a -lXv -lXxf86vm -lXinerama -L/usr/X11R6/lib -lXext -lX11 -lnsl -lnsl -laudio -lXt -L/usr/X11R6/lib -lXext -lX11 -lnsl -Wl,-z,noexecstack -lpthread -ldl -rdynamic -lm
ranma at nukunuku:~/src/mplayer-cvs/main-rw$
If I test the resulting binary on an Athlon XP, using
"mplayer -vf scale=800:-2 Sousei_no_Aquarion_11_\[l33t-raws\]\[7BB5B740\].avi"
it works without segfault, if I remove the define and repeat the
above steps I get the segfault.
--
Tobias PGP: http://9ac7e0bc.uguu.de
More information about the MPlayer-cvslog
mailing list