inflating a bitmap image inside an IPL

We would like to compress a splash screen bitmap image and store it in
flash, then inside the IPL decompress it and display it. The image would
always be located at the same offset in linear mapped flash so the flash
driver doesn’t have to be running. This must happen before QNX is running so
the inflator and deflate utilities won’t work. Is the deflate code available
for incorporation into our IPL?

I would go and write an own equal byte compressor/decompressor. Will be less
efficient of course, but much easier to incorporate into your IPL.

Cheers,

Malte

“Ken Schumm” <kwschumm@qsolv.com> schrieb im Newsbeitrag
news:ek2v9b$i6q$1@inn.qnx.com

We would like to compress a splash screen bitmap image and store it in
flash, then inside the IPL decompress it and display it. The image would
always be located at the same offset in linear mapped flash so the flash
driver doesn’t have to be running. This must happen before QNX is running
so
the inflator and deflate utilities won’t work. Is the deflate code
available
for incorporation into our IPL?

You could use the compressors that libstartup uses, ie

void uncompress_lzo( uint8_t *dst, uint8_t *src )
void uncompress_ucl( uint8_t *dst, uint8_t *src )

They are both safe (don’t call malloc and don’t depend on any libstartup machinery)
Make sure to include the appropriate lib (libucl.a or liblzo.a) in your ipl.

Malte Mundt wrote:

I would go and write an own equal byte compressor/decompressor. Will be less
efficient of course, but much easier to incorporate into your IPL.

Cheers,

Malte

“Ken Schumm” <> kwschumm@qsolv.com> > schrieb im Newsbeitrag
news:ek2v9b$i6q$> 1@inn.qnx.com> …
We would like to compress a splash screen bitmap image and store it in
flash, then inside the IPL decompress it and display it. The image would
always be located at the same offset in linear mapped flash so the flash
driver doesn’t have to be running. This must happen before QNX is running
so
the inflator and deflate utilities won’t work. Is the deflate code
available
for incorporation into our IPL?
\

Thanks, that’s what I need. Thanks a bunch Colin!

“Colin Burgess” <cburgess@qnx.com> wrote in message
news:456DB2DC.5010409@qnx.com

You could use the compressors that libstartup uses, ie

void uncompress_lzo( uint8_t *dst, uint8_t *src )
void uncompress_ucl( uint8_t *dst, uint8_t *src )

They are both safe (don’t call malloc and don’t depend on any libstartup
machinery)
Make sure to include the appropriate lib (libucl.a or liblzo.a) in your
ipl.

Malte Mundt wrote:
I would go and write an own equal byte compressor/decompressor. Will be
less
efficient of course, but much easier to incorporate into your IPL.

Cheers,

Malte

“Ken Schumm” <> kwschumm@qsolv.com> > schrieb im Newsbeitrag
news:ek2v9b$i6q$> 1@inn.qnx.com> …
We would like to compress a splash screen bitmap image and store it in
flash, then inside the IPL decompress it and display it. The image
would
always be located at the same offset in linear mapped flash so the
flash
driver doesn’t have to be running. This must happen before QNX is
running
so
the inflator and deflate utilities won’t work. Is the deflate code
available
for incorporation into our IPL?
\

Thanks, I’ve got compression and decompression code but wanted to use
deflate to compress it since we’re using it elsewhere on the flash. A single
compressor is easier to keep straight.

Ken


“Malte Mundt” <mmundt@qnx.de> wrote in message
news:ekka1k$6i4$1@inn.qnx.com

I would go and write an own equal byte compressor/decompressor. Will be
less
efficient of course, but much easier to incorporate into your IPL.

Cheers,

Malte

“Ken Schumm” <> kwschumm@qsolv.com> > schrieb im Newsbeitrag
news:ek2v9b$i6q$> 1@inn.qnx.com> …
We would like to compress a splash screen bitmap image and store it in
flash, then inside the IPL decompress it and display it. The image would
always be located at the same offset in linear mapped flash so the flash
driver doesn’t have to be running. This must happen before QNX is
running
so
the inflator and deflate utilities won’t work. Is the deflate code
available
for incorporation into our IPL?
\

A preemptive response here, yes, I do know about the signature issues that
deflate uses with compressed images.

“Ken Schumm” <kwschumm@qsolv.com> wrote in message
news:ekllc9$3kc$1@inn.qnx.com

Thanks, I’ve got compression and decompression code but wanted to use
deflate to compress it since we’re using it elsewhere on the flash. A
single
compressor is easier to keep straight.

Ken


“Malte Mundt” <> mmundt@qnx.de> > wrote in message
news:ekka1k$6i4$> 1@inn.qnx.com> …
I would go and write an own equal byte compressor/decompressor. Will be
less
efficient of course, but much easier to incorporate into your IPL.

Cheers,

Malte

“Ken Schumm” <> kwschumm@qsolv.com> > schrieb im Newsbeitrag
news:ek2v9b$i6q$> 1@inn.qnx.com> …
We would like to compress a splash screen bitmap image and store it in
flash, then inside the IPL decompress it and display it. The image
would
always be located at the same offset in linear mapped flash so the
flash
driver doesn’t have to be running. This must happen before QNX is
running
so
the inflator and deflate utilities won’t work. Is the deflate code
available
for incorporation into our IPL?


\