[Ffmpeg-cvslog] r6732 - in trunk/libavcodec: cabac.h h264.c

Michael Niedermayer michaelni
Mon Nov 27 11:56:17 CET 2006


Hi

On Mon, Nov 27, 2006 at 02:33:33AM -0500, Rich Felker wrote:
> On Thu, Oct 19, 2006 at 03:19:04AM +0200, michael wrote:
> > Modified: trunk/libavcodec/cabac.h
> > ==============================================================================
> > --- trunk/libavcodec/cabac.h	(original)
> > +++ trunk/libavcodec/cabac.h	Thu Oct 19 03:19:03 2006
> > @@ -575,6 +575,36 @@
> >  }
> [...]
> > +
> > +static always_inline int get_cabac_bypass_sign(CABACContext *c, int val){
> > +#ifdef ARCH_X86
> > +    int bit;
> > +    asm volatile(
> [...]
> > +        "movl %%eax, "LOW      "(%1)            \n\t"
> > +
> > +        :"+c"(val)
> > +        :"r"(c)
> > +        : "%eax", "%ebx", "%edx", "memory"
> 
> Don't know how this broken code survived so long 

maybe noone uses PIC lavc ...


> but there's no way it
> could possibly work when compiling with PIC. 

push ebx asm pop ebx
anyone wants to send a bugreport to the gcc devels ;)
its funny, its a obvious bug, gcc can save and restore ebx, its not
different from any other used register unless of course gcc is missdesigned
and handles ebx in some special way but still i know its hopeless to
report ...

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is




More information about the ffmpeg-cvslog mailing list