fix ffmpeg build problem

来源:互联网 发布:windows程序设计 pdf 编辑:程序博客网 时间:2024/05/16 18:13


First show the error message and root cause:


error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'

error: unknown register name ‘%xmm0’ in ‘asm’


affetcted files

libavcodec/x86/mpegvideo_mmx.c

libavcodec/x86/mpegvideo_mmx_template.c


Just cut the bottom half source into another source file and compile it .

I think , it is a gcc bug.


2.  undefiend symbols

when use libavcodec, it report that these symbols can't be found in static library.


00000000 T ff_float_interleave_c
         U ff_float_interleave2_mmx
         U ff_float_interleave2_sse
         U ff_float_interleave6_mmx
         U ff_float_interleave6_sse
         U ff_float_interleave_c
         U ff_float_to_int16_3dnow
         U ff_float_to_int16_interleave2_3dnow
         U ff_float_to_int16_interleave2_sse
         U ff_float_to_int16_interleave2_sse2
         U ff_float_to_int16_interleave6_3dn2
         U ff_float_to_int16_interleave6_3dnow
         U ff_float_to_int16_interleave6_sse
         U ff_float_to_int16_sse
         U ff_float_to_int16_sse2


This is occus when assebly files are not compiled into libavcodec.



原创粉丝点击