On Sun, Aug 31, 2014 at 10:51:40PM +0200, Reimar Döffinger wrote:
> On Sun, Aug 31, 2014 at 09:32:45PM +0200, Michael Niedermayer wrote:
> > On Sun, Aug 31, 2014 at 04:48:41PM +0200, Reimar Döffinger wrote:
> > > -        code = get_vlc2(&s->gb, rl->vlc.table, TCOEFF_VLC_BITS, 2);
> > > -        if (code < 0) {
> > > +        UPDATE_CACHE(re, &s->gb);
> > > +        GET_RL_VLC(level, run, re, &s->gb, rl->rl_vlc[0], 
> > > TCOEFF_VLC_BITS, 2, 0);
> > > +        if (run == 66 && level) {
> > >              av_log(s->avctx, AV_LOG_ERROR, "illegal ac vlc code at 
> > > %dx%d\n",
> > >                     s->mb_x, s->mb_y);
> > >              return -1;
> > >          }
> > > -        if (code == rl->n) {
> > > +        if (run == 66) {
> > 
> > the "if (run == 66 && level) {" could be put under run == 66, if thats
> > faster
> > though maybe better as a seperate patch
> 
> I should probably test it, but I was thinking about it and then went
> "the compiler certainly will figure that out on its own!?"

Argh! I want to kill a compiler! Except that they only exist as bits so
I can't...
The compiler decides to check level first, and if it is non-0 jump
somewhere else, where it then checks run for being 66...
That's with gcc Debian 4.9.1-11 at least.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to