I made an AVI recording program that receives DIBs as source.
It works fine with non-palette DIBs (24bit).

But, it doesn't work with palette DIBs(8bit).

Each of 8bit DIB has its own palette,
so I think that each AVI frame must have its own palette data.

How can I put palette in the frame of AVI?

Thank you for your reading.
And happy new year!
Posted on 2002-01-01 20:00:58 by nyam
two more questions:

- which API do you use ? (MCI, activeX, capxxx)
- which codec? I think, the palette capability depends on the codec
Posted on 2002-01-02 03:43:34 by beaster
Thank you for your replying.

I used Microsoft AVI File support library(AVIFIL32.DLL)
(I used AVIFileCreateStream,AVIFileExit,AVIFileWriteData ....)

And I used several palette-support codecs (Microsoft RLE, Microsoft Video1)
Posted on 2002-01-02 07:01:52 by nyam
I found this hint in my multimedia docu:

if you want to make single palettes for each frame than switch on this flag in the AVI streaminfo header:

dwFlags
Applicable flags for the stream. The bits in the high-order word of these flags are specific to the type of data contained in the stream. The following flags are defined:
AVISTREAMINFO_FORMATCHANGES
Indicates this video stream contains palette changes. This flag warns the playback software that it will need to animate the palette.


otherwise you can try another avi player, maybe the one you use does not support per frame palettes.
Posted on 2002-01-02 09:17:08 by beaster