From: Schmidt on

"Johan St�ck" <johan(a)stack.se> schrieb im Newsbeitrag
news:7ufb2uFb5qU1(a)mid.individual.net...

> That is a great idea, which I will follow up...
> The actual problem here is decomp only of DV frames.

Just a note (regarding DV-codecs)...

most of them only succeed in the ICDecompress_Begin
and subsequent ICSendMessage-Decompress-Calls, if
you specified the correct color-depth (24Bit) in both, the
BiComp- and BiDec-defintions - at least BiComp needs
that definitely, 32Bit in BiDec (which describes your preferred
Output-DIB-format) *may* succeed, but not with all DV-codecs.
Oh, and make sure the Dimensions are right too - for PAL-
DV this is 720x576 - and for NTSC-DV it is 640x480.

Nice thing about DV is, that the compressed buffer-size
is always the same (144000Bytes(a)25Hz for PAL and
120000Bytes(a)30Hz for NTSC) - so you can "hardcode"
e.g. the BIComp.biSizeImage member - and also the
size of your ComprDVBytes() - readout-buffer.

And DrawDIBDraw is not really needed anymore - a
StretchDIBits directly from the (24Bit) DIBSection-
Pointer works well too - for even faster (and
high-quality) stretching to arbitrary sized Destination-
hWnds, you can also use DirectX, to upload your
DIBSection-content into a Texture-Surface first and
then DXBlit it from there to your window of choice.

Just post back here, if you have any problems on
your way (or, maybe in case of success too) :-)


Olaf