On Fri, Apr 22, 2011 at 6:38 PM, Ronald S. Bultje <rsbul...@gmail.com> wrote: > This prevents gcc from assuming that contents of it may have changed > between calls to vp56_range_get_prob(), thus preventing countless (and > unnecessary) movs. Decoding of sintel trailer goes from (avg+SG) 9.796 > +/- 0.003 to 9.635 +/- 0.010. > > This is admittedly a hack.
h264_cabac turns this off for ARCH_X86, but I'm not sure that's merited. Does the code get better or worse with gcc-4.2 x86-32? If it's better, OK with me. (Huh, vp6 rac has an arm version and branchy version but cabac doesn't?) > --- > libavcodec/vp8.c | 38 ++++++++++++++++++++------------------ > 1 files changed, 20 insertions(+), 18 deletions(-) > > [..] > - block[zigzag_scan[i]] = (vp8_rac_get(c) ? -coeff : coeff) * > qmul[!!i]; > + block[zigzag_scan[i]] = (vp8_rac_get(&c) ? -coeff : coeff) * > qmul[!!i]; > } while (++i < 16); Come back and make this branchless later. See get_cabac_bypass_sign(). _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel