Cineform RAW: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
m (more samples)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
*Whitepaper: http://www.cineform.com/technology/CineForm_RAW.htm
*Whitepaper: http://www.cineform.com/technology/CineForm_RAW.htm


Cineform RAW is a [[wavelet]] codec optimized for high visual fidelity and fast CPU performace.
Cineform is a [[wavelet]] codec optimized for high visual fidelity and fast CPU performace.
 
VC-5 is a separate codec that uses some components from Cineform but the two codecs are not backwards compatible (see https://medium.com/@kierank_/reverse-engineering-the-gopro-cineform-codec-7411312bfe1c)
 
Cineform covers a wide range of use-cases.
Currently the FFmpeg implementation supports YUV 4:2:2 10-bit, RGB 10/12-bit, RGBA 10/12-bit.
 
The FFmpeg decoder is quite slow - here are things that need to be done to make it fast:
 
* Add SIMD transform with different versions for clip and shift (see below)
* Merge prescale shift into transform (where necessary)
* Merge decompanding with VLC Tables or use a LUT
* Make transform happen inplace
 
Other TODOs:
 
* Bayer files
* Transform-type=2 files - seem to have more subbands and are different to normal (Cineform RAW and others)
 


[[Category:Video Codecs]]
[[Category:Video Codecs]]
[[Category:Wavelet Video Codecs]]
[[Category:Wavelet Video Codecs]]
[[Category:Formats missing in FFmpeg]]

Latest revision as of 07:07, 7 February 2016

Cineform is a wavelet codec optimized for high visual fidelity and fast CPU performace.

VC-5 is a separate codec that uses some components from Cineform but the two codecs are not backwards compatible (see https://medium.com/@kierank_/reverse-engineering-the-gopro-cineform-codec-7411312bfe1c)

Cineform covers a wide range of use-cases. Currently the FFmpeg implementation supports YUV 4:2:2 10-bit, RGB 10/12-bit, RGBA 10/12-bit.

The FFmpeg decoder is quite slow - here are things that need to be done to make it fast:

  • Add SIMD transform with different versions for clip and shift (see below)
  • Merge prescale shift into transform (where necessary)
  • Merge decompanding with VLC Tables or use a LUT
  • Make transform happen inplace

Other TODOs:

  • Bayer files
  • Transform-type=2 files - seem to have more subbands and are different to normal (Cineform RAW and others)