Skip to content
itsmattkc edited this page Apr 5, 2019 · 5 revisions

Oh Frei0r, we hardly knew ye...

Frei0r is not a bad standard at all. For what it is, it's a simple tight API for manipulating images. It's very lightweight and easy to implement. However it's quite an old standard (2004) and Olive is quite a modern program. Frei0r doesn't support any GPU acceleration, has no awareness of color spaces, has no support for HDR/high bit depth video, etc. and these are all things that Olive either supports now, or will support in the near future. The option becomes allowing users to cripple these features for Frei0r support or just not supporting Frei0r.

Frei0r was always kind of the black sheep of the pipeline. The vast majority of Olive's pipeline occurs in OpenGL/GPU space, but Frei0r effects are CPU only. Transporting back and forth between the CPU and GPU is very costly, so to conserve on processing time Frei0r effects are all performed before the frame gets sent to GPU space. This means the user is unable to order any GLSL effects before Frei0r effects. This also meant auto-generated clips like Titles and Solids could not have Frei0r effects applied. Additionally by the time GPU decoding is implemented, Frei0r effects would not be able to be applied at all.

For these reasons and more, Olive will be discontinuing Frei0r support within the next two months. At the end of the day, Frei0r is just image processing and a good chunk of Frei0r effects can (and probably will) be implemented in GLSL much faster and more future proof.

Apologies for any inconvenience this causes, but this will make a better Olive for the future.

For more information, watch the furtherocio branch. Frei0r support has been removed from it already and should be getting merged into master within the next month or two.