On Thu, Jan 26, 2017 at 01:30:34PM +0100, Vittorio Giovara wrote:
> On Thu, Jan 26, 2017 at 11:10 AM, Diego Biurrun <[email protected]> wrote:
> > From: Alexandra Hájková <[email protected]>
> >
> > ---
> >  libavcodec/jpeglsdec.c |  48 +++++-----
> >  libavcodec/jpeglsenc.c |  14 +--
> >  libavcodec/mjpegbdec.c |  44 ++++-----
> >  libavcodec/mjpegdec.c  | 242 
> > +++++++++++++++++++++----------------------------
> >  libavcodec/mjpegdec.h  |   5 +-
> >  libavcodec/mxpegdec.c  |   9 +-
> >  6 files changed, 165 insertions(+), 197 deletions(-)
> 
> This is hardly a fringe codec ;)

Feel free to benchmark it ;-p

> > @@ -542,26 +533,14 @@ static int 
> > decode_block_progressive(MJpegDecodeContext *s, int16_t *block,
> >          return 0;
> >      }
> >
> > -    {
> > -        OPEN_READER(re, &s->gb);
> >          for (i = ss; ; i++) {
> > -            UPDATE_CACHE(re, &s->gb);
> > -            GET_VLC(code, re, &s->gb, s->vlcs[2][ac_index].table, 9, 2);
> > +            code = bitstream_read_vlc(&s->bc, s->vlcs[2][ac_index].table, 
> > 9, 2);
> >
> >              run = ((unsigned) code) >> 4;
> >              code &= 0xF;
> >              if (code) {
> >                  i += run;
> > -                if (code > MIN_CACHE_BITS - 16)
> > -                    UPDATE_CACHE(re, &s->gb);
> > -
> > -                {
> > -                    int cache = GET_CACHE(re, &s->gb);
> > -                    int sign  = (~cache) >> 31;
> > -                    level     = (NEG_USR32(sign ^ cache,code) ^ sign) - 
> > sign;
> > -                }
> > -
> > -                LAST_SKIP_BITS(re, &s->gb, code);
> > +                level = bitstream_read_xbits(&s->bc, code);
> >
> >                  if (i >= se) {
> >                      if (i == se) {
> > @@ -584,17 +563,13 @@ static int 
> > decode_block_progressive(MJpegDecodeContext *s, int16_t *block,
> >                  } else {
> >                      val = (1 << run);
> >                      if (run) {
> > -                        UPDATE_CACHE(re, &s->gb);
> > -                        val += NEG_USR32(GET_CACHE(re, &s->gb), run);
> > -                        LAST_SKIP_BITS(re, &s->gb, run);
> > +                        val += NEG_USR32(bitstream_read(&s->bc, 32), run);
> >                      }
> >                      *EOBRUN = val - 1;
> >                      break;
> >                  }
> >              }
> >          }
> > -        CLOSE_READER(re, &s->gb);
> > -    }
> >
> >      if (i > *last_nnz)
> >          *last_nnz = i;
> 
> This chunk will be oddly indented after the patch, I would leave the
> {} around it (and then realign optionally, or not since there are a
> lot of places like that)

I'll leave the {} in, they are going away in a final cleanup patch.

Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to