On Tue, May 14, 2019 at 10:37:03PM +1000, Peter Ross wrote:
> On Sun, May 12, 2019 at 01:24:56PM +0200, Reimar Döffinger wrote:
> > On 12.05.2019, at 08:12, Peter Ross <pr...@xvid.org> wrote:
> > > +static int read_mb_value(GetBitContext *gb)
> > > +{
> > > +    int v = 1;
> > > +    int size;
> > > +
> > > +    do {
> > > +        size = 0;
> > > +        if (!get_bits1(gb))
> > > +            break;
> > > +        v++;
> > > +        do {
> > > +            if (!get_bits1(gb))
> > > +                break;
> > > +            v += 1 << size++;
> > > +        } while (size < 8);
> > > +    } while (size == 8);
> > > +
> > > +    if (size)
> > > +        v += get_bits(gb, size);
> > > +
> > > +    return v;
> > > +}
> >
> > Maybe not worth it performance wise, but did you check if this could be 
> > simplified?
> > For example the get_bits1 cases that end up with size 0 could return 
> > directly.
> > Or it could peek ahead 9 bits in the bitstream and count the leading 1s to 
> > get v and size without looping (i.e. loop only for the 9 bits of 1s 
> > specifically).
> > Alternatively add a comment to clarify the encoding scheme it implements 
> > (like 9 consecutive 1s is a prefix encoding an offset of 257 etc).
>
> thanks for these suggestions.
>
> replacing get_bits() with OPEN_READER/UPDATE_CACHE/SHOW_UBITS/etc results in a
> consistent 0.50 % speedup.

Not sure how readable that gets, I actually just meant taking
advantage of show_bits()
While nice, I am not sure speed is much of a consideration for vp4
really.
_______________________________________________
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".

Reply via email to