CineForm is an open-source, wavelet-based video compression codec used by GoPro and other imaging teams. GoPro released CineForm as an open-source compression standard based on the 12-bit wavelet architecture. The CineForm codec is a 12-bit, full-frame, wavelet compression video codec published by GoPro to support its drone camera system. You can use it for YUV RAW or Bayer compressed 4:2:2 colorspace and then encode your images with either RGB or RGBA for 10 bits or RGBF (wavelet embedded in 4:4:4 RGB) to 12 bits.
Released as open-source in October 2017, the video codec was developed for CineForm Inc by David Taylor, David Newman, and Brian Schunck. On March 30, 2011, CineForm Inc was acquired by GoPro. The latter wanted to use the 3D film capabilities of the CineForm 444 Codec for its 3D HERO System.
The press release in the GoPro acquisition noted that CineForm's codec has been used in several major movies including Slumdog Millionaire and Need For Speed.
The CineForm Intermediate Codec was originally designed in 2002 for compressed Digital Intermediate workflows for film or television applications using HD or higher resolution media. The CineForm media is most commonly wrapped within AVI or MOV file types, using the 'CFHD' FOURCC code for all compressed media types.
All compression is based on an integer reversible wavelet compression kernel, with a non-linear quantizer to achieve higher compression. Compression data rates typically range from 10:1 to 3.5:1, based on quality settings. There is also an uncompressed mode for RAW files.
The codec uses a constant quality design, such that the data rate will vary based on the source image data. It shares some properties with other wavelet codecs, like JPEG 2000, yet it trades off some compression efficiency (larger file sizes) for greater decode and encodes performance. Currently, CineForm is only available as software implementations on Mac OS and Microsoft Windows platforms, however, a Linux SDK is available. FFmpeg is also capable of decoding CineForm files.
There is also the DPC format (also known as DPX-C), which is a DPX file header with or without an uncompressed DPX image part that is just containing a thumbnail. Then a compressed CineForm sample is attached to that file, containing the wavelet compressed image in full size. The format is being used in post-production when CineForm files need to be rendered by render farms. There are tools to split up CineForm AVI or MOV files into DPC file sequences, and vice versa, to reassemble CineForm MOV and AVI files from DPC sequences. These steps just copy data and do not reencode the images, thus they are extremely fast and do not cause iterative recompression artifacts.
There are plugins for Eyeon Fusion and The Foundry Nuke compositing systems to read and write the CineForm DPC, AVI, and MOV files natively. These plugins have been developed by Magna Mana Production.
CineForm is very stable for iterative recompression.
Compared to JPEG2000, CineForm has a slightly higher data rate at similar PSNRs (peak signal to noise ratios) with the benefit of being up to 7 times faster to encode/decode on the same hardware.
According to a GoPro press release, SMPTE has standardized the CineForm codec as the SMPTE ST 2073 VC-5 video compression standard. In practice, the VC-5 specification did not provide enough information to decode Cineform files and reverse engineering was necessary.
GoPro released CineForm as open-source in October 2017 dually licensed under the MIT License and the Apache License 2.0