void WriteStrhHeaderStructure(RiffChunk chunk) { chunk.WriteFourCC(RiffAviFourCCCode.Vids); // 'vids' chunk.WriteFourCC(RiffAviFourCCCode.Dib); // 'DIB ' chunk.WriteDWORD(0); // flags chunk.WriteWORD(0); // priority chunk.WriteWORD(0); // language chunk.WriteDWORD(0); // initial frames chunk.WriteDWORD(1); // scale chunk.WriteDWORD(framesPerSecond); // rate chunk.WriteDWORD(0); // start strhFrameCountBookmark = chunk.WriteAndBookmarkDWORD(0); // frameCount chunk.WriteDWORD(width * height * 4); // suggested buffer size chunk.WriteDWORD(0); // quality chunk.WriteDWORD(0); // sample size chunk.WriteDWORD(0); // left chunk.WriteDWORD(0); // top chunk.WriteDWORD((ushort)width); // right chunk.WriteDWORD((ushort)height); // bottom }
void WriteStrfHeaderStructure(RiffChunk chunk) { chunk.WriteDWORD(40); // structure size - TOTAL structure size chunk.WriteDWORD(width); // width chunk.WriteDWORD(height); // height chunk.WriteWORD(1); // planes chunk.WriteWORD(32); // bits per pixel chunk.WriteDWORD(0); // compression ( BI_RGB == 0 ) chunk.WriteDWORD(width * height * 4); // size image - TODO chunk.WriteDWORD(0); // X pels per meter chunk.WriteDWORD(0); // Y pels per meter chunk.WriteDWORD(0); // clr used chunk.WriteDWORD(0); // clr important //NB: No colour table. }