Found on: https://www.bergnet.org/2017/01/new-blog-old-downloads/ Original Thread: https://forum.doom9.org/showthread.php?t=79526 Info: 1) Introduction: ---------------- BergWave is a wavelet based video de-/encoding solution. The BergWave package currently consists of three parts: - libbw: the main video de-/encoding library - test: a simple example programm - vfw: video for windows interface 2) Licensing: ------------- The BergWave package is licensed under the terms of the GPL. 3) Info: -------- BergWave is working in yv12 colorspace. Color conversion functions where XviD taken from the XviD project, a open source MPEG 4 video codec (www.xvid.org). At the moment BergWave doesn't support delta frames, but that's on the doto list. To compress the yv12 image BergWave uses 5,3 wavelet transform with run length encoding. The values are coded by rice encoding. Every frame has n objects (wavelet image, motion vectors). The frame end is marked with a null object. Example: FRAME_HEADER - type = FRAME_TYPE_I + OBJECT_HEADER - type = OBJECT_TYPE_WAVELET - flags = OBJECT_FLAG_WAVELET_RLE + OBJECT_HEADER - type = OBJECT_TYPE NULL - flags = OBJECT_FLAG_NULL (not supported at the moment) FRAME_HEADER - type = FRAME_TYPE_P + OBJECT_HEADER - type = OBJECT_TYPE_MVECTORS - flags = OBJECT_FLAG_MVECTORS_BLOCK + OBJECT_HEADER - type = OBJECT_TYPE_HADAMARD - flags = OBJECT_FLAG_NULL + OBJECT_HEADER - type = OBJECT_TYPE_NULL - flags = OBJECT_FLAG_NULL 4) Todo: -------- - delta frames - motion vectors (block and perhaps mesh based) - perhaps other transforms (integer dct, hadamard, ...) - mmx and sse based wavelet transform - bitrate control - better vfw interface