[poppler] [PATCH] reimplement FlateStream using zlib

Albert Astals Cid tsdgeos at yahoo.es
Mon Apr 25 04:41:18 PDT 2005


To fix the "Error: Leftover args in content stream" problem i've changed 

if (out_pos >= out_buf_len) {
    if (status == Z_STREAM_END)
      eof = true;
    d_stream.avail_out = sizeof(out_buf);
    d_stream.next_out = out_buf;
    out_pos = 0;
  }

to

if (out_pos >= out_buf_len) {
    if (status == Z_STREAM_END)
    {
      eof = true;
      if (out_pos > out_buf_len) return EOF;
    }
    d_stream.avail_out = sizeof(out_buf);
    d_stream.next_out = out_buf;
    out_pos = 0;
  }

in FlateStream::getRawChar() and it seems to work.

Albert

A Dilluns 25 Abril 2005 12:27, Albert Astals Cid va escriure:
> Ok, i've run callgrind on it and i get
>
> with zlib    128,160,140,663
> without zlib 130,195,587,576
>
> so the zlib patch does less work, good :-)
>
> BUT i've found a problem, running the benchmark on PDFReference16 with the
> zlib patch i get
>
> $ ./benchmark /home/albert/benchmark/PDFReference16.pdf
> document title: PDF Reference, version 1.6
>
> rendering page 1074 / 1236Error: Unimplemented shading type 6
> Error: Unimplemented shading type 6
> rendering page 1236 / 1236Error: Leftover args in content stream
>
> while using the poppler native code i only get the Errors about
> Unimplemented shading type 6 but do not get the error about Leftover args
> in content stream.
>
> Albert
>
> A Dilluns 25 Abril 2005 00:35, vàreu escriure:
> > On Sun, Apr 24, 2005 at 11:48:00PM +0200, Albert Astals Cid wrote:
> > > Using your benchmark program and [the obviously wrong program to check
> > > performance called] time, PDFReference1.6 renders 0.5 secons SLOWLIER
> > > using zlib than using poppler native code.
> >
> > That is a bit suprising. The tests I had done showed zlib going faster.
> > When we stop using getChar I expect we will see much larger performance
> > gains over the native code.
>
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler
______________________________________________ 
Renovamos el Correo Yahoo!: ¡250 MB GRATIS! 
Nuevos servicios, más seguridad 
http://correo.yahoo.es


More information about the poppler mailing list