Hi Piers, Just wondering if you get the grey bar at the top of a 1/4 NTSC (i.e shift-M) or NTSC (shift-L) video window? See attached PNG file (ignore the blue mute, I don't have a camera to connect to my DVB PCI card at home). It looks like the image is pushed down by the same number of pixels as the bar. I seem to have that issue regardless of which version of FFMpeg/SWScaler is used.
I've reverted to ffmpeg svn -r 7110 and libswscale svn -r 21687 and VIC doesn't crash in the MMX2 libswscaler code with i386 Fedora. I think I might just disable the MMX2 code with a patch for the x86-64 build by using a conditional in the RPM spec file for the time being. Thanks, Doug Douglas Kosovic wrote: > Hi Piers, > >>> For Fedora 8 (i386 & x86-64), issue the following: >>> yum update AccessGrid >>> >>> which will install the mpeg4/h264 services and a new version of vic. >>> >>> Known issues: thumbnails for H.264 and MPEG-4 appear black, but video >>> windows are fine. This is because the software scaler that comes with >>> FFMpeg has been disabled to avoid a crash in some MMX2 assembly code >>> and >>> the old vic scalar doesn't support the required colorspace. I might >>> have >>> a newer version of vic released later in the week if I'm able to >>> resolve >>> the issue. >>> >> Thanks for sorting the RPMs out - > > Actually I haven't sorted the RPMs out yet, I wanted to use > 'alternatives' mechanism to release several different VIC RPMs built > with different build options, unfortunately there are issues when > performing a rpm update from an older VIC rpm which doesn't use > alternatives. The workaround is convoluted and involves RPM triggers. > > It might be for the better as more choices of VIC would only confuse > things for users. > > > When do you see the crash occurring? > > With H.261 CIF video window as soon as I increase the window size, > color-swscale crashes. > > If I do what one version of VLC I found does, which is disable the > SWS_CPU_CAPS_MMX2 flag, see attached patch, it works for me. > > > It runs ok on my machines - I guess the snag may be compile-time > > assembly optimisations...though at least some of it is runtime. You > > could try using a later version of ffmpeg - we just need to make sure > > its stable on all three platforms. > > I think it may have something to do with PIC addressing which > subsequently results in the wrong register(s) being used with MMX2. > > I think I might try the Ubuntu ffmpeg patches ( > ffmpeg_0.cvs20070307-5ubuntu6.diff.gz ) available here: > http://archive.ubuntu.com/ubuntu/pool/main/f/ffmpeg/ > which has -fPIC and assembly related patches. > > I've tried a few version of ffmpeg and libswscale (I made sure ffmpeg > and libswcale had the same datestamps). > > When I mentioned I thought the Fedora 8 livna repository's ffmpeg was > built with swscale in an email a few weeks ago, I was wrong, it isn't > built with swscale. > > > Cheers, > Doug > > > ------------------------------------------------------------------------ > > Index: render/color-swscale.cpp > =================================================================== > --- render/color-swscale.cpp (revision 4125) > +++ render/color-swscale.cpp (working copy) > @@ -70,12 +70,15 @@ > > #ifdef RUNTIME_CPUDETECT > flags |= (available_cpu_flags & FF_CPU_MMX ? SWS_CPU_CAPS_MMX : > 0); > +#if 0 > flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 > : 0); > +#endif > flags |= (available_cpu_flags & FF_CPU_3DNOW ? SWS_CPU_CAPS_3DNOW > : 0); > flags |= (available_cpu_flags & FF_CPU_ALTIVEC ? > SWS_CPU_CAPS_ALTIVEC : 0); > #elif defined(HAVE_MMX) > flags |= SWS_CPU_CAPS_MMX; > - #if defined(HAVE_MMX2) > + //#if defined(HAVE_MMX2) > + #if 0 > flags |= SWS_CPU_CAPS_MMX2; > #endif > #elif defined(HAVE_3DNOW)
<<attachment: test.png>>