[FFmpeg-devel] [PATCH] do not pointlessly use REG_BP
Reimar Döffinger
Reimar.Doeffinger
Fri Jan 1 02:05:22 CET 2010
On Fri, Jan 01, 2010 at 01:32:50AM +0100, Michael Niedermayer wrote:
> On Thu, Dec 31, 2009 at 10:34:35PM +0100, Reimar D?ffinger wrote:
> > Hello,
> > this might cause compilation issues, since EBP might not be available
> > even on x86_64.
> > Since there are enough register, this patch just lets gcc choose a
> > register:
> > Index: swscale_template.c
> > ===================================================================
> > --- swscale_template.c (revision 30151)
> > +++ swscale_template.c (working copy)
> > @@ -1225,18 +1225,19 @@
> > case PIX_FMT_RGB32:
> > if (CONFIG_SWSCALE_ALPHA && c->alpPixBuf) {
> > #if ARCH_X86_64
> > + x86_reg tmp;
> > __asm__ volatile(
> > - YSCALEYUV2RGB(%%REGBP, %5)
> > - YSCALEYUV2RGB_YA(%%REGBP, %5, %6, %7)
> > + YSCALEYUV2RGB(%0, %6)
> > + YSCALEYUV2RGB_YA(%0, %6, %7, %8)
> > "psraw $3, %%mm1 \n\t" /* abuf0[eax] - abuf1[eax] >>7*/
> > "psraw $3, %%mm7 \n\t" /* abuf0[eax] - abuf1[eax] >>7*/
> > "packuswb %%mm7, %%mm1 \n\t"
> > - WRITEBGR32(%4, 8280(%5), %%REGBP, %%mm2, %%mm4, %%mm5, %%mm1, %%mm0, %%mm7, %%mm3, %%mm6)
> > + WRITEBGR32(%5, 8280(%6), %%REGBP, %%mm2, %%mm4, %%mm5, %%mm1, %%mm0, %%mm7, %%mm3, %%mm6)
> ^^^^^^^
> and please test it next time
I was (and actually still am) trying to figure out a way to do that.
It seems that swscale doesn't get recompiled when only changing the
template, swscale-example doesn't test this case, I haven't figured out
the command line to test with FFmpeg and MPlayer just crashes...
I'll try again after solving at least some of the other issues...
More information about the ffmpeg-devel
mailing list