From: Matthew M. <mmc...@gm...> - 2010-05-02 07:47:22
|
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...> 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... >>> https://lists.sourceforge.net/lists/listinfo/libmpeg2-devel >>> >> > |