[FFmpeg-devel] [PATCH] VC-1 MMX DSP functions
infernix
infernix
Sat Jul 7 14:13:42 CEST 2007
Christophe GISQUET wrote:
> here are the MMX functions now licensed under the MIT license.
This breaks compilation on Debian Etch x86_64. I'm unsure if this is
expected behavior though.
I applied (in order):
vc1dsp_c_cosmetics.diff
vc1dsp_c_macroify.diff
vc1dsp_c_proto.diff
vc1dsp_mmx.diff
If i build with --enable-gpl --enable-pp --enable-pthreads
--enable-libx264 --cpu=nocona --disable-dv1394 --enable-libvorbis
--enable-libogg --enable-libxvid --enable-libmp3lame --enable-liba52,
the error is:
gcc -I"/home/infernix/src/ffmpeg/trunk-20060706"/libswscale
-I"/home/infernix/src/ffmpeg/trunk-20060706"/libavcodec
-DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_ISOC9X_SOURCE -I"/home/infernix/src/ffmpeg/trunk-20060706"
-I"/home/infernix/src/ffmpeg/trunk-20060706"
-I"/home/infernix/src/ffmpeg/trunk-20060706"/libavutil
-fomit-frame-pointer -march=nocona -pthread -g
-Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization
-Wpointer-arith -Wredundant-decls -Wno-pointer-sign -O3 -c -o
i386/cputest.o i386/cputest.c
In file included from
/home/infernix/src/ffmpeg/trunk-20060706/libavcodec/dsputil.h:33,
from i386/cputest.c:24:
/home/infernix/src/ffmpeg/trunk-20060706/libavcodec/avcodec.h:2252:
warning: 'ImgReSampleContext' is deprecated
/home/infernix/src/ffmpeg/trunk-20060706/libavcodec/avcodec.h:2258:
warning: 'ImgReSampleContext' is deprecated
gcc -I"/home/infernix/src/ffmpeg/trunk-20060706"/libswscale
-I"/home/infernix/src/ffmpeg/trunk-20060706"/libavcodec
-DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_ISOC9X_SOURCE -I"/home/infernix/src/ffmpeg/trunk-20060706"
-I"/home/infernix/src/ffmpeg/trunk-20060706"
-I"/home/infernix/src/ffmpeg/trunk-20060706"/libavutil
-fomit-frame-pointer -march=nocona -pthread -g
-Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization
-Wpointer-arith -Wredundant-decls -Wno-pointer-sign -O3 -c -o
i386/dsputil_mmx.o i386/dsputil_mmx.c
In file included from
/home/infernix/src/ffmpeg/trunk-20060706/libavcodec/dsputil.h:33,
from i386/dsputil_mmx.c:25:
/home/infernix/src/ffmpeg/trunk-20060706/libavcodec/avcodec.h:2252:
warning: 'ImgReSampleContext' is deprecated
/home/infernix/src/ffmpeg/trunk-20060706/libavcodec/avcodec.h:2258:
warning: 'ImgReSampleContext' is deprecated
i386/dsputil_mmx.c: In function 'gmc_mmx':
i386/dsputil_mmx.c:2658: warning: suggest parentheses around arithmetic
in operand of |
i386/dsputil_mmx.c:2658: warning: suggest parentheses around arithmetic
in operand of |
i386/dsputil_mmx.c:2659: warning: suggest parentheses around arithmetic
in operand of |
i386/dsputil_mmx.c:2659: warning: suggest parentheses around arithmetic
in operand of |
i386/dsputil_mmx.c:2659: warning: suggest parentheses around arithmetic
in operand of |
In file included from i386/dsputil_mmx.c:2831:
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc22_3dnow':
i386/h264dsp_mmx.c:1359: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc21_3dnow':
i386/h264dsp_mmx.c:1359: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc23_3dnow':
i386/h264dsp_mmx.c:1359: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc12_3dnow':
i386/h264dsp_mmx.c:1359: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc32_3dnow':
i386/h264dsp_mmx.c:1359: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc22_3dnow':
i386/h264dsp_mmx.c:1360: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc21_3dnow':
i386/h264dsp_mmx.c:1360: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc23_3dnow':
i386/h264dsp_mmx.c:1360: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc12_3dnow':
i386/h264dsp_mmx.c:1360: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc32_3dnow':
i386/h264dsp_mmx.c:1360: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc22_3dnow':
i386/h264dsp_mmx.c:1361: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc21_3dnow':
i386/h264dsp_mmx.c:1361: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc23_3dnow':
i386/h264dsp_mmx.c:1361: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc12_3dnow':
i386/h264dsp_mmx.c:1361: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc32_3dnow':
i386/h264dsp_mmx.c:1361: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc22_3dnow':
i386/h264dsp_mmx.c:1362: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc21_3dnow':
i386/h264dsp_mmx.c:1362: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc23_3dnow':
i386/h264dsp_mmx.c:1362: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc12_3dnow':
i386/h264dsp_mmx.c:1362: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc32_3dnow':
i386/h264dsp_mmx.c:1362: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc22_3dnow':
i386/h264dsp_mmx.c:1363: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc21_3dnow':
i386/h264dsp_mmx.c:1363: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc23_3dnow':
i386/h264dsp_mmx.c:1363: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc12_3dnow':
i386/h264dsp_mmx.c:1363: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc32_3dnow':
i386/h264dsp_mmx.c:1363: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc22_3dnow':
i386/h264dsp_mmx.c:1364: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc21_3dnow':
i386/h264dsp_mmx.c:1364: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc23_3dnow':
i386/h264dsp_mmx.c:1364: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc12_3dnow':
i386/h264dsp_mmx.c:1364: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc32_3dnow':
i386/h264dsp_mmx.c:1364: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc22_mmx2':
i386/h264dsp_mmx.c:1365: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc21_mmx2':
i386/h264dsp_mmx.c:1365: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc23_mmx2':
i386/h264dsp_mmx.c:1365: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc12_mmx2':
i386/h264dsp_mmx.c:1365: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel4_mc32_mmx2':
i386/h264dsp_mmx.c:1365: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc22_mmx2':
i386/h264dsp_mmx.c:1366: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc21_mmx2':
i386/h264dsp_mmx.c:1366: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc23_mmx2':
i386/h264dsp_mmx.c:1366: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc12_mmx2':
i386/h264dsp_mmx.c:1366: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel8_mc32_mmx2':
i386/h264dsp_mmx.c:1366: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc22_mmx2':
i386/h264dsp_mmx.c:1367: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc21_mmx2':
i386/h264dsp_mmx.c:1367: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc23_mmx2':
i386/h264dsp_mmx.c:1367: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc12_mmx2':
i386/h264dsp_mmx.c:1367: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'put_h264_qpel16_mc32_mmx2':
i386/h264dsp_mmx.c:1367: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc22_mmx2':
i386/h264dsp_mmx.c:1368: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc21_mmx2':
i386/h264dsp_mmx.c:1368: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc23_mmx2':
i386/h264dsp_mmx.c:1368: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc12_mmx2':
i386/h264dsp_mmx.c:1368: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel4_mc32_mmx2':
i386/h264dsp_mmx.c:1368: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc22_mmx2':
i386/h264dsp_mmx.c:1369: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc21_mmx2':
i386/h264dsp_mmx.c:1369: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc23_mmx2':
i386/h264dsp_mmx.c:1369: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc12_mmx2':
i386/h264dsp_mmx.c:1369: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel8_mc32_mmx2':
i386/h264dsp_mmx.c:1369: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc22_mmx2':
i386/h264dsp_mmx.c:1370: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc21_mmx2':
i386/h264dsp_mmx.c:1370: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc23_mmx2':
i386/h264dsp_mmx.c:1370: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc12_mmx2':
i386/h264dsp_mmx.c:1370: warning: dereferencing type-punned pointer will
break strict-aliasing rules
i386/h264dsp_mmx.c: In function 'avg_h264_qpel16_mc32_mmx2':
i386/h264dsp_mmx.c:1370: warning: dereferencing type-punned pointer will
break strict-aliasing rules
/tmp/ccaopxZe.s: Assembler messages:
/tmp/ccaopxZe.s:25763: Error: `0(%rdx,%ecx)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25764: Error: `4(%rdx,%ecx)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25765: Error: `0(%rdx,%ecx,2)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25766: Error: `4(%rdx,%ecx,2)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25785: Error: `0(%rdx,%eax)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25786: Error: `4(%rdx,%eax)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25832: Error: `0(%rdx,%eax)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25833: Error: `4(%rdx,%eax)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25842: Error: `0(%rdx,%ecx,2)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25843: Error: `4(%rdx,%ecx,2)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25850: Error: `0(%rdx,%ecx)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25851: Error: `4(%rdx,%ecx)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25916: Error: `0(%rdx,%ecx)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25917: Error: `4(%rdx,%ecx)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25924: Error: `0(%rdx,%ecx,2)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25925: Error: `4(%rdx,%ecx,2)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25932: Error: `0(%rdx,%eax)' is not a valid base/index
expression
/tmp/ccaopxZe.s:25933: Error: `4(%rdx,%eax)' is not a valid base/index
expression
make[2]: *** [i386/dsputil_mmx.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory
`/home/infernix/src/ffmpeg/trunk-20060706/libavcodec'
make[1]: *** [lib] Error 2
rm doc/ffserver.pod doc/ffmpeg.pod doc/ffplay.pod
make[1]: Leaving directory `/home/infernix/src/ffmpeg/trunk-20060706'
make: *** [build-stamp] Error 2
More information about the ffmpeg-devel
mailing list