On Thu, May 16, 2019 at 08:52:39PM +0200, Reimar Döffinger wrote: > On Thu, May 16, 2019 at 08:00:55PM +0200, Reimar Döffinger wrote: > > On Thu, May 16, 2019 at 09:35:00PM +1000, Peter Ross wrote: > > > +static int read_mb_value(GetBitContext *gb) > > > +{ > > > + int v = 1; > > > + int size; > > > + OPEN_READER(re, gb); > > > + > > > + do { > > > + int bit; > > > + size = 0; > > > + > > > + UPDATE_CACHE(re, gb); > > > + bit = SHOW_UBITS(re, gb, 1); > > > + SKIP_BITS(re, gb, 1); > > > + if (!bit) > > > + break; > > > + > > > + do { > > > + bit = SHOW_UBITS(re, gb, 1); > > > + SKIP_BITS(re, gb, 1); > > > + if (!bit) > > > + break; > > > + size++; > > > + } while (size < 8); > > > + > > > + v += 1 << size; > > > + > > > + } while (size == 8); > > > + > > > + if (size) { > > > + v += SHOW_UBITS(re, gb, size); > > > + LAST_SKIP_BITS(re, gb, size); > > > + } > > > + > > > + CLOSE_READER(re, gb); > > > + return v; > > > +} > > > > I meant that you should do something like > > (could maybe be made less messy, and not > > sure it's really necessary to use the macro > > version, I think it'd prefer the plain > > show_bits etc) > > > > So many bugs in the previous version, this > one is at least a bit more correct...
ah, i see what you did there! it works perfectly, just missing UPDATE_CACHE at the start and in the loop. test results on i7 decoding 3 minute long 4k video with vp4. vp4 patch v3: bench: utime=113.439s stime=0.414s rtime=30.161s bench: utime=113.406s stime=0.403s rtime=30.123s bench: utime=113.533s stime=0.310s rtime=30.104s bench: utime=113.691s stime=0.414s rtime=30.148s bench: utime=113.414s stime=0.435s rtime=30.102s bench: utime=113.449s stime=0.370s rtime=30.138s bench: utime=113.277s stime=0.470s rtime=30.139s your patch + UPDATE_CACHE: bench: utime=113.373s stime=0.386s rtime=30.109s bench: utime=113.284s stime=0.378s rtime=30.122s bench: utime=113.314s stime=0.414s rtime=30.125s bench: utime=113.369s stime=0.378s rtime=30.130s bench: utime=113.309s stime=0.394s rtime=30.108s bench: utime=113.285s stime=0.435s rtime=30.048s bench: utime=113.506s stime=0.362s rtime=30.182s -- Peter (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".