From: Matthew M. <mmc...@gm...> - 2010-05-01 08:45:08
|
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 |
From: Keith W. <ke...@MI...> - 2010-05-01 16:43:43
|
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 > |
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 >>> >> > |
From: Matthew M. <mmc...@gm...> - 2010-05-04 08:22:54
|
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...> 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...> 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 > >>> > >> > > > |
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 >>> >> > |
From: Matthew M. <mmc...@gm...> - 2010-05-05 03:50:12
|
Hi David, Thanks. Those DLL's work and do indeed have SSE2 acceleration. (SSE2 produces approx 30% speed increase on my machine). But it is frustrating that I can't get my own build working in Visual Studio, as I would prefer to use a static library rather than a DLL. Thanks, Matt On 5 May 2010 02:46, Hoyt, David <ho...@ll...> wrote: > 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...> 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...> 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 > >>> > >> > > > > > |
From: Matthew M. <mmc...@gm...> - 2010-05-05 04:56:33
|
hmm. Not quite there. The OSSBuild GStreamer package contains: libmpeg2-0.dll libmpeg2convert-0.dll mpeg2.lib mpeg2convert.lib but unfortunately mpeg2convert.lib and mpeg2.lib are identical files. As a result, I'm unable to link to libmpeg2convert. Matt On 5 May 2010 13:49, Matthew McGinity <mmc...@gm...> wrote: > Hi David, > > Thanks. Those DLL's work and do indeed have SSE2 acceleration. > (SSE2 produces approx 30% speed increase on my machine). > > But it is frustrating that I can't get my own build working in Visual > Studio, as I would prefer to use a static library rather than a DLL. > > Thanks, > > Matt > > > > On 5 May 2010 02:46, Hoyt, David <ho...@ll...> wrote: > >> 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...> 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...> 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 >> >>> >> >> >> > >> >> >> > > |