From: Hoyt, D. <ho...@ll...> - 2010-05-04 16:46:50
|
You can get a copy built by the OSSBuild folks: http://code.google.com/p/ossbuild/ Download and install the GPL version and then the GPL SDK and you'll have the headers and libs you need. I'm unsure if it's built w/ SSE2 or not. My work's filter likes to put asterisks (*) in URLs to prevent people from clicking on just any link they find in an email, so if you see one, take it out. From: Matthew McGinity [mailto:mmc...@gm...] Sent: Tuesday, May 04, 2010 1:22 AM To: Keith Winstein Cc: lib...@li... Subject: Re: [mpeg2-dev] Exception in mpeg2_idct_copy_sse2 Hi, Can anyone confirm that they have SSE2 acceleration from a visual studio 2005 build of libmpeg2? How were those .obj files generated? Or perhaps someone could provide me with a release build of libmpeg2.lib 0.5.1 ?? Any ideas whatsoever greatly appreciated! Thanks Matt -- Matthew McGinity iCinema Centre for Interactive Cinema Research University of New South Wales, Sydney, Australia http://*www.*icinema.unsw.edu.au Tel: 0405 115 322 On 2 May 2010 17:46, Matthew McGinity <mmc...@gm...<mailto:mmc...@gm...>> wrote: Hi Keith, Just resending last mail without attachment so it's not bounced by the mailing-list. I've compiled both sample1 and mpeg2dec and they both suffer the same problem. I've compiled version 0.4.1 and that works fine - which is to be expected as the SSE2 support was introduced in version .5 > I didn't understand your remark about "I assume the source files for the > .obj files in vc++ cannot be built with VC++". Are you saying you're not > compiling libmpeg2 from the source code and just using somebody else's > build? I'm building my own version. My project has these source files: libmpeg2\alloc.c libmpeg2\decode.c libmpeg2\header.c libmpeg2\idct.c libmpeg2\motion_comp.c libmpeg2\motion_comp_vis.c libmpeg2\slice.c libmpeg2\convert\rgb.c libmpeg2\convert\rgb_vis.c libmpeg2\convert\uyvy.c and these object files: vc++\cpu_accel.obj vc++\cpu_state.obj vc++\idct_mmx.obj vc++\motion_comp_mmx.obj vc++\rgb_mmx.obj I tried compiling these .obj files from their corresponding source .c files but without success - I don't think they're intended to be built with vc++. The only changes I've made is removing #define restrict __restrict from config.h I can easily email out my complete solution should anyone with windows and Visual Studio 2005 be willing to take a look. (I don't think I can send attachments to this forum) Cheers, Matt > On 2 May 2010 02:43, Keith Winstein <ke...@mi...<mailto:ke...@mi...>> wrote: >> Hi Matthew, >> >> We're here. Unfortunately I don't have Windows and would have a hard time >> trying to reproduce this problem for you. (It works fine for me with gcc on >> Linux; I recognize that's not very helpful to know.) >> >> Are you able to compile the "mpeg2dec" program that ships with libmpeg2? >> Does it also bomb out like this? >> >> I didn't understand your remark about "I assume the source files for the >> .obj files in vc++ cannot be built with VC++". Are you saying you're not >> compiling libmpeg2 from the source code and just using somebody else's >> build? Sorry for the confusion. >> >> Regards, >> Keith >> >> On Sat, 1 May 2010, Matthew McGinity wrote: >> >>> Hi, >>> >>> First question - is there anyone out there? Is this forum still alive? >>> >>> I have libmpeg2 version 5.0.1 compiling in VS2005. >>> My test file, based on sample5.c, works perfectly, provided I don't enable >>> SSE2. >>> >>> That is, if I change mpeg2_init() to use >>> mpeg2_accel(0); >>> or >>> mpeg2_accel(MPEG2_ACCEL_X86_MMX); >>> or >>> mpeg2_accel(MPEG2_ACCEL_X86_MMXEXT); >>> everything works fine. >>> >>> However, if I allow auto-detection >>> mpeg2_accel(MPEG2_ACCEL_DETECT); >>> it chooses sse2 acceleration and I get an exception on the very first >>> call to mpeg2_idct_copy in slice_intra_DCT in mpeg2_slice: >>> >>> "First-chance exception at 0x00445fa3 in icMPEG2Test.exe: 0xC0000005: >>> Access violation reading location 0xffffffff." >>> >>> Stack location is: _mpeg2_idct_copy_sse2() + 0x13 bytes >>> >>> In my project, I'm linking to all the .obj files provided in directory >>> \libmpeg2\vc++ >>> >>> Not quite sure how to proceed. I assume the source files for the .obj >>> files in vc++ >>> cannot be built with VC++. (I tried renaming __asm__ to __asm and >>> __volatile__ to volatile, but it didn't get me far). >>> >>> Any advice appreciated, >>> >>> Matt >>> - libmpeg2 v5.0.1, Windows XP, Intel Core2 Quad CPU Q9400, Visual Studio >>> 2005 >>> >>> >>> >>> -- >>> Matthew McGinity >>> iCinema Centre for Interactive Cinema Research >>> University of New South Wales, Sydney, Australia >>> http://*www.*icinema.unsw.edu.au >>> Tel: 0405 115 322 >>> >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Libmpeg2-devel mailing list >>> Lib...@li...<mailto:Lib...@li...> >>> https://*lists.sourceforge.net/lists/listinfo/libmpeg2-devel >>> >> > |