Bug 744785 - libcrystalhd doesn't build on ARM due to use of sse compile options
Summary: libcrystalhd doesn't build on ARM due to use of sse compile options
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: libcrystalhd
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jarod Wilson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
 
Reported: 2011-10-10 13:13 UTC by Peter Robinson
Modified: 2012-08-11 08:06 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-11 08:06:52 UTC


Attachments (Terms of Use)

Description Peter Robinson 2011-10-10 13:13:23 UTC
Being a mini PCIe card it should be possible to use these on ARM devices but it doesn't compile because it doesn't use optimal compile options for the ARM platform. It should probably use standard CFLAGS so it compiles optimal on all platforms.

failed job: http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=181261

+ make
OBJFILES = libcrystalhd_if.o libcrystalhd_int_if.o libcrystalhd_fwcmds.o libcrystalhd_priv.o libcrystalhd_fwdiag_if.o libcrystalhd_fwload_if.o libcrystalhd_parser.o
SRCFILES = libcrystalhd_if.cpp libcrystalhd_int_if.cpp libcrystalhd_fwcmds.cpp libcrystalhd_priv.cpp libcrystalhd_fwdiag_if.cpp libcrystalhd_fwload_if.cpp libcrystalhd_parser.cpp
LNM = libcrystalhd.so.3.6 libcrystalhd.so.3
g++  -D__LINUX_USER__ -I./ -I/usr/include -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2  -c -o libcrystalhd_if.o libcrystalhd_if.cpp
cc1plus: error: unrecognized command line option "-msse2"
make: *** [libcrystalhd_if.o] Error 1

Comment 1 Nicolas Chauvet (kwizart) 2012-08-01 23:01:18 UTC
Actually this is not as easy as removing -msse2 as CFLAGS. There is also a need to replace the whole chroma conversion done exclusively in SSE2 asm from this file:
http://git.linuxtv.org/jarod/crystalhd.git/blob/HEAD:/linux_lib/libcrystalhd/libcrystalhd_int_if.cpp

I've done a stupid patch that comment out the SSE2 assembly, but I wonder if another library couldn't do the job.

Comment 2 Peter Robinson 2012-08-01 23:06:30 UTC
> I've done a stupid patch that comment out the SSE2 assembly, but I wonder if
> another library couldn't do the job.

ORC is one that comes to mind (http://code.entropywave.com/orc/) as it does conversion into SIMD instructions for different platforms so SSE for x86 or NEON for ARM etc.


Note You need to log in before you can comment on or make changes to this bug.